CDN ili Content Delivery Network je globalna mreža poslužitelja koja brže pslužuje web sadržaj krajnjim korisnicima pohranjivanjem kopija datoteka kao što su slike na lokacijama koje su geografski bliže korisnicima koji traže taj sadržaj. Korištenjem CDN-a web-mjesta smanjuju opterećenje svojih izvornih poslužitelja, što im može omogućiti da opslužuju više korisnika bez straha od preopterećenja svojih poslužitelja. CDN-ovi poboljšavaju korisničko iskustvo doprinoseći bržem učitavanju web-mjesta, a također poboljšavaju sigurnost web-mjesta omogućavajući im ublažavanje utjecaja distribuiranih napada uskraćivanja usluge (DDoS) i dajući im mogućnost instaliranja dodatnih sigurnosnih proxyja kroz CDN.
Prednosti CDN-ova
Neke od prednosti korištenja mreže za isporuku sadržaja uključuju:
-
Brže vrijeme učitavanja web-stranice i aplikacije: Predmemoriranjem kopija statičkih datoteka i isporukom s poslužitelja koji su krajnjim korisnicima bliže, vrijeme učitavanja web-mjesta se smanjuje. To poboljšava korisničko iskustvo i ima druge prednosti, kao što je povećanje optimizacije za tražilice, budući da tražilice uzimaju u obzir performanse web stranice prilikom rangiranja stranica.
-
Zaštita od DDoS-a i drugih napada: CDN-ovi štite izvorni poslužitelj web-mjesta od DDoS napada i drugih prijetnji omogućavajući web-lokacijama upravljanje povećanim prometom. Osim toga, drugi sigurnosni alati kao što su vatrozidovi mogu se instalirati na CDN i sjediti između zlonamjernog korisnika i web stranice.
-
Bolja skalabilnost: Mreže za isporuku sadržaja omogućuju web-mjestama i aplikacijama da se brzo povećaju, budući da CDN-ovi mogu podnijeti skokove prometa, a da web-mjesta ne moraju značajno povećati kapacitet svog izvornog poslužitelja.
-
Smanjena propusnost i troškovi hostinga: Kako CDN-ovi spremaju određeni web sadržaj, smanjuju količinu potrebne propusnosti na izvornom ili host poslužitelju. Troškovi propusnosti razlikuju se ovisno o davatelju usluga hostinga, ali mogu biti skupi i nepredvidivi, pa korištenje CDN-a može smanjiti trošak hostinga.
-
Smanjuje vrijeme zastoja na web-mjestu: Visoko vrijeme neprekidnog rada ključno je za tvrtke koje se oslanjaju na svoje web-mjesto ili aplikaciju za generiranje prihoda, kao što su SaaS aplikacije i web-mjesta za e-trgovinu. CDN-ovi štite od zastoja putem gore navedenih sigurnosnih mjera, a ponekad čak mogu isporučiti predmemoriranu verziju web-mjesta ako izvorni poslužitelj ne radi.
Danas postoji nekoliko različitih vrsta CDN-a, uključujući CDN-ove kojima upravljaju telekomunikacijske tvrtke i privatne CDN-ove, koji su namjenski izgrađeni za jednu tvrtku. Facebook je primjer tvrtki koje su izgradile vlastite mreže za isporuku sadržaja zbog svoje velike globalne prisutnosti i ogromne količine sadržaja koji isporučuju svaki dan. Međutim, većina tvrtki i pojedinaca koji danas traže CDN koristit će komercijalnu mrežu za isporuku sadržaja, kao što su AWS CloudFront, Cloudflare, Fastly… Iako svaki davatelj CDN-a ima neke jedinstvene značajke, svi CDN-ovi rade koristeći iste osnovne principe.
Kako funkcioniraju CDN-ovi
U središtu mreža za isporuku sadržaja, koje se ponekad nazivaju i rubnim (Edge) mrežama, je skup točaka prisutnosti ili PoP-ova, koji su grupe poslužitelja na više lokacija širom Svijeta. Poslužitelji smješteni u svakom PoP-u poznati su kao rubni poslužitelji, budući da su jedinstveni za izvorni poslužitelj koji hostira punu verziju web-mjesta ili softvera, a nalaze se na “rubu” mreže najbliže krajnjem korisniku. CDN-ovi se razlikuju po broju PoP-ova koje uključuju, pri čemu neke mreže imaju tisuće PoP-ova na svim kontinentima, dok druge fokusiraju svoje PoP-ove na ključna područja koja služe.
Edge poslužitelji služe višestrukim svrhama, uključujući hostiranje predmemoriranih datoteka za poboljšanje performansi i zaštitu izvornog poslužitelja usmjeravanjem prometa na CDN umjesto izravno na izvor (origin). CDN-ovi mogu ugostiti razne softverske alate koji pomažu u performansama i sigurnosti jer rubni poslužitelji djeluju kao obrnuti proksiji, koji presreću web promet i upravljaju njime kroz skup pravila temeljenih na softveru instaliranom na vašem rubnom poslužitelju. Iako su CDN-ovi najpoznatiji po cachiranju sadržaja, oni također mogu ugostiti softver za otkrivanje prijetnji, alate za promjenu veličine slike i još mnogo toga.
Kako CDN-ovi spremaju sadržaj
Svaki rubni poslužitelj hostira predmemorirane kopije web sadržaja, najčešće statične datoteke kao što su slike ili tekstualne datoteke. Kada korisnik posjeti web-mjesto ili pristupi dijelu softvera, mreža za isporuku sadržaja automatski će ga usmjeriti do najbližeg PoP-a i isporučiti predmemorirani sadržaj s tog PoP-a, umjesto da ga usmjerava na izvorni poslužitelj koji je možda udaljeniji. Ovaj korak povećava brzinu web-mjesta i smanjuje broj zahtjeva koji idu na izvorni poslužitelj, dopuštajući izvornom poslužitelju da se usredotoči na posluživanje dinamičnijeg sadržaja koji je možda teško predmemorirati.
(Lijevo) Distribucija jednog poslužitelja (desno) CDN shema distribucije
Ova vrsta predmemorije naziva se predmemorija na strani poslužitelja, a također se može postaviti bez upotrebe mreže za isporuku sadržaja putem programa kao što je Varnish Cache koji se nalaze ispred izvornog poslužitelja. Međutim, korištenjem predmemorije na strani poslužitelja u kombinaciji s CDN-om, web-mjesta mogu pružiti još optimalnije performanse. Druga uobičajena metoda predmemorije je predmemorija na strani klijenta ili predmemorija u pregledniku, u kojoj se kopije datoteka pohranjuju u korisnikov lokalni preglednik. Spremanje u predmemoriju preglednika znači da će, ako posjetitelj više puta posjećuje web-stranicu, određeni objekti na toj stranici, kao što su datoteke logotipa, biti pohranjeni u predmemoriji preglednika i tako se isporučuju još brže. Većina web-mjesta koristi kombinaciju predmemorije preglednika i predmemorije na strani poslužitelja, obično putem CDN-a, kako bi ostvarile najbrže moguće brzine web stranice.
Kako bi osigurali da su datoteke iz predmemorije koje se poslužuju s CDN-a ažurne, web-mjesta unose informacije koje govore mehanizmu predmemorije kada datoteke istječu. Ako CDN otkrije da je datoteka istekla, ponovno će dohvatiti tu datoteku iz izvora kada je prvi put zatražen. Ovo je poznato kao “povlačenje (pull) predmemorije” i korisno je jer ova metoda znači da CDN traži datoteke samo kada su potrebne. Druga tehnika predmemorije poznata je kao “pritiskanje (push) predmemorije”, kada web-mjesto proaktivno govori predmemoriji da ažurira svoje datoteke. Ova se metoda može koristiti za veće datoteke ili kada web-mjesto ažurira većinu svog sadržaja i želi osigurati da predmemorija ima ažurirani sadržaj.
Kako CDN-ovi poboljšavaju sigurnost web-mjesta
Osim što poboljšavaju performanse web-mjesta, mreže za isporuku sadržaja također poboljšavaju sigurnost web-mjesta otkrivanjem prijetnji, blokiranjem zlonamjernog prometa i zaštitom izvornog poslužitelja od napada. Korištenjem CDN-a umjesto slanja prometa izravno na izvorni poslužitelj, izvorni poslužitelj je zaštićen od napada distribuiranog uskraćivanja usluge (DDoS), u kojima napadači pokušavaju oboriti web stranice slanjem ogromne količine prometa na web stranicu odjednom. CDN-ovi distribuiraju promet između višestrukih PoP-ova, omogućujući mu da izdrži dodatni promet, i mogu uključivati alate koji idu korak dalje u zaštiti od DDoS-a i drugih sigurnosnih prijetnji.
Ostali sigurnosni alati koji se nude s mnogim CDN-ovima uključuju vatrozide i napredni softver za otkrivanje prijetnji koji će spriječiti štetni promet da prođe do izvornog poslužitelja. Vatrozidi nadziru promet i blokiraju određeni promet od ulaska na web-stranicu na temelju skupa pravila, kao što je IP adresa, a napredniji vatrozidi mogu ispitati sadržaj paketa podataka ili stvoriti pametna pravila za prepoznavanje prijetnji. CDN-ovi također mogu uključivati alate koji ublažavaju utjecaj štetnih botova, sigurne API-je i upravljaju TLS/SSL certifikatima web-mjesta, osiguravajući da je promet šifriran. Svi ovi sigurnosni alati mogu osigurati da web-mjesta ostanu na mreži, da se s prijetnjama brzo rješavaju i da nema prijetnje reputaciji robne marke na temelju sigurnosnih curenja.
Kako odabrati CDN
Dostupna su mnoga CDN rješenja, a svaka tvrtka ili pojedinac koji koristi CDN može imati različite potrebe i prioritete. Kada razmišljate o tome koju mrežu za isporuku sadržaja koristiti, uzmite u obzir ove čimbenike:
-
Slučaj upotrebe CDN-a: Ovisno o funkciji koju služi vaša web-lokacija ili aplikacija, možda poslužujete različite vrste sadržaja. Ako planirate predmemorirati uglavnom statički sadržaj kao što su slike, većina CDN-ova moći će zadovoljiti vaše potrebe, ali ako želite predmemorirati dinamički sadržaj ili personaliziran sadržaj, trebali biste se osigurati da se vaš CDN može nositi s tim slučajevima upotrebe.
-
PoP mreža: CDN-ovi su prvenstveno namijenjeni bržem dostavljanju sadržaja krajnjim korisnicima, tako da je lokacija točaka prisutnosti ključna kada se određuje koji će se CDN koristiti. Ako većina vašeg prometa dolazi iz jedne regije, osigurajte da CDN koji odaberete ima PoP ili više PoP-ova na toj lokaciji. Ako je vaš promet globalno distribuiran, odaberite CDN s mnogo PoP-ova diljem Svijeta.
-
Dostupne značajke: Mreže za isporuku sadržaja mogu uključivati stotine različitih proizvoda za sigurnost, performanse i skalabilnost web stranice. Oni se kreću od osnovnih alata za predmemoriju do optimizacije slike, naprednih vatrozida i još mnogo toga. Kada odlučujete koji CDN koristiti, ispitajte proizvode koje nude u usporedbi s vašim prioritetima - na primjer, ako vam je sigurnost web stranice najveća briga, odaberite CDN s robusnim skupom sigurnosnih alata.
-
Korisničko iskustvo: Dok su mreže za isporuku sadržaja često korišteni alat, korisničko iskustvo može varirati ovisno o CDN-u. Neki CDN-ovi mogu imati ograničena ili složena korisnička sučelja, dok drugi imaju intuitivne nadzorne ploče i API-je kojima se lako može upravljati korištenjem postojećih radnih tokova. Određeni CDN-ovi također mogu nuditi potpuno upravljane usluge i tako vas mogu potpuno rasteretiti od potrebe za konfiguriranjem.
-
Cijena: Troškovi i cjenovni model CDN-a važni su za vašu odluku o kupnji. Dok neki CDN-ovi nude besplatne ili jeftine pakete za web-mjesta s osnovnim predmemoriranjem i sigurnosnim potrebama, rješenja na razini poduzeća mogu koštati tisuće dolara mjesečno. Mnogi CDN-ovi naplaćuju na temelju alata koje koristite i prometa koji prolazi kroz CDN, stoga svakako uključite sve funkcije koje ćete koristiti i procijenite koliko će se troškovi povećati ako se vaš promet poveća.
-
Podrška i dokumentacija: Kao i kod drugih rješenja u oblaku i softverskih alata, podrška koju nudi davatelj CDN-a može se kretati od foruma koje generiraju korisnici, preko podrške putem e-pošte do direktnih predstavnika. Prilikom određivanja CDN-a za korištenje, razmislite o tome osjećate li se ugodno da sami rješavate probleme ili želite češći pristup podršci. Pogledajte kvalitetu dokumentacije i razinu pružene podrške, zajedno s dodatnim troškovima za premium podršku.
-
Kompatibilnost: Određeni CDN-ovi mogu biti prikladniji za različite sustave upravljanja sadržajem ili softverske arhitekture. Na primjer, neki CDN-ovi imaju dodatke koji su napravljeni za jednostavan rad s izrađivačima web stranica. Prije nego što odaberete svoj CDN, ispitajte kako će funkcionirati s vašom trenutnom postavkom aplikacije i ostalim alatima koje koristite.
Zaključak
Mreže za isporuku sadržaja vrijedni su alati koji se mogu koristiti uz vašeg pružatelja usluga računalstva u oblaku. CDN-ovi mogu poboljšati performanse i sigurnost web stranica te aplikacija, smanjiti troškove hostinga i u konačnici osigurati da vaši krajnji korisnici imaju dobro korisničko iskustvo. Mnogi moji klijenti koriste CDN zajedno sa svojim hostingom ako trebate pomoć s CDN-om kontaktirajte me.