
Fraskrivelse:
Denne artikel indeholder ikke informationer, der tidligere var ukendte for læsere, der er bekendt med begrebet CDN, og fungerer som en oversigt over teknologien.
Den første webside blev lanceret i 1990 og havde en størrelse på få bytes. Siden da er indholdet blevet skaleret både kvalitativt og kvantitativt. Udviklingen af IT-økosystemet har ført til, at moderne websteder måles i megabyte, og tendensen mod stigende båndbredde styrkes år for år. Hvordan kan indholdsudbydere nå store geografiske områder og sikre brugerne hurtigt adgang til information overalt? Disse udfordringer skal tackles af netværk til levering og distribution af indhold, også kendt som Content Delivery Network eller blot CDN.
Internettet indeholder i stigende grad "tungt" indhold. Samtidig viser adskillige undersøgelser, at brugerne ikke ønsker at interagere med webtjenester, hvis de indlæses langsommere end 4-5 sekunder. For lav indlæsningshastighed kan føre til tab af publikum, hvilket utvivlsomt vil resultere i færre besøgende, lavere konversioner og dermed mindre indtjening. Content Delivery Networks (CDN) skulle teoretisk set løse disse problemer og deres konsekvenser. Men i praksis handler det som sædvanligt om detaljerne og nuancerne i det enkelte tilfælde, som der i denne sektor er rigeligt af.
Hvor kom ideen om distribuerede netværk fra?
Lad os starte med en kort historisk gennemgang og definitioner af termer. CDN er et netværk af en gruppe servermaskiner, der er placeret på forskellige steder for at give adgang til internetindhold med dækning for et stort antal brugere. Ideen om distribuerede netværk indebærer tilstedeværelsen af flere punkter (PoPs), der ligger uden for den oprindelige server. Et sådant system vil hurtigere kunne behandle de mange indkommende forespørgsler, hvilket øger responsen og hastigheden på overførslen af data.
Problemet med at levere indhold til brugerne opstod for alvor, da internettet for alvor begyndte at udvikle sig i midten af 90'erne. Dengang havde servere, hvis ydeevne ikke engang kunne sammenlignes med nutidens topmodeller af laptops, store problemer med at håndtere belastningen og kunne ikke følge med det konstant stigende trafik. Microsoft brugte hvert år hundrede millioner dollars på forskning relateret til informationsmagistralen (man husker straks Bill Gates' berømte udsagn om 640 KB). For at løse disse udfordringer måtte man anvende hierarkisk caching, skifte fra modem til fiberoptik og detaljeret analysere netværkstopologier. Situationen mindede om et gammelt lokomotiv, der hastigt kørte på skinnerne og undervejs blev moderniseret på alle mulige måder for at øge hastigheden.
Allerede i slutningen af 90'erne indså ejere af webportaler, at de skulle anvende mellemliggende servere for at reducere belastningen og opfylde de nødvendige anmodninger. Dette var begyndelsen på de første CDN, der distribuerede statisk indhold fra forskellige servere geografisk spredt over hele verden. Omtrent på samme tid begyndte også forretningen at blomstre omkring distribuerede netværk. Den største (eller en af de største) CDN-udbyder i verden, Akamai, blev pioner på dette område og begyndte sin rejse i 1998. Et par år senere blev CDN almindeligt, og indtægterne fra levering og distribution af indhold blev opgjort til titusinder af millioner dollars om måneden.
I dag støder vi på CDN hver gang vi besøger en kommerciel side med høj trafik eller interagerer på sociale medier. Tjenesten tilbydes af: Amazon, Cloudflare, Akamai samt mange andre multinationale udbydere. Store virksomheder stræber endda efter at udnytte egne CDN, hvilket giver dem en række fordele i hastighed og kvalitet af indholdleverancen. Hvis Facebook ikke havde distribuerede netværk, men blot havde været afhængig af den oprindelige server, der lå i USA, kunne det tage betydeligt længere tid for brugere i Østeuropa at indlæse deres profiler.
Et par ord om CDN og streaming
FutureSource Consulting har analyseret musikindustrien og konkluderet, at antallet af abonnementer på musikstreamingtjenester vil nå næsten en halv milliard mennesker i 2023. Mere end 90% af indtægterne vil komme fra streaming af lyd. Situationen med video er lignende, og i den almindelige sprogbrug er termer som: letsplay, online koncert og online biograf allerede blevet etableret. Apple, Google, YouTube og mange andre virksomheder har deres egne streamingtjenester.
I det tidlige koncept blev CDN primært brugt til websteder med statisk indhold. Statisk indhold defineres som information, der ikke ændrer sig baseret på brugerens handlinger, tidspunkt og andre faktorer, dvs. det er ikke personligt tilpasset. Men udviklingen inden for streaming af video og lydtjenester har tilføjet endnu et almindeligt scenarie for brugen af distribuerede netværk. Mellemliggende servere, der er placeret tæt på den målrettede målgruppe over hele verden, gør det muligt at sikre stabil adgang til indholdet i perioder med spidsbelastning, hvilket eliminerer mangel på internet 'flaskehalse'.
Hvordan fungerer det
Essensen af alle CDN'er er omtrent den samme: at bruge mellemmænd for hurtigere at kunne levere indhold til slutbrugeren. Det fungerer således: Brugeren sender en anmodning om at downloade en fil, den modtages af CDN-serveren, som engang henvender sig til den originale server og sender indholdet til brugeren. Samtidig cachen CDN filerne i en bestemt periode og håndterer senere anmodninger fra deres eget cache. Valgfrit kan de også forudindlæse filer fra den oprindelige server, indstille cachelagringstiden, komprimere store filer og meget mere. I den mest ideelle situation overfører værten hele strømmen til CDN-noden, som derefter bruger sine egne ressourcer til at levere indholdet til brugerne. Selvfølgelig vil effektiv caching af information samt distribution af anmodninger ikke til én server, men til et netværk, føre til en mere afbalanceret trafikbelastning.

Den andet vigtige funktion ved CDN's arbejde er reduktionen af forsinkelser i datatransmission (RTT - round trip time). Oprettelse af TCP-forbindelse, indlæsning af medieindhold, JS-filer, opstart af TLS-session, alt dette afhænger af ping-tiden. Det er klart, at jo tættere du er på kilden, desto hurtigere kan du få respons fra den. Selv lysets hastighed har en grænse: omkring 200.000 km/s gennem fiberoptik. Det betyder, at forsinkelsen fra Moskva til Washington vil være omkring 75 ms i RTT, og dette uden indflydelse fra mellemliggende udstyr.
For bedre at forstå, hvilke opgaver indholdedistributionsnetværk løser, lad os se på en liste over aktuelle løsninger i dag:
- Google, Yandex, MaxCDN (bruger gratis CDN'er med det formål at distribuere JS-biblioteker, har over 90 tilstedeværelse punkter i de fleste lande i verden);
- Cloudinary, Cloudimage, Google (tjenester og biblioteker til klientoptimering: billeder, videoer, skrifttyper mv.);
- Jetpack, Incapsula, Swarmify mv. (optimering af ressourcer i indholdsstyringssystemer: Bitrix, WordPress mv.);
- CDNVideo, StackPath, NGENIX, MegaFon (CDN til distribution af statisk indhold, anvendt som generelle netværk);
- Imperva, Cloudflare (løsninger til at accelerere websteders indlæsning).
De første 3 typer CDN fra den nævnte liste er beregnet til kun at overføre en del af trafikken fra den primære server. De resterende 2 bruges som fuldgyldige proxyservere med fuld overførsel af båndbredde fra den oprindelige vært.
Hvem og hvilke fordele leverer teknologien
Teoretisk set kan enhver hjemmeside, der sælger sine varer/tjenester til både virksomheder og enkeltpersoner (B2B eller B2C), drage fordel af implementeringen af CDN. Det er vigtigt, at dens målgruppe, dvs. brugerbasen, ligger uden for deres geografiske placering. Men selv hvis det ikke er tilfældet, kan indholdedistributionsnetværk hjælpe med belastningsbalancering ved store mængder indhold.
Det er ingen hemmelighed, at det kun kræver et par tusinde streams for at overbelaste serverkanalen. Derfor vil distributionen af videostreaming til brede masser uundgåeligt føre til et flaskehalsproblem – internetkanalens båndbredde. Det samme ses, når der er mange små, uklare billeder på en hjemmeside (for eksempel produktforhåndsvisninger). Den oprindelige server bruger en TSC-forbindelse til at håndtere ethvert antal anmodninger, hvilket sætter belastningen i kø. Tilføjelse af CDN kræver, at anmodningerne fordeles på flere domæner og bruger flere TCP-forbindelser, hvilket aflaster kanalen. Og formlen for cirkulær forsinkelse, selv under de mest dystre omstændigheder, giver en værdi på 6-7 RRT og tager form af: TCP+TLS+DNS. Her bør man også retfærdiggøre inkluderingen af forsinkelser forbundet med aktivering af radiokanalen på enheden og signaloverførsel til mobilmasterne.
Sammenfatning af teknologiens styrker for onlinevirksomheder fremhæver specialister følgende punkter:
- Hurtig skalering af infrastrukturen + reduktion af båndbredde. Flere servere = flere punkter, hvor informationen opbevares. Som resultat behandler et enkelt punkt mindre trafik pr. tidsenhed, hvilket betyder, at det kan have en lavere båndbredde. Derudover træder optimeringsværktøjer i kraft, som gør det muligt at håndtere spidser i belastningen uden tidstab.
- Lavere ping. Vi har allerede nævnt, at folk ikke kan lide at vente længe på internettet. Derfor medfører høj ping høje afvisningsprocenter. Forsinkelsen kan være forårsaget af problemer med databehandling på serveren, brugen af gammelt udstyr eller simpelthen en dårlig netværkstopologi. De fleste af disse problemer løses delvist af indholdsdistributionsnetværk. Selvom det er vigtigt at bemærke, at den reelle fordel ved at implementere teknologien kun vil ses, når "forbrugerens ping" overstiger 80-90 ms, hvilket svarer til afstanden fra Moskva til New York.

- Datasikkerhed. DDoS-angreb (virale angreb af typen "service denial") er rettet mod at få serveren til at fejle for at opnå en eller anden fordel. En enkelt server er langt mere udsat for informationssikkerhedsbrister end et distribueret netværk (at nedlægge infrastrukturen for et så stort firma som CloudFlare er ingen enkel opgave). Takket være brugen af filtre og klogt fordelt trafik på netværket kan man uden problemer forhindre kunstigt skabte komplikationer med adgangen til legitim trafik.
- Hurtig distribution af indhold og ekstra servicefunktioner. Distribution af store mængder information på servernetværket vil hurtigere bringe tilbuddet til den endelige forbruger. Eksemplerne er ikke svære at finde - man skal blot tænke på Amazon og AliExpress.
- Mulighed for at "maskere" problemer med det primære website. Man behøver ikke at vente på, at DNS-oplysningerne opdateres; man kan omdirigere til en ny placering med tidligere cached indhold. Dette kan igen forbedre fejlfindingsmulighederne.
Nu har vi set på fordelene. Lad os nu overveje, hvilke nicheområder der drager fordel af dette.
Reklamebranchen
Reklame er drivkraften for fremdrift. For at motoren ikke skal brænde ud, skal den belastningsreguleres. Reklamebranchen står i en moderne digital verden overfor udfordringer med "tungt indhold". Med tungt indhold henvises der for det meste til multimedieannoncer (primært animerede bannere og videoklip), som kræver høj båndbredde. En hjemmeside med multimedieindhold indlæses langsomt og kan fryse, mens den tester brugernes tålmodighed. De fleste opgiver sådanne ressourcer, før de overhovedet har indlæst al oplysningerne. Reklamefirmaer kan udnytte fordelene ved et CDN til at løse disse problemer.
Salg
E-handel har brug for konstant udvidelse af sit geografiske dækningsområde. En anden vigtig faktor er kampen mod konkurrenter, som der er mange af i hvert markedsegment. Hvis en hjemmeside ikke lever op til brugernes krav (inklusive lange indlæsningstider), vil den ikke blive populær og kan ikke opnå stabilt høj konvertering. Implementeringen af et CDN bør vise sine fordele ved håndtering af dataforespørgsler fra forskellige lokationer. Desuden vil trafikfordeling hjælpe med at forhindre spidser i trafik og efterfølgende nedbrud i serverens drift.
Underholdningsplatforme
Alle mulige underholdningsplatforme hører til her, fra streaming af film og spil til live video. Selvom teknologien arbejder med statisk indhold, kan streamingdata hurtigere nå brugeren via retransmittere. Igen er caching af information via CDN en redning for ejere af store portaler – mediesamlinger.
Online spil
Internetsplil skal adskilles som et særskilt punkt. Hvis annoncering kræver stor båndbredde, er onlineprojekter endnu mere krævende med hensyn til ressourcer. Udbydere står over for et problem med to sider: hastighedsadgang til serverne + sikring af høj spilpræstation med flot grafik. CDN for online spil giver mulighed for såkaldte 'push-zoner', hvor udviklere kan gemme spil på servere nær brugerne. Dette reducerer påvirkningen fra hastigheden til den oprindelige server, og dermed sikres en behagelig spiloplevelse overalt.
Hvorfor CDN ikke er en panacea

På trods af de åbenlyse fordele er der ikke alle, der altid stræber efter at implementere teknologien i deres virksomhed. Hvorfor er det sådan? Som mærkeligt som det kan lyde, stammer nogle ulemper fra fordelene, plus der tilføjes et par punkter relateret til implementeringen af netværket. Marketingfolk vil smukt forklare alle fordelene ved teknologien, men glemmer at nævne, at alle disse fordele mister mening under en bred vifte af forhold. Hvis man ser nærmere på ulemperne ved CDN, bør man fremhæve:
- Arbejdet er kun med statisk indhold. Ja, de fleste moderne websteder har en lav procentdel af dynamisk indhold. Men hvor siderne er personaliserede, kan CDN ikke hjælpe (bortset fra at aflaste et stort trafikvolumen);
- Cacheforsinkelse. Optimering er i sig selv en af de største fordele ved distributionsnet. Men når der foretages ændringer på den oprindelige server, tager det tid, før CDN gencache den på alle sine servere;
- Masseblokeringer. Hvis CDN's IP-adresse, af en eller anden grund, bliver blokeret, lukkes alle websteder, der er hostet på det;
- I de fleste tilfælde vil browseren oprette to forbindelser (til den oprindelige server og CDN). Det betyder ekstra millisekunder ventetid;
- Binding til IP-adresserne for projekter (herunder ikke-eksisterende), der tidligere har været tilknyttet. Som resultat får vi kompliceret rangering fra Googles søgebots og udfordringer med at få webstedet op i toppen ved SEO-arbejde;
- CDN-node er et potentielt fejlpunktsområde. Hvis de bruges, er det vigtigt at forstå, hvordan systemets ruteplanlægning fungerer, og hvilke fejl der kan opstå under arbejdet med webstedet;
- Det er banalt, men der skal betales for indholdsleveringstjenester. Omkostningerne er hovedsageligt proportionale til trafikmængden, hvilket betyder, at der kan være behov for kontrol for at planlægge budgettet.
En vigtig detalje: Selv nærhed af CDN til brugeren garanterer ikke lav ping. Ruten kan føres fra klienten til en vært, der ligger i et andet land eller endda på en anden kontinent. Dette afhænger af den specifikke netværks ruteplanlægningspolitik og dens forhold til kommunikationsoperatører (peering). Mange store CDN-udbydere har flere prisplaner, hvor prisen direkte påvirker nærheden til tilstedeværelsespunktet ved overførsel af indhold til de målrettede brugere.
Har du mulighederne - start dit eget CDN
Er du ikke tilfreds med politikkerne for virksomheder, der tilbyder indholdsdistributionsnetværk, men har virksomheden brug for at udvide? Hvis der er muligheder, hvorfor så ikke overveje at starte dit eget CDN. Dette er fornuftigt i følgende tilfælde:
- De nuværende omkostninger ved indholdsdistribution lever op til forventningerne og er ikke økonomisk bæredygtige;
- Der er behov for en permanent cache, uden naboskab med andre websteder på serveren og kanalen;
- Den målrettede målgruppe befinder sig i et område, hvor der ikke er tilgængelige CDN-noder for dig;
- Behov for at tilpasse indstillingerne ved levering af indhold;
- Der er behov for at fremskynde levering af dynamisk indhold;
- Mistanker om krænkelse af brugernes fortrolighed og andre ulovlige handlinger fra tredjeparts tjenester.
Lanceringen af et CDN kræver, at du har et domænenavn, flere servere i forskellige regioner (virtuelle eller dedikerede) og et værktøj til at håndtere forespørgsler. Husk installationen af SSL-certifikater, opsætning og redigering af programmer til levering af statisk indhold (Nginx eller Apache), samt effektiv overvågning af hele systemet.
Korrekt konfiguration af cache-proxyer er et emne for en separat artikel, derfor vil vi ikke gå i detaljer med, hvor og hvilken parameter der skal indstilles. Givet de indledende omkostninger og tiden til at implementere netværket, kan brug af færdige løsninger vise sig at være mere lovende. Men man bør blive styret af den nuværende situation og planlægningen for flere skridt fremad.
What is the outcome
CDN er et sæt ekstra ressourcer til at retransmittere din trafik til et bredt publikum. Er de nødvendige for virksomheder på internettet? Ja og nej, det afhænger alt sammen af, hvilken målgruppe indholdet er rettet imod, og hvilke mål virksomhedsejeren har.
Regionale og nicheprojekter vil opleve flere ulemper end fordele ved implementeringen af CDN. Forespørgsler vil stadig komme først til den oprindelige server, men nu gennem en mellemmand. Heraf den tvivlsomme reduktion af ping, men helt bestemte månedlige omkostninger ved brug af tjenesten. Med god netværksudstyr kan man trygt forbedre de eksisterende informationssikkerhedsalgoritmer, placere deres servere tættere på brugerne og få optimeringer og profit gratis på en konstant basis.
Virkelig store virksomheder, hvis infrastruktur ikke kan håndtere den konstant voksende trafikmængde, bør tænke over mellemskservers. CDN er en fremragende teknologi, der muliggør hurtig udrulning af netværk til en bred geografisk brugerbase, hvilket sikrer komfortabel cloud-gaming eller salg af varer på store kommercielle platforme.
Men selv med en bred geografisk rækkevidde er det vigtigt at forstå, hvad netværk til indholdsdistribution specifikt skal bruges til. At accelerere en hjemmeside forbliver en kompleks opgave, der ikke magisk løses ved at implementere et CDN. Det er vigtigt ikke at glemme væsentlige funktioner som: tværplatformskompatibilitet, tilpasningsdygtighed, optimering af serverdelen, koden, rendering osv. Forudgående teknisk revision og passende foranstaltninger til at løse problemer forbliver også den optimale løsning for ethvert online projekt, uanset dets retning og størrelse.
Annoncering
Lige nu kan du bestille , der bruger de nyeste processorer . Fleksible priser — fra 1 CPU-kerne til vanvittige 128 CPU-kerner, 512 GB RAM, 4000 GB NVMe.
Kilde: habr.com

