Blog članak

Što je CDN i kako radi

Saznajte kako CDN ubrzava web stranice, smanjuje opterećenje origin servera i povećava otpornost tako što sadržaj isporučuje s edge lokacija bližih korisnicima.

CDN odnosno Content Delivery Network globalna je mreža servera koja krajnjim korisnicima brže isporučuje web sadržaj tako što kopije datoteka, poput slika, pohranjuje na lokacijama geografski bližima korisnicima koji taj sadržaj traže. Korištenjem CDN-a web stranice smanjuju opterećenje svojih origin servera, što im omogućuje da posluže više korisnika bez straha od preopterećenja. CDN-ovi poboljšavaju korisničko iskustvo jer doprinose bržem učitavanju stranica, a poboljšavaju i sigurnost webova jer pomažu ublažiti učinke distributed denial of service (DDoS) napada i omogućuju uvođenje dodatnih sigurnosnih proxy slojeva kroz samu mrežu isporuke sadržaja.

Prednosti CDN-ova

Neke od prednosti korištenja Content Delivery Networka uključuju:

  • Smanjenje vremena učitavanja web stranica i aplikacija: кешiranjem kopija statičkih datoteka i njihovom isporukom sa servera koji su bliže krajnjim korisnicima, vrijeme učitavanja se smanjuje. Time se poboljšava korisničko iskustvo, a postoje i dodatne koristi poput boljeg search engine optimizationa jer tražilice uzimaju performanse web stranice u obzir pri rangiranju.

  • Zaštita od DDoS-a i drugih napada: CDN-ovi štite origin server web stranice od DDoS napada i drugih prijetnji tako što pomažu sustavu da podnese povećan promet. Uz to se na CDN mogu postaviti i drugi sigurnosni alati, primjerice firewall, između zlonamjernog korisnika i web stranice.

  • Bolja skalabilnost: Content Delivery Network omogućuje da web stranice i aplikacije brzo skaliraju jer CDN može apsorbirati prometne skokove bez da web mora značajno povećavati kapacitet origin servera.

  • Smanjeni troškovi bandwidtha i hostinga: kako CDN kešira dio web sadržaja, smanjuje količinu bandwidtha potrebnog na origin ili host serveru. Troškovi bandwidtha ovise o hosting provideru, ali mogu biti skupi i nepredvidivi, pa CDN često smanjuje hosting troškove.

  • Manje downtimea: visok uptime je ključan za tvrtke koje se oslanjaju na web stranicu ili aplikaciju za generiranje prihoda, poput Software as a Service aplikacija i eCommerce trgovina. CDN pomaže spriječiti downtime kroz ranije spomenute sigurnosne mjere, a ponekad može isporučiti i keširanu verziju stranice ako je origin server nedostupan.

Danas postoji nekoliko vrsta CDN-ova, uključujući mreže koje vode telekom kompanije i privatne CDN-ove izgrađene za potrebe jedne kompanije. Facebook je primjer tvrtke koja je zbog globalne prisutnosti i goleme količine sadržaja izgradila vlastitu Content Delivery Network mrežu. Ipak, većina tvrtki i pojedinaca danas će koristiti komercijalni CDN poput AWS CloudFronta, Cloudflarea ili Fastlyja. Iako svaki provider ima poneke specifične značajke, svi CDN-ovi rade na istim osnovnim principima.

Kako CDN radi

U središtu Content Delivery Networka, koji se ponekad naziva i edge mrežom, nalazi se skup Points of Presence odnosno PoP lokacija, to jest grupa servera raspoređenih na više mjesta diljem svijeta. Serveri unutar svakog PoP-a nazivaju se edge serverima jer su u odnosu na origin server, koji hosta punu verziju web stranice ili softvera, smješteni na rubu mreže bliže krajnjem korisniku. CDN-ovi se razlikuju po broju PoP-ova. Neki imaju tisuće lokacija na svim kontinentima, a drugi su koncentrirani na ključna područja koja opslužuju.

Edge serveri imaju više uloga, uključujući hostanje keširanih datoteka radi boljih performansi i zaštitu origin servera tako što promet prvo usmjeravaju na CDN umjesto direktno na origin. CDN-ovi mogu hostati različite softverske alate za performanse i sigurnost jer edge serveri djeluju kao reverse proxy sloj koji presreće web promet i obrađuje ga prema pravilima definiranima kroz softver instaliran na edge serveru. Iako su CDN-ovi najpoznatiji po cacheanju sadržaja, mogu hostati i softver za detekciju prijetnji, alate za resizeanje slika i još mnogo toga.

Kako CDN-ovi keširaju sadržaj

Svaki edge server hosta keširane kopije web sadržaja, najčešće statičkih datoteka poput slika ili tekstualnih datoteka. Kada korisnik posjeti web stranicu ili pristupi nekom softveru, Content Delivery Network ga automatski usmjerava prema najbližem PoP-u i isporučuje keširani sadržaj s te lokacije umjesto da ga šalje na možda udaljeniji origin server. Taj korak ubrzava web i smanjuje broj zahtjeva koji dolaze do origina, pa origin može više resursa posvetiti dinamičkom sadržaju koji je teže keširati.

CDN network diagram
Single-server delivery on the left · CDN distribution on the right

Ta vrsta cacheanja naziva se server-side caching, a može se postaviti i bez Content Delivery Networka, primjerice kroz programe poput Varnish Cachea koji sjede ispred origin servera. Ipak, kada se server-side caching koristi zajedno s CDN-om, webovi mogu postići još bolje performanse. Druga poznata metoda je client-side odnosno browser caching, pri čemu se kopije datoteka pohranjuju u korisnikov preglednik. To znači da će se pri ponovnom posjetu neke datoteke, primjerice logotip, učitavati još brže. Većina webova koristi kombinaciju browser cacheanja i server-side cacheanja, najčešće kroz CDN, kako bi postigla što bolje brzine učitavanja.

Kako bi datoteke poslužene s CDN-a bile ažurne, web stranice definiraju pravila koja cache mehanizmu govore kada sadržaj istječe. Ako CDN utvrdi da je datoteka istekla, ponovno će je dohvatiti s origin servera prvi put kada je netko zatraži. To se zove “cache pull” i korisno je jer CDN tada traži datoteke samo kada su stvarno potrebne. Druga tehnika zove se “cache push”, kada web stranica proaktivno kaže cacheu da osvježi datoteke. To može biti korisno za velike datoteke ili kada web istovremeno ažurira većinu sadržaja pa želi biti siguran da je cache sinkroniziran.

Kako CDN-ovi poboljšavaju sigurnost web stranica

Osim što poboljšavaju performanse, Content Delivery Network mreže poboljšavaju i sigurnost web stranica tako što otkrivaju prijetnje, blokiraju zlonamjeran promet i štite origin server od napada. Kada promet ne ide direktno na origin, origin server je bolje zaštićen od Distributed Denial of Service napada u kojima napadači pokušavaju srušiti web slanjem ogromne količine prometa odjednom. CDN-ovi taj promet raspoređuju kroz više PoP lokacija pa lakše podnose opterećenje, a često uključuju i alate koji dodatno pomažu u obrani od DDoS-a i drugih prijetnji.

Drugi sigurnosni alati koje mnogi CDN-ovi nude uključuju firewalle i napredni softver za detekciju prijetnji koji sprječava da štetan promet dođe do origina. Firewall nadzire promet i blokira određene zahtjeve na temelju pravila, primjerice IP adresa, dok napredniji firewall može analizirati sadržaj paketa podataka ili graditi pametna pravila za prepoznavanje prijetnji. CDN-ovi mogu nuditi i alate za ublažavanje štetnih botova, zaštitu API-ja te upravljanje TLS/SSL certifikatima, čime se osigurava da je promet šifriran. Sve to pomaže da web ostane online, da se prijetnje brzo zaustave i da sigurnosni incidenti ne ugroze reputaciju brenda.

Kako odabrati CDN

Postoji mnogo CDN rješenja i svaka tvrtka ili pojedinac mogu imati drugačije potrebe i prioritete. Kada razmišljate koji Content Delivery Network koristiti, uzmite u obzir sljedeće:

  • CDN use case: ovisno o funkciji vaše web stranice ili aplikacije, možda isporučujete različite vrste sadržaja. Ako planirate keširati uglavnom statički sadržaj poput slika, većina CDN-ova će zadovoljiti potrebe. Ako želite keširati dinamički sadržaj ili personalizirane assete, provjerite može li CDN to dobro podržati.

  • PoP mreža: CDN-ovi su prije svega namijenjeni bržoj isporuci krajnjim korisnicima pa je lokacija PoP-ova ključna. Ako većina prometa dolazi iz jedne regije, odaberite CDN koji ima PoP ili više njih u toj regiji. Ako je promet globalan, tražite mrežu s mnogo PoP lokacija diljem svijeta.

  • Dostupne značajke: Content Delivery Network može uključivati stotine proizvoda za sigurnost, performanse i skalabilnost. To ide od osnovnog cacheanja do optimizacije slika, naprednih firewalla i puno više. Pri odabiru usporedite ponuđene proizvode s vlastitim prioritetima. Ako vam je sigurnost najveća briga, tražite CDN s jakim sigurnosnim setom alata.

  • Korisničko iskustvo: iako su CDN-ovi standardan alat, korisničko iskustvo jako varira. Neki nude ograničena ili kompleksna sučelja, dok drugi imaju intuitivne dashboarde i API-je koje je lako uklopiti u postojeće workflowe. Neki provideri nude i potpuno managed uslugu pa vam setup i održavanje u velikoj mjeri skidaju s leđa.

  • Cijena: trošak i pricing model CDN-a važni su u svakoj odluci o kupnji. Dok neki CDN-ovi nude besplatne ili jeftine planove za osnovne potrebe cacheanja i sigurnosti, enterprise rješenja mogu koštati tisuće dolara mjesečno. Mnogi naplaćuju i prema alatima koje koristite i prema prometu koji prolazi kroz mrežu, pa je važno u procjenu uključiti sve funkcije koje trebate i predvidjeti što se događa ako promet poraste.

  • Podrška i dokumentacija: kao i kod drugih cloud rješenja i softverskih alata, podrška CDN providera može varirati od community foruma do email podrške i namjenskih predstavnika. Procijenite želite li sami rješavati probleme ili vam je važniji češći pristup podršci. Pogledajte kvalitetu dokumentacije i razinu podrške, kao i dodatne troškove premium podrške.

  • Kompatibilnost: neki CDN-ovi bolje odgovaraju određenim content management sustavima ili softverskim arhitekturama. Primjerice, neki imaju pluginove koji lako rade s website builderima. Prije odabira provjerite kako će CDN raditi s vašim postojećim setupom i ostalim alatima koje koristite.

Zaključak

Content Delivery Network vrijedan je alat koji se koristi zajedno s cloud providerom ili hosting okruženjem. CDN može poboljšati performanse i sigurnost web stranica i aplikacija, smanjiti hosting troškove i osigurati da krajnji korisnici imaju dobro iskustvo. Mnogi moji klijenti koriste CDN uz hosting pa ako trebate pomoć, javite mi se.

Povezane usluge

Ove su usluge usklađene s temom članka i daju čišći prijelaz od edukativnog sadržaja do konkretne implementacije.

Nastavite čitati

Prvo po zajedničkim kategorijama, a zatim po najjačem preklapanju u tagovima.