Ce este un CDN - Content Delivery Network
Descifrăm un alt jargon: rețeaua (de servere) ce livrează de conținut
Un Content Delivery Network, sau o rețea de livrare de conținut, este o rețea de servere, distribuite global al cărui scop este să livreze conținutul static pe un sait web sau pentru descărcare directă.
Toate saiturile de pe web, au componente statice - respectiv conținut care se schimbă foarte rar sau deloc: imagini, video, stiluri, pagini html. Și bucăți dinamice: pagina contul meu, pagina cu lista de comenzi sau pagina cu mesajele primite.
Diferența majoră dintre aceste tipuri de resurse este TTL-ul sau cât de des se schimbă.
De exemplu, lista de mesaje din pagina cu mesajele primite se schimbă ori de câte ori primesc un mesaj nou, însă un video pe pagina unei platforme ca YouTube, nu se schimbă odată ce a fost publicat.
Pentru a scala și a mări disponibilitatea unui sait web se face de obicei o diferențiere între aceste două tipuri de resurse, respectiv unele servere sunt rezervate și optimizate pentru a servi conținutul dinamic - plasate în același datacenter cu baza de date de exemplu. Iar alte servere sunt rezervate pentru a distribui conținutul static și sunt distribuite în datacentere de pe glob, mai aproape fizic de utilizatori pentru a scădea latența și timpii de descărcare.
Acestea din urmă, sunt rețeaua CDN, și sunt optimizate pentru a distribui conținutul static.
Un server de cdn, când primește o cerere verifică dacă respectivul fișier este disponibil în memorie sau pe disc, iar dacă nu este disponibil trimite cererea către un server de origine, de unde va descărca acel conținut. Așadar un server cdn, își construiește un cache local din conținutul pe care utilizatorii saitului îl cer, și fiind zonal, conținutul este specific regiunii care o deservește.
În consecință, un server cdn al platformei Youtube din Mexic va avea în cache mult mai mult conținut media în limba spaniolă, pe când un server cdn localizat în Franța va prinde mai mult media în limba franceză. Prin această metodă, încărcarea serverului origine este distribuită în funcție de regiune.
Pentru soluții de infrastructură, gata optimizată și configurată pentru un CDN, poți folosi servicii ca: Amazon CloudFront, Azure CDN, Google Cloud CDN, BlazingCDN sau Bunny.net.
În cazul Bunny.net este foarte simplu de configurat un CDN: Definești un Pull zone: adică un nume de domeniu pentru cdn și adresa serverului de origine. Tot ce-ți mai rămâne de făcut este să schimbi url-urile din websait către adresa cdn-ului:
<script src="https://moustacios.b-cdn.net/script.js"/>
<link href="https://moustacios.b-cdn.net/stiluri.css" rel="stylesheet"/>
Apoi, aceste două resurse statice vor fi servite de către un server optimizat pentru CDN.
Surse: