CDN — কন্টেন্ট ডেলিভারি নেটওয়ার্ক
user-এর কাছাকাছি content পৌঁছানোর বিশ্বব্যাপী নেটওয়ার্ক।
ভাবুন — Netflix-এর সব ভিডিও যদি শুধু আমেরিকার একটি data center-এ থাকত, বাংলাদেশ থেকে দেখলে প্রতি সেকেন্ডে packet ১৫,০০০ কিমি যাত্রা করত। বাফারিং-এর কষ্ট, slow loading। কিন্তু বাস্তবে Netflix বাংলাদেশের ISP-এর কাছেই রাখা সার্ভার থেকে stream করে। এটাই CDN-এর জাদু।
CDN কী?
CDN (Content Delivery Network) = বিশ্বের বিভিন্ন প্রান্তে বিতরণকৃত সার্ভারের নেটওয়ার্ক যা user-এর ভৌগোলিকভাবে নিকটতম সার্ভার থেকে static content (HTML, CSS, JS, image, video) সার্ভ করে।
CDN কীভাবে কাজ করে?
- User
image.jpgrequest করে। - DNS user-এর geographic location অনুযায়ী নিকটতম edge server-এর IP দেয়।
- Edge server-এ image থাকলে (cache hit) — সরাসরি দেয়।
- না থাকলে (cache miss) — origin server থেকে আনে, cache করে, user-কে দেয়।
- পরের user-এর জন্য edge-এই থাকে — fast।
কেন CDN ব্যবহার করবেন?
- Latency কমে: User-এর কাছাকাছি = দ্রুত response।
- Origin offload: Origin server-এ trafic কম, cost কম।
- High availability: Origin down হলেও edge cache দেয়।
- DDoS protection: Edge layer attack absorb করে।
- Bandwidth saving: Origin থেকে কম data পাঠাতে হয়।
- Global reach: Asia, Europe, Africa — সব জায়গায় same speed।
Push vs Pull CDN
Push CDN
- আপনি content আগে থেকে CDN-এ upload করেন
- সব edge-এ pre-populate
- সুবিধা: প্রথম request-ও fast
- অসুবিধা: storage খরচ, sync complexity
- ব্যবহার: কম-update content
Pull CDN
- প্রথম request-এ origin থেকে fetch ও cache
- সুবিধা: সরল, auto-update
- অসুবিধা: প্রথম request slow
- ব্যবহার: dynamic site, normal use case
- সবচেয়ে কমন
কী cache হয়?
Static content (সহজ)
HTML, CSS, JS, image, video, PDF — পরিবর্তন কম। সরাসরি cache।
Dynamic content (কঠিন)
User-specific data (যেমন logged-in dashboard)। কিন্তু modern CDN edge compute (Cloudflare Workers, AWS Lambda@Edge) দিয়ে dynamic content-ও edge-এ generate করতে পারে।
Cache Invalidation
Origin-এ file update হলে CDN edge-এর পুরাতন version সরাতে হবে।
- TTL expiry: সবচেয়ে সরল — set TTL, auto-expire।
- Manual purge: CDN dashboard থেকে specific URL purge।
- Cache busting: URL-এ version (
app.v2.css,app.css?v=123)। - Stale-while-revalidate: Stale serve, background-এ refresh।
জনপ্রিয় CDN providers
- Cloudflare: Free tier আছে, DDoS protection, 300+ city POP।
- AWS CloudFront: AWS ecosystem-এর সাথে integrated।
- Akamai: Enterprise leader, biggest network।
- Fastly: Real-time configuration, developer-friendly।
- Bunny CDN: Affordable, performance-focused।
বাস্তব উদাহরণ
- Netflix: Open Connect — ISP-এর ভিতরে server install।
- YouTube: Google Global Cache (GGC) ISP-এ।
- Wikipedia: Multiple data center + Varnish।
- Facebook: Edge POP নেটওয়ার্ক।
সাধারণ ভুল ধারণা
- "CDN শুধু image-এর জন্য": না, video, JS, HTML, এমনকি API response-ও cache করা যায়।
- "CDN setup মানেই সব fast": না, cache hit ratio গুরুত্বপূর্ণ। Wrong cache header-এ low hit হয়।
- "CDN ছাড়া modern site চলবে": চলবে — কিন্তু প্রতিযোগিতায় টিকবে না।
Best Practices
- Versioned URL —
app.[hash].js— long TTL দেওয়া যায়। Cache-Control: public, max-age=31536000, immutablestatic asset-এ।- HTML page-এ কম TTL (5min) বা
no-cache। - HTTPS অবশ্যই — modern CDN HTTPS দেয়।
- Gzip/Brotli compression enable করুন।
📌 চ্যাপ্টার সারমর্ম
- CDN বিশ্বব্যাপী edge server-এ content cache করে।
- User-এর কাছাকাছি = দ্রুত delivery।
- Push CDN pre-populate; Pull CDN on-demand fetch।
- Cache invalidation TTL, manual purge, বা versioned URL দিয়ে।
- Cloudflare, AWS CloudFront, Akamai — top providers।