
Disclaimer:
Den hÀr artikeln innehÄller inga nyheter som Àr okÀnda för lÀsare som Àr bekanta med begreppet CDN, utan fungerar som en översikt av teknologin.
Den första webbsidan dök upp 1990 och hade en storlek pÄ nÄgra fÄ byte. Sedan dess har innehÄllet skalats bÄde kvalitativt och kvantitativt. Utvecklingen av IT-ekosystemet har lett till att moderna webbsidor mÀts i megabytes, och trenden att öka nÀtverkets bandbredd förstÀrks varje Är. Hur kan innehÄllsleverantörer nÄ stora geografiska omrÄden och sÀkerstÀlla att anvÀndarna överallt har hög hastighet för Ätkomst till information? Det Àr dessa utmaningar som innehÄllsleverans- och distributionsnÀtverk, Àven kallade Content Delivery Networks eller helt enkelt CDN, mÄste hantera.
Det finns allt mer âtungtâ innehĂ„ll pĂ„ internet. OcksĂ„ mĂ„nga studier visar att anvĂ€ndarna inte vill ha att göra med webbtjĂ€nster som tar lĂ€ngre Ă€n 4-5 sekunder pĂ„ sig att ladda. För lĂ„g laddningstid pĂ„ en webbplats kan leda till förlorad publik, vilket i sin tur medför minskad trafik, konvertering och dĂ€rmed intĂ€kter. InnehĂ„llsleveransnĂ€tverk (CDN) kan, i teorin, lösa dessa problem och deras konsekvenser. Men i praktiken handlar det ofta om detaljer och nyanser i varje specifik situation, vilket det finns gott om inom detta omrĂ„de.
VarifrÄn kom idén om distribuerade nÀtverk?
LÄt oss börja med en kort historisk tillbakablick och definition av termer. CDN Àr ett nÀtverk av en grupp servrar belÀgna pÄ olika platser för att tillhandahÄlla Ätkomst till internetinnehÄll med omfattande tÀckning för anvÀndarna. Idén om distribuerade nÀtverk innebÀr att det finns flera punkter för nÀrvaro (PoP) som ligger utanför den ursprungliga servern. Ett sÄdant system kan snabbare bearbeta den stora mÀngd inkommande förfrÄgningar, vilket ökar responsen och hastigheten för överföring av data.
Problemet med att leverera innehÄll till anvÀndare blev akut i slutet av 90-talet, nÀr internet var i sin ungdom. De dÄvarande servrarna, vars prestanda knappt matchade dagens toppmoderna bÀrbara datorer, kÀmpade för att klara belastningen och kunde inte hantera det stÀndigt vÀxande trafikflödet. Microsoft spenderade Ärligen hundratals miljoner dollar pÄ forskning relaterad till informationsmagistralen (man kan inte lÄta bli att tÀnka pÄ de berömda 640 KB frÄn Bill Gates). PÄ vÀgen mot att lösa dessa problem var man tvungen att anvÀnda hierarkisk caching, övergÄ frÄn modem till fiberoptik och noggrant analysera nÀtverkens topologi. Situationen pÄminde om ett gammalt lok som rusar fram pÄ spÄren och moderniseras med alla tillgÀngliga medel för att öka hastigheten.
Redan i slutet av 90-talet insÄg Àgarna av webbsidor att de för att minska belastningen och uppfylla de krav som stÀlldes behövde anvÀnda mellanservrar. SÄ kom de första CDN:erna till, som delade ut statiskt innehÄll frÄn olika servrar spridda över hela vÀrlden. UngefÀr samtidigt började Àven affÀrer baserade pÄ distribuerade nÀtverk att dyka upp. Den största (Ätminstone en av de största) CDN-leverantören i vÀrlden, företaget Akamai, blev en pionjÀr inom detta omrÄde och började sin verksamhet 1998. NÄgra Är senare blev CDN allmÀnt förekommande och intÀkterna frÄn leverans och distribuering av innehÄll uppgick till tiotals miljoner dollar varje mÄnad.
I dag stöter vi pÄ CDN varje gÄng vi besöker en handelssida med hög trafik eller interagerar pÄ sociala medier. TjÀnsten erbjuds av: Amazon, Cloudflare, Akamai och mÄnga andra multinationella leverantörer. Stora företag strÀvar dessutom efter att anvÀnda egna CDN, vilket ger dem flera fördelar nÀr det kommer till hastighet och kvalitet pÄ innehÄllsleveransen. Om Facebook inte hade haft distribuerade nÀtverk och istÀllet nöjt sig med bara en ursprungsserver belÀgen i USA, skulle inladdningen av profiler för anvÀndare i östra Europa ta betydligt lÀngre tid.
Ett par ord om CDN och streaming
FutureSource Consulting har genomfört en analys av musikindustrin och dragit slutsatsen att antalet abonnemang pÄ musiktjÀnster kommer att nÄ nÀstan en halv miljard personer under 2023. Dessutom kommer mer Àn 90% av intÀkterna att genereras frÄn ljudströmning. Situationen Àr liknande för video, dÀr sÄdana termer som: lÄtspelsvideo, onlinekonsert och onlinebiograf redan har etablerat sig i folklexikonet. Apple, Google, YouTube och mÄnga andra företag har sina egna strömningstjÀnster.
I ett tidigt skede anvÀndes CDN frÀmst för webbplatser med statiskt innehÄll. Statisk information Àr det som inte Àndras beroende pÄ anvÀndarens handlingar, tid och andra faktorer, dvs. inte Àr personaliserad. Men utvecklingen av strömningstjÀnster för video och ljud har lagt till Ànnu ett vanligt anvÀndningsomrÄde för distribuerade nÀtverk. Mellanservrar, som ligger nÀra den mÄlgrupp vÀrlden över, möjliggör stabil tillgÄng till innehÄllet under perioder med hög belastning, vilket utesluter bristen pÄ internet "flaskhalsar".
Hur det fungerar
Allt CDN:s kÀrna Àr i stort sett densamma: att anvÀnda mellanhÀnder för att snabbare kunna leverera innehÄll till slutkonsumenten. Det fungerar sÄ hÀr: anvÀndaren skickar en begÀran om att ladda ner en fil, denna begÀran tas emot av CDN-servern, som en gÄng kontaktar den ursprungliga servern och ger anvÀndaren innehÄllet. Parallellt med detta cachar CDN filerna under en viss tidsperiod och alla efterföljande begÀrningar hanteras frÄn sin egen cache. Valfritt kan de ocksÄ förladda filer frÄn den ursprungliga servern, stÀlla in cachelagringstiden, komprimera stora filer och mycket mer. I den mest ideala situationen överför vÀrden hela flödet till CDN-noden, som sedan anvÀnder sina egna resurser för att leverera innehÄll till anvÀndarna. SjÀlvklart kommer effektiv cachning av information och fördelning av begÀrningar inte pÄ en server utan pÄ ett nÀtverk att leda till en mer balanserad trafikbelastning.

Den andra viktiga egenskapen hos CDN:s arbete Ă€r att minska förseningar vid datatransfer (Ă€ven kallad RTT â round trip time). Etablering av TCP-anslutning, nedladdning av medieinnehĂ„ll, JS-filer, start av TLS-sessioner, allt detta beror pĂ„ ping-tiden. Det Ă€r uppenbart att ju nĂ€rmare du Ă€r kĂ€llan, desto snabbare kan du fĂ„ svar. Ăven ljusets hastighet har sina begrĂ€nsningar: cirka 200 000 km/s via fiberoptik. Detta innebĂ€r att fördröjningen frĂ„n Moskva till Washington kommer att vara cirka 75 ms i RTT, och detta utan pĂ„verkan frĂ„n mellanliggande utrustning.
För att bÀttre förstÄ vilka uppgifter innehÄllsdistributionsnÀtverk löser, kommer hÀr en lista över aktuella lösningar idag:
- Google, Yandex, MaxCDN (anvÀnder gratis CDN för att distribuera JS-bibliotek, har över 90 nÀrvaro punkter i de flesta lÀnder i vÀrlden);
- Cloudinary, Cloudimage, Google (tjÀnster och bibliotek för klientoptimering: bilder, videos, typsnitt etc.);
- Jetpack, Incapsula, Swarmify och sÄ vidare (optimering av resurser i innehÄllshanteringssystem: Bitrix, WordPress osv.);
- CDNVideo, StackPath, NGENIX, MegaFon (CDN för distribution av statiskt innehÄll, anvÀnds som allmÀnna nÀtverk);
- Imperva, Cloudflare (lösningar för att snabba upp webbplatsladdning).
De första tre typerna av CDN i listan Àr avsedda för att överföra endast en del av trafiken frÄn huvudservern. De ÄterstÄende tvÄ anvÀnds som fullfjÀdrade proxyservrar med fullstÀndig överföring av dataportarna frÄn den ursprungliga vÀrden.
Vem och vilka fördelar ger tekniken
I teorin kan vilken webbplats som sÀljer sina produkter/tjÀnster till företagskunder eller privatpersoner (B2B eller B2C) dra nytta av att implementera ett CDN. Det Àr viktigt att deras mÄlgrupp, det vill sÀga anvÀndarbasen, Àr belÀgen utanför deras geografiska plats. Men Àven om sÄ inte Àr fallet, kommer innehÄllsdistributionsnÀtverk att hjÀlpa till med belastningsbalansering vid stora mÀngder innehÄll.
Det Àr ingen hemlighet att det för att fylla serverkanalen rÀcker med ett par tusen flöden. DÀrför kommer spridning av videoströmning till massorna oundvikligen att leda till att det uppstÄr en flaskhals - bandbredden pÄ internetkanalen. Detta mÀrker vi ocksÄ nÀr en webbplats har mÄnga smÄ, osammanhÀngande bilder (produkter, till exempel). Den ursprungliga servern anvÀnder en TCP-anslutning för att bearbeta vilket antal förfrÄgningar som helst, vilket stÀller in lasten i kö. Att lÀgga till CDN innebÀr behovet av att sprida förfrÄgningar över flera domÀner och anvÀnda flera TCP-anslutningar, vilket avlastar kanalen. Och formeln för cirkulÀr fördröjning, Àven vid de mest ogynnsamma förhÄllandena, ger ett vÀrde av 6-7 RTT och fÄr utseendet: TCP+TLS+DNS. HÀr ska man ocksÄ rimligen inkludera fördröjningar relaterade till aktivering av radiokanalen pÄ enheten och signalöverföring till mobilmaster.
Genom att sammanfatta styrkorna med teknologi för företag pÄ nÀtet framhÀver experterna följande punkter:
- Snabb skalning av infrastrukturen + minskad bandbredd. Fler servrar = fler punkter dÀr information lagras. Som ett resultat bearbetar en punkt mindre trafik per tidsenhet, vilket innebÀr att den kan ha lÀgre bandbredd. Dessutom trÀder optimeringsverktyg i kraft, vilket gör det möjligt att hantera toppbelastningar utan tidsförlust.
- Mindre ping. Vi har redan nĂ€mnt att mĂ€nniskor inte gillar att vĂ€nta lĂ€nge pĂ„ internet. DĂ€rför bidrar hög ping till höga avvisningsgrader. Fördröjningen kan orsakas av problem med databehandling pĂ„ servern, anvĂ€ndning av gammal utrustning eller helt enkelt en dĂ„ligt planerad nĂ€tverkstopologi. MĂ„nga av dessa problem löses delvis av innehĂ„llsdistributionsnĂ€tverk. Ăven hĂ€r Ă€r det viktigt att notera att den verkliga nyttan av att införa teknologin bara kommer att synas nĂ€r "kundpingen" överstiger 80-90 ms, vilket Ă€r avstĂ„ndet frĂ„n Moskva till New York.

- DatasÀkerhet. DDoS-attacker (virtuella attacker av typen 'överbelastningsattack') syftar till att orsaka avbrott i serverns drift för att uppnÄ nÄgon form av vinst. En enskild server Àr mycket mer utsatt för informationssÀkerhetsrisker Àn ett distribuerat nÀtverk (att överlista en infrastruktur som CloudFlare Àr ingen lÀtt uppgift). Genom att anvÀnda filter och effektivt fördela förfrÄgningar över nÀtverket kan man utan problem förhindra konstgjorda komplikationer med tillgÄngen till legitim trafik.
- Snabb distribution av innehĂ„ll och ytterligare tjĂ€nstefunktioner. Att distribuera stora mĂ€ngder information över ett servernĂ€tverk gör det möjligt att snabbare nĂ„ ut med erbjudandet till slutanvĂ€ndaren. Det behövs inte gĂ„ lĂ„ngt för exempel â tĂ€nk bara pĂ„ Amazon och AliExpress.
- Möjlighet att 'maskera' problem med den primÀra webbplatsen. Det behövs inte vÀnta pÄ att DNS ska uppdateras, man kan omdirigera den till en ny plats med distribution av tidigare cachat innehÄll. Detta kan i sin tur förbÀttra redundansen.
Vi har gÄtt igenom fördelarna. LÄt oss nu titta pÄ vilka nischer som kan dra nytta av detta.
Reklambranschen
Reklam Àr motorn i framsteg. Och för att motorn inte ska gÄ sönder mÄste den belastas i rimlig mÀngd. SÄ Àven reklambranschen, som försöker anpassa sig till den moderna digitala vÀrlden, stöter pÄ problem med 'tungt innehÄll'. Med tungt menas multimediadvertising (frÀmst animerade banners och videoklipp) som krÀver hög bandbredd. En webbplats med multimedia laddas lÀnge och kan hÀnga sig, vilket testar anvÀndarnas tÄlamod. MÄnga avstÄr frÄn sÄdana resurser innan all information har laddats. ReklambyrÄer kan anvÀnda fördelarna med CDN för att lösa dessa problem.
FörsÀljning
E-handel behöver stÀndigt utvidga sin geografiska nÀrvaro. En annan viktig aspekt Àr kampen mot konkurrenter, av vilka det finns gott om i varje marknadssegment. Om webbplatsen inte uppfyller anvÀndarens krav (inklusive lÄng laddningstid) kommer den inte att bli populÀr och kan inte generera stabilt höga konverteringar. Implementering av CDN bör visa sina fördelar nÀr det gÀller att hantera databasförfrÄgningar frÄn olika platser. Dessutom kommer trafikfördelning att hjÀlpa till att förhindra toppar och de efterföljande serveravbrotten.
Plattformar med underhÄllningsinnehÄll
HĂ€r passar alla typer av underhĂ„llningsplattformar, frĂ„n nedladdning av filmer och spel till strömmande video. Ăven om teknologin fungerar med statisk information, kan strömmande data snabbare nĂ„ anvĂ€ndaren via retransmittorer. Ă terigen Ă€r cachen av information i CDN en rĂ€ddning för Ă€gare av stora portaler â mediearkiv.
Onlinespel
Internetspel behöver lyftas till en separat punkt. Om reklam behöver stor bandbredd, sÄ Àr onlinaprojekt Ànnu mer krÀvande pÄ resurser. Leverantörer stÄr inför ett problem med tvÄ sidor: hastighet till servrar + att sÀkerstÀlla hög spelprestanda med vacker grafik. CDN för onlinespel Àr en möjlighet att ha sÄ kallade "push-zoner", dÀr utvecklare kan lagra spel pÄ servrar belÀgna nÀra anvÀndarna. Detta minskar pÄverkan av hastigheten pÄ Ätkomst till den ursprungliga servern, vilket innebÀr att en bekvÀm spelupplevelse kan sÀkerstÀllas överallt.
Varför CDN inte Àr en universallösning

Trots de uppenbara fördelarna Àr det inte alla som alltid strÀvar efter att implementera teknologin i sin verksamhet. Varför Àr det sÄ? Paradoxalt nog följer vissa nackdelar av fördelarna, och dessutom tillkommer ytterligare nÄgra punkter relaterade till distributionen av nÀtverket. Marknadsförare kommer att tala vackert om alla fördelarna med teknologin, men glömmer att nÀmna att alla dessa fördelar förlorar sin betydelse under olika omstÀndigheter. NÀr man noggrant granskar nackdelarna med CDN bör man sÀrskilja:
- Arbete som endast rör statisk media. Ja, de flesta moderna webbplatser har en lÄg andel dynamiskt innehÄll. Men dÀr sidor Àr personaliserade kan en CDN inte hjÀlpa till (Àven om den kan lÀtta pÄ en stor del av trafiken);
- Cachefördröjning. SjÀlv optimering Àr en av de största fördelarna med fördelningsnÀt. Men nÀr Àndringar görs pÄ den ursprungliga servern tar det tid innan CDN kan cacha den pÄ alla sina servrar;
- Massblockeringar. Om en CDN:s IP-adress blockeras av nÄgon anledning, stÀngs alla webbplatser som Àr kopplade till den;
- I de flesta fall kommer webblÀsaren att etablera tvÄ anslutningar (till den ursprungliga servern och CDN). Det ger extra millisekunder i vÀntan;
- Bindning till IP-adresser för projekt (inklusive de som inte lÀngre existerar) som tidigare var kopplade till den. Resultatet blir en komplicerad rankning frÄn Googles sökrobotar och svÄrigheter att fÄ webbplatsen att nÄ topp i SEO-framsteg;
- En CDN-nod Àr en potentiell felpunkt. Om de anvÀnds Àr det viktigt att förstÄ hur systemets routning fungerar i förvÀg och vilka fel som kan uppstÄ under arbetet med webbplatsen;
- Det kan tyckas enkelt, men man mÄste betala för tjÀnsterna för innehÄllsdistribution. Generellt Àr kostnaderna proportionella mot trafiken, vilket innebÀr att det kan krÀvas kontroll för att planera budgeten.
En viktig punkt: Àven om en CDN ligger nÀra anvÀndaren garanterar det inte lÄg latens. Routen kan gÄ frÄn klienten till en vÀrd som ligger i ett annat land eller till och med pÄ en annan kontinent. Detta beror pÄ den specifika nÀtets routningspolicy och dess relationer med teleoperatörer (peering). MÄnga stora CDN-leverantörer har flera prissÀttningar, dÀr kostnaden direkt pÄverkar nÀrheten till nÀrvaropunkten vid överföring av innehÄll till mÄlgruppen.
Om du har resurser kan du starta din egen CDN
Ăr du missnöjd med policyn för företag som tillhandahĂ„ller tjĂ€nster för innehĂ„llsdistributionsnĂ€t och behöver ditt företag expandera? Om det finns resurser, varför inte prova att starta en egen CDN? Detta Ă€r meningsfullt i följande fall:
- De aktuella kostnaderna för distributionsinnehÄll motsvarar inte dina förvÀntningar och Àr inte ekonomiskt hÄllbara;
- Behöver en permanent cache, utan grannar med andra webbplatser pÄ servern och kanalen;
- Den mÄlgrupp som finns i en region dÀr det inte finns nÄgra punkter för nÀrvaro för tillgÀngliga CDN;
- Behovet av att anpassa instÀllningarna vid leverans av innehÄll;
- Det krÀvs en snabbare leverans av dynamiskt innehÄll;
- Misstankar om krÀnkning av anvÀndarnas sekretess och andra otillbörliga ÄtgÀrder frÄn tredjepartstjÀnster.
Lansering av CDN krÀver att du har ett domÀnnamn, flera servrar i olika regioner (virtuella eller dedikerade) och ett verktyg för begÀrningshantering. Glöm inte installation av SLL-certifikat, konfigurering och redigering av program för leverans av statiskt innehÄll (Nginx eller Apache), samt effektiv övervakning av hela systemet.
Korrekt konfiguration av cache-proxys Àr Àmnet för en separat artikel, dÀrför gÄr vi inte in pÄ detaljer hÀr: var och vilken parameter som ska stÀllas in korrekt. Med tanke pÄ startkostnader och tid för att implementera nÀtverket kan anvÀndningen av fÀrdiga lösningar vara mer fördelaktigt. Men det Àr nödvÀndigt att vÀgledas av den rÄdande situationen och planera flera steg framÄt.
Vad blev resultatet?
CDN Ă€r ett set av extra resurser för att vidarebefordra din trafik till en bred publik. Ăr de nödvĂ€ndiga för företag pĂ„ internet? BĂ„de ja och nej, det beror helt pĂ„ vilken publik innehĂ„llet riktar sig till och vilka mĂ„l företagets Ă€gare har.
Regionala och nischprojekt kommer att fÄ fler nackdelar Àn fördelar av att implementera CDN. FörfrÄgningar kommer fortfarande att komma till den ursprungliga servern, men genom en mellanhand. HÀrifrÄn ifrÄgasÀtts den minskade latensen, men det följer tydliga mÄnatliga kostnader för att anvÀnda tjÀnsten. Med bra nÀtverksutrustning kan man lugnt förbÀttra befintliga informationssÀkerhetsalgoritmer, placera sina servrar nÀrmare anvÀndarna och fÄ optimeringar och vinster kostnadsfritt pÄ en kontinuerlig basis.
Det Àr verkligen företag med stor infrastruktur som bör tÀnka pÄ mellanservrar, dÄ deras system inte klarar av den stÀndigt vÀxande trafikmÀngden. CDN visar sig utmÀrkt som en teknik som möjliggör en snabb distribution av nÀtverk till en bred geografisk anvÀndarbas, vilket erbjuder bekvÀm molngaming eller försÀljning av varor pÄ stora kommersiella plattformar.
Men Àven med en bred geografisk publik Àr det viktigt att förstÄ i förvÀg vad innehÄllsdistributionsnÀtverk (CDN) konkret behövs till. Att snabba upp en webbplats förblir en komplex uppgift som inte magiskt löses genom att implementera CDN. Viktiga funktioner som plattformsoberoende, anpassningsförmÄga, serveroptimering, kodoptimering, rendering, osv. fÄr inte glömmas bort. En preliminÀr teknisk granskning och adekvata ÄtgÀrder för att avhjÀlpa problem Àr fortfarande den mest optimala lösningen för vilket onlineprojekt som helst, oavsett riktning och omfattning.
I reklamens namn
Just nu kan du bestĂ€lla , som anvĂ€nder de senaste processorerna . Flexibla priser â frĂ„n 1 CPU-kĂ€rna till galna 128 CPU-kĂ€rnor, 512 GB RAM, 4000 GB NVMe.
KĂ€lla: habr.com

