আপনার কি Image CDN প্রয়োজন, নাকি ভালো ফাইল?
Image CDN-গুলি এমন একটি বাস্তব সমস্যার সমাধান করে যা বেশিরভাগ ছোট সাইটের থাকে না। কখন এর মাসিক ফি দেওয়া সার্থক, এবং কখন নয়।
একটি image content delivery network (CDN) এর মাসিক ফি দেওয়া তখনই সার্থক যখন আপনার ক্যাটালগ ক্রমাগত পরিবর্তিত হয়, যখন আপনি প্রতিটি ছবির অনেকগুলো ভেরিয়েন্ট ব্যবহার করেন, অথবা যখন কী আপলোড করা হচ্ছে তার ওপর আপনার কোনো নিয়ন্ত্রণ থাকে না। যদি আপনার ছবিগুলো খুব কমই পরিবর্তিত হয় এবং আপনি সেগুলোর প্রদর্শনের আকার জানেন, তবে আপনি এমন একটি সমস্যার সমাধানের জন্য প্রতি মাসে অর্থ প্রদান করছেন যা আপনি একবারেই সমাধান করতে পারতেন।
একটি image CDN চাহিদা অনুযায়ী ছবির আকার পরিবর্তন (resize), ফরম্যাট পরিবর্তন (reformat) এবং ক্যাশ (cache) করে, যার ফলে একটিমাত্র মূল ছবি থেকে প্রতিটি ভিজিটরের প্রয়োজন অনুযায়ী যেকোনো আকার এবং ফরম্যাট তৈরি করা যায়। এটি সঠিক পরিস্থিতিতে সত্যিই দরকারী এবং অন্যান্য ক্ষেত্রে অপ্রয়োজনীয়, এবং এই পার্থক্যটি নির্ভর করে আপনার ছবিগুলো কত ঘন ঘন পরিবর্তিত হয় তার ওপর।
একটি image CDN আসলে কী করে
একটি image CDN ৩টি কাজ করে: এটি চাহিদা অনুযায়ী আকার পরিবর্তন করে, ব্রাউজার অনুযায়ী ফরম্যাট রূপান্তর করে এবং ভিজিটরের কাছাকাছি স্থানে ফলাফল ক্যাশ করে রাখে। প্রতিটি কাজ এমন সব পরিশ্রমকে প্রতিস্থাপন করে যা অন্যথায় আপনাকে আগে থেকেই করতে হতো।
চাহিদা অনুযায়ী আকার পরিবর্তনের অর্থ হলো একটি মূল ছবি অ্যাড্রেসের প্যারামিটারের মাধ্যমে প্রতিটি ভেরিয়েন্ট তৈরি করে। ফরম্যাট রূপান্তরের অর্থ হলো একই অ্যাড্রেস যে ব্রাউজার সমর্থন করে তাকে AVIF এবং যা করে না তাকে JPEG প্রদান করে। ক্যাশিংয়ের অর্থ হলো যেকোনো ভেরিয়েন্টের জন্য দ্বিতীয় অনুরোধটি আপনার সার্ভারের পরিবর্তে ভিজিটরের কাছাকাছি কোনো অবস্থান থেকে পরিবেশন করা হয়।
কখন একটি CDN তার খরচের মূল্য দেয়
- ব্যবহারকারীর আপলোড করা কনটেন্ট। ভিজিটররা যখন ফাইল আপলোড করেন তখন আপনি সেগুলোর মাত্রা (dimensions) বা ফরম্যাট নিয়ন্ত্রণ করতে পারেন না।
- বড় এবং পরিবর্তনশীল ক্যাটালগ। মাসে শত শত পণ্য যোগ করা একটি দোকান প্রতিটি ব্যাচ হাতে ধরে প্রসেস করতে পারে না।
- প্রতিটি ছবির অনেক ভেরিয়েন্ট। একটি ডিজাইনে প্রতিটি ছবির ৬টি আকারের প্রয়োজন হলে ম্যানুয়াল কাজ ৬ গুণ বেড়ে যায়।
- বিশ্বব্যাপী দর্শক। অন্য মহাদেশের ভিজিটরদের সেবা দেওয়ার ক্ষেত্রে ছবি পরিচালনার ধরন যাই হোক না কেন, এজ ক্যাশিং (edge caching) থেকে সুবিধা পাওয়া যায়।
- নির্দিষ্ট ওয়ার্কফ্লো ছাড়া টিম। যেখানে বেশ কয়েকজন মানুষ পাবলিশ করেন এবং কেউ কোনো স্পেসিফিকেশন অনুসরণ করেন না, সেখানে নির্দেশনার চেয়ে অটোমেশন বেশি নির্ভরযোগ্য।
কখন একটি CDN অপ্রয়োজনীয়
একটি স্থিতিশীল ইমেজ লাইব্রেরি এবং জানা প্রদর্শনের আকার সহ একটি সাইট image CDN থেকে প্রায় কিছুই লাভ করে না। অপ্টিমাইজেশন একবারই করা হয় এবং ফাইলগুলো অনির্দিষ্টকালের জন্য অপ্টিমাইজড থাকে।
মার্কেটিং সাইট, পোর্টফোলিও, ডকুমেন্টেশন, ব্লগ এবং ছোট দোকানগুলো সাধারণত এই গ্রুপের মধ্যে পড়ে। ছবিগুলো বছরে কয়েকবার পরিবর্তিত হয়, লেআউটটি নির্দিষ্ট থাকে এবং প্রদর্শনের আকারগুলো জানা থাকে। লাইব্রেরিটি একবার প্রসেস করে বিদ্যমান হোস্টিং থেকে পরিবেশন করলে মাসিক সাবস্ক্রিপশনের মতোই একই ফলাফল পাওয়া যায়, যেখানে কম জটিলতা থাকে এবং ডেলিভারি পাথে কোনো তৃতীয় পক্ষের প্রয়োজন হয় না।
২টি পদ্ধতির তুলনা
| বিষয় | Image CDN | আগে থেকে প্রসেস করা |
|---|---|---|
| চলতি খরচ | মাসিক ফি, সাধারণত ব্যবহারের ওপর ভিত্তি করে | নেই |
| সেটআপের পরিশ্রম | মাঝারি, ইন্টিগ্রেশন প্রয়োজন | কম, একটি ব্যাচ |
| নতুন আপলোড পরিচালনা | স্বয়ংক্রিয়ভাবে | প্রতিবার একই প্রক্রিয়ার প্রয়োজন হয় |
| ফরম্যাট রূপান্তর | ব্রাউজার অনুযায়ী স্বয়ংক্রিয় | একবার সিদ্ধান্ত নেওয়া হয়, ফলব্যাক সহ |
| সার্ভিস ব্যর্থ হলে কাজ করে কি | ছবি লোড নাও হতে পারে | ছবি আপনার নিজস্ব হোস্ট থেকে লোড হয় |
| পরিবর্তনশীল ক্যাটালগের জন্য উপযুক্ত | খুব ভালো | দুর্বল |
| স্থিতিশীল লাইব্রেরির জন্য উপযুক্ত | অতিরিক্ত (Overkill) | খুব ভালো |
যে নির্ভরশীলতার বিষয়টি ভাবা উচিত
একটি image CDN ডেলিভারি পাথে থাকে, তাই একটি বিভ্রাট (outage) বা বিলিং সমস্যা আপনার সাইটের প্রতিটি ছবি একবারে সরিয়ে দিতে পারে। ঝুঁকিটি ছোট কিন্তু এর পরিণতি সম্পূর্ণ।
মূল্য পরিবর্তনের ক্ষেত্রেও একই রকম গুরুত্ব রয়েছে, কারণ যে সার্ভিসের অ্যাড্রেসগুলো হাজার হাজার পৃষ্ঠায় লেখা রয়েছে তা থেকে অন্য কোথাও চলে যাওয়া এটি গ্রহণ করার চেয়ে কঠিন। যেখানে CDN সঠিক পছন্দ, সেখানে মূল ফাইলগুলো আপনার নিজস্ব নিয়ন্ত্রণে রাখুন এবং এমন অ্যাড্রেস তৈরি করা এড়িয়ে চলুন যা কেবল একটি প্রোভাইডারই পরিবেশন করতে পারে।
কীভাবে সিদ্ধান্ত নেবেন
২টি পদ্ধতির মধ্যে বেছে নিতে এই ৫টি প্রশ্নের উত্তর দিন।
- আপনার ছবিগুলো কত ঘন ঘন পরিবর্তিত হয়? সাপ্তাহিক বা তার চেয়ে বেশি হলে CDN-এর পক্ষে যায়।
- ভিজিটর বা কর্মীরা কি কোনো স্পেসিফিকেশন অনুসরণ না করে ছবি আপলোড করেন? উত্তর হ্যাঁ হলে, CDN-কে প্রাধান্য দিন।
- প্রতিটি ছবির কতগুলো আকারের প্রয়োজন? ৩টির বেশি হলে CDN-এর পক্ষে যায়।
- আপনার দর্শক কি একটি অঞ্চলে সীমাবদ্ধ নাকি বিশ্বব্যাপী ছড়িয়ে রয়েছে? বিশ্বব্যাপী হলে CDN-এর পক্ষে যায়।
- একজন ব্যক্তি কি এক বিকেলেই পুরো লাইব্রেরি প্রসেস করতে পারেন? উত্তর হ্যাঁ হলে, তার পরিবর্তে সেটিই করুন।
বেশিরভাগ ছোট এবং মাঝারি সাইট শেষ প্রশ্নের উত্তর হ্যাঁ দেয়, যা বিষয়টি মীমাংসা করে দেয়। ক্যাটালগ যখন আপনার হাতে প্রসেস করার ক্ষমতার চেয়ে বড় হয়ে যাবে, তখন সিদ্ধান্তটি পুনরায় বিবেচনা করুন।
একটি CDN ব্যবহার করলেও আপনাকে যা করতে হবে
একটি CDN প্রদর্শনের আকার নির্ধারণ করে না, এবং সঠিকভাবে আকারের ছবি পরিবেশন করা আপনার দায়িত্বই থেকে যায়। একটি 600 pixel স্লটের জন্য একটি 3000 pixel ভেরিয়েন্টের অনুরোধ করা আগের মতোই ব্যান্ডউইথ অপচয় করে।
পরিষেবাটি আপনার সরবরাহ করা যেকোনো মূল ছবি থেকেই কাজ করে, তাই একটি দুর্বলভাবে কম্প্রেস করা বা ভুলভাবে ক্রপ করা সোর্স থেকে দুর্বল ভেরিয়েন্টই তৈরি হবে। উভয় পদ্ধতিতেই একটি ভালো মূল ছবি আপলোড করা গুরুত্বপূর্ণ। একটি CDN যা দূর করে তা হলো আকার তৈরি করার পুনরাবৃত্তিমূলক কাজ, আকার নিয়ে চিন্তা করার প্রয়োজনীয়তা নয়।
সাধারণত image CDN-এর খরচ কেমন হয়
মূল্য নির্ধারণ সাধারণত ইউনিক ট্রান্সফরমেশনের সংখ্যা, পরিবেশন করা ব্যান্ডউইথ বা উভয়ের ওপর ভিত্তি করে হয়, যা ট্রাফিক স্পাইক সহ সাইটে খরচকে অপ্রত্যাশিত করে তোলে। ফ্রি টিয়ার রয়েছে এবং প্রথম ব্যস্ত মাসেই সাধারণত তা ছাড়িয়ে যায়।
দুটি বিবরণ সাইটের মালিকদের অপ্রস্তুত করে ফেলে। আকার, ফরম্যাট এবং কোয়ালিটির প্রতিটি কম্বিনেশন একটি আলাদা ট্রান্সফরমেশন হিসেবে গণ্য হয়, তাই একটি রেসপনসিভ ডিজাইন যা ৩টি ফরম্যাটে ৪টি প্রস্থের অনুরোধ করে, তা একটি ছবি থেকে ১২টি বিলযোগ্য ভেরিয়েন্ট তৈরি করে। ক্যাশ এক্সপায়ারি পরবর্তীতে সেই ভেরিয়েন্টগুলোর কিছু অংশ পুনরায় তৈরি করে। মূল হেডলাইন প্রাইসের চেয়ে আপনার আসল ছবির সংখ্যা এবং ভেরিয়েন্টের সংখ্যার বিপরীতে খরচ হিসাব করুন।
একটি হাইব্রিড পদ্ধতি যা ভালো কাজ করে
আপনার নির্দিষ্ট ছবিগুলো আগে থেকেই প্রসেস করুন এবং কেবল ব্যবহারকারীর আপলোড করা কনটেন্ট একটি সার্ভিসের মাধ্যমে রুট করুন। বেশিরভাগ সাইটে উভয় ধরনের ছবিই থাকে এবং সেগুলোকে একইভাবে বিবেচনা করা হয়, যেখানেই অপচয়টি ঘটে।
মার্কেটিং পেজ, প্রোডাক্ট ফটোগ্রাফি এবং আর্টিকেলের ছবি খুব কমই পরিবর্তিত হয় এবং একবারই অপ্টিমাইজ করা যায়। গ্রাহকদের রিভিউয়ের ছবি, প্রোফাইল পিকচার এবং কমিউনিটি সাবমিশন ক্রমাগত অপ্রত্যাশিত আকারে আসে এবং সেগুলোর জন্য সত্যিই অটোমেশনের প্রয়োজন হয়। ২টিকে আলাদা করলে সাবস্ক্রিপশন ছোট থাকে, কারণ ব্যবহারের ওপর ভিত্তি করে নির্ধারিত মূল্য তখন আপনার সমস্ত ছবির পরিবর্তে কেবল একটি অংশের জন্য প্রযোজ্য হয়।
মাঝারি বিকল্প যা বেশিরভাগ সাইট উপেক্ষা করে
বেশিরভাগ কনটেন্ট সিস্টেম ইতিমধ্যেই আপলোডের সময় একাধিক আকার তৈরি করে, যা একটি CDN ফিচার এবং এর জন্য আপনি হয়তো দুইবার অর্থ প্রদান করছেন। WordPress, Shopify এবং বেশিরভাগ সাইট বিল্ডার স্বয়ংক্রিয়ভাবে বেশ কয়েকটি ভেরিয়েন্ট তৈরি করে।
যেকোনো কিছু সাবস্ক্রাইব করার আগে আপনার প্ল্যাটফর্ম কী করে তা পরীক্ষা করে দেখুন। যদি এটি ইতিমধ্যেই রেসপনসিভ আকার তৈরি করে এবং WebP পরিবেশন করে, তবে একটি CDN-এর অবশিষ্ট সুবিধা হলো এজ ক্যাশিং এবং ফরম্যাট নেগোশিয়েশন, যা আঞ্চলিক দর্শক সহ সাইটের জন্য অনেক কম গুরুত্বপূর্ণ। এটি পরীক্ষা করতে ২ মিনিট সময় লাগে এবং মাঝে মাঝে সাবস্ক্রিপশনের প্রয়োজনীয়তা সম্পূর্ণভাবে দূর করে দেয়।
আপনার নিজস্ব হোস্টিংয়ে ব্যান্ডউইথ খরচ
সঠিক আকারের ছবি হোস্টিং ব্যান্ডউইথ ৬০ থেকে ৯০ শতাংশ কমিয়ে দেয়, যা প্রায়শই CDN-এর খরচের যুক্তিকে দূর করে দেয়। সাইটগুলো ভিজিটরের সংখ্যার চেয়ে অতিরিক্ত বড় আকারের ছবির কারণে ব্যান্ডউইথ সীমায় পৌঁছায়।
ক্যাপাসিটির জন্য CDN প্রয়োজন বলে ধরে নেওয়ার আগে বর্তমান সংখ্যাটি হিসাব করুন। মাসে ১০০০০ ভিজিটরকে ৪ MB পেজ পরিবেশন করা একটি সাইট ৪০ GB ডেটা স্থানান্তর করে। একই সাইট ৮০০ KB পেজ পরিবেশন করলে ৮ GB স্থানান্তর করে, যা প্রায় যেকোনো হোস্টিং প্ল্যানের মধ্যে সহজেই ফিট করে। অপ্টিমাইজেশন ক্যাপাসিটির সমস্যা এবং স্পিডের সমস্যা একসাথেই সমাধান করে।
সাবস্ক্রাইব করার পরিবর্তে একটি লাইব্রেরি প্রসেস করা
লাইব্রেরিটি একবার রূপান্তর এবং আকার পরিবর্তন করুন, এটি আপনার বিদ্যমান হোস্ট থেকে পরিবেশন করুন এবং ক্যাটালগ বড় হলে সিদ্ধান্তটি পুনরায় বিবেচনা করুন। বেশিরভাগ সাইটের জন্য এই কাজটি করতে এক বিকেল সময় লাগে এবং ডিজাইন পরিবর্তন না হওয়া পর্যন্ত এটি পুনরাবৃত্তি করতে হয় না।
একবারে ৫০০টি পর্যন্ত ফাইল ড্রপ করুন, অথবা সরাসরি একটি ZIP আর্কাইভ ড্র্যাগ করুন এবং পুরো সেটের জন্য প্রস্থ, ফরম্যাট এবং সাইজ টার্গেট সেট করুন। সবকিছু আপনার নিজস্ব প্রসেসরে আপনার ব্রাউজারের ভেতরে চলে, তাই ক্লায়েন্ট লাইব্রেরি এবং অপ্রকাশিত অ্যাসেট কখনো সার্ভারে পৌঁছায় না। কোনো সাবস্ক্রিপশন শুরু হয় না, আপনার ডেলিভারি পাথে কোনো তৃতীয় পক্ষ যোগ দেয় না এবং ফাইলগুলো সম্পূর্ণভাবে আপনার নিয়ন্ত্রণেই থাকে।
প্রস্থ, ফরম্যাট এবং কোয়ালিটি নম্বর সহ আপনার ব্যবহৃত সেটিংসগুলো লিখে রাখুন। পরবর্তী ব্যাচের ছবিগুলো তখন স্পেসিফিকেশন নিয়ে পুনরায় কাজ না করেই বিদ্যমান লাইব্রেরির সাথে মিলে যাবে, এবং টিমে যোগ দেওয়া নতুন কোনো ব্যক্তির সিদ্ধান্ত নেওয়ার পরিবর্তে অনুসরণ করার জন্য একটি নিয়ম থাকবে। সেই লিখিত স্পেসিফিকেশনটিই একটি image CDN বিক্রি করে, এবং একটি স্থিতিশীল সাইটে এটি নিজে বজায় রাখতে কোনো খরচ হয় না।