De mystiske måder at indholde eller lad os sige et ord om CDN

De mystiske måder at indholde eller lad os sige et ord om CDN

Ansvarsfraskrivelse:
Denne artikel indeholder ikke information, der tidligere var ukendt for læsere, der er bekendt med begrebet CDN, men har karakter af en teknologigennemgang

Den første webside dukkede op i 1990 og var kun et par bytes stor. Siden da er indholdet skaleret både kvalitativt og kvantitativt. Udviklingen af ​​it-økosystemet har ført til, at moderne websider måles i megabyte, og tendensen til at øge netværksbåndbredden bliver kun styrket hvert år. Hvordan kan indholdsudbydere dække store geografiske skalaer og give brugere overalt højhastighedsadgang til information? Indholdsleverings- og distributionsnetværk, også kendt som Content Delivery Network eller blot CDN, skal klare disse opgaver.

Der er mere og mere "tungt" indhold på internettet. Samtidig viser talrige undersøgelser, at brugerne ikke ønsker at beskæftige sig med webtjenester, hvis de tager længere tid end 4-5 sekunder at indlæse. For lav indlæsningshastighed på et websted er fyldt med tab af publikum, hvilket helt sikkert vil føre til et fald i trafik, konvertering og dermed profit. Indholdsleveringsnetværk (CDN'er) eliminerer i teorien disse problemer og deres konsekvenser. Men i virkeligheden bestemmes alt som sædvanligt af detaljerne og nuancerne i en bestemt sag, som der er masser af på dette område.

Hvor kom ideen om distribuerede netværk fra?

Lad os starte med en kort udflugt i historie og definitioner af begreber. CDN er et netværk af en gruppe af servermaskiner placeret forskellige steder for at give adgang til internetindhold, der dækker et stort antal brugere. Ideen med distribuerede netværk er at have flere points of presence (PoP) på én gang, som er placeret uden for kildeserveren. Et sådant system vil behandle rækken af ​​indgående anmodninger hurtigere, hvilket øger responsen og hastigheden af ​​overførsel af data.

Problemet med at levere indhold til brugerne opstod akut på toppen af ​​internettets udvikling, dvs. i midten af ​​90'erne. Datidens servere, hvis ydeevne ikke nåede selv moderne flagskibsbærbare computere, kunne næsten ikke modstå belastningen og kunne ikke klare den stadigt stigende trafik. Microsoft brugte hundredvis af millioner af dollars årligt på forskning relateret til informationsmotorvejen (de berømte 640 KB fra Bill Gates dukker straks op). For at løse disse problemer var vi nødt til at bruge hierarkisk caching, skifte fra modemer til fiberoptik og analysere netværkstopologien i detaljer. Situationen mindede om et gammelt lokomotiv, som suser langs skinnerne og undervejs er moderniseret med alle mulige midler for at øge hastigheden.

Allerede i slutningen af ​​90'erne indså ejerne af webportaler, at for at reducere belastningen og levere de nødvendige anmodninger, var de nødt til at bruge mellemliggende servere. Sådan opstod de første CDN'er, der distribuerede statisk indhold fra forskellige servere geografisk spredt rundt i verden. Omtrent samtidig dukkede en forretning baseret på distribuerede netværk op. Den største (mindst en af ​​de største) CDN-udbydere i verden, Akamai, blev en pioner på dette område og startede sin rejse i 1998. Et par år senere blev CDN udbredt, og indtægterne fra levering af indhold og bidrag beløb sig til titusinder af millioner dollars om måneden.

I dag støder vi på et CDN, hver gang vi går til en kommerciel side med høj trafik eller kommunikerer på sociale netværk. Tjenesten leveres af: Amazon, Cloudflare, Akamai, samt mange andre transnationale udbydere. Desuden har store virksomheder en tendens til at bruge deres egne CDN'er, hvilket giver dem en række fordele i hastigheden og kvaliteten af ​​indholdslevering. Hvis Facebook ikke havde distribuerede netværk, men kun nøjedes med en oprindelsesserver placeret i USA, kunne det tage væsentligt længere tid at indlæse en profil for brugere i Østeuropa.

Et par ord om CDN og streaming

FutureSource Consulting analyserede musikindustrien og konkluderede, at antallet af abonnementer på musikstreamingtjenester i 2023 vil nå næsten en halv milliard mennesker. Ydermere vil tjenester modtage mere end 90 % af deres omsætning fra streaming af lyd. Situationen med video er den samme; udtryk som let's play, onlinekoncert og online biograf er allerede blevet forankret i det populære leksikon. Apple, Google, YouTube og mange andre virksomheder har deres egne streamingtjenester.

I sin tidlige introduktion blev CDN primært brugt til websteder med statisk indhold. Statisk er information, der ikke ændrer sig afhængig af brugerhandlinger, tid og andre faktorer, dvs. er ikke personliggjort. Men stigningen i streaming af video- og lydtjenester har tilføjet endnu et almindeligt anvendelsestilfælde for distribuerede netværk. Mellemservere, der er placeret tæt på målgruppen rundt om i verden, gør det muligt at give stabil adgang til indhold i perioder med spidsbelastning, hvilket eliminerer manglen på internetflaskehalse.

Hvordan fungerer denne her

Essensen af ​​alle CDN'er er nogenlunde den samme: brug formidlere til at kunne levere indhold til slutforbrugeren hurtigere. Det fungerer som følger: Brugeren sender en anmodning om at downloade en fil, den modtages af CDN-serveren, som foretager et engangsopkald til den originale server og giver indholdet til brugeren. Parallelt hermed cacher CDN filer i en given periode og behandler alle efterfølgende anmodninger fra sin egen cache. Eventuelt kan de også forudindlæse filer fra kildeserveren, justere cache-opbevaringsperioden, komprimere tunge filer og meget mere. I den mest ideelle situation sender værten hele strømmen til en CDN-node, som allerede bruger sine egne ressourcer til at levere indhold til brugerne. Det siger sig selv, at effektiv caching af information, såvel som distribution af anmodninger ikke til én server, men til netværket, vil føre til en mere afbalanceret trafikbelastning.

De mystiske måder at indholde eller lad os sige et ord om CDN
Det andet vigtige træk ved CDN-drift er reduktionen af ​​forsinkelser i datatransmission (også kendt som RTT - rundrejsetid). Etablering af en TCP-forbindelse, download af medieindhold, en JS-fil, start af en TLS-session, alt dette afhænger af ping. Det er klart, at jo tættere du er på kilden, jo hurtigere kan du få et svar fra den. Selv lysets hastighed har trods alt sin grænse: omkring 200 tusinde km/s via optisk fiber. Det betyder, at fra Moskva til Washington vil forsinkelsen være omkring 75 ms i RTT, og dette er uden indflydelse fra mellemudstyr.

For bedre at forstå, hvilke problemer indholdsdistributionsnetværk løser, er her en liste over aktuelle løsninger:

  • Google, Yandex, MaxCDN (brug gratis CDN'er til at distribuere JS-biblioteker, har mere end 90 tilstedeværelsespunkter i de fleste lande i verden);
  • Cloudinary, Cloudimage, Google (klientoptimeringstjenester og biblioteker: billeder, videoer, skrifttyper osv.);
  • Jetpack, Incapsula, Swarmify osv. (optimering af ressourcer i indholdsstyringssystemer: bitrix, wordpress osv.);
  • CDNVideo, StackPath, NGENIX, Megafon (CDN til distribution af statisk indhold, brugt som netværk til generelle formål);
  • Imperva, Cloudflare (løsninger til at fremskynde indlæsning af hjemmeside).

De første 3 typer CDN fra listen er designet til kun at overføre en del af trafikken fra hovedserveren. De resterende 2 bruges som fuldgyldige proxyservere med fuld transmission af kanaler fra kildeværten.

Hvem og hvilke fordele giver teknologien?

I teorien kan enhver hjemmeside, der sælger sine produkter/tjenester til virksomhedskunder eller enkeltpersoner (B2B eller B2C), drage fordel af at implementere et CDN. Det er vigtigt, at dens målgruppe, dvs. brugerbasen var uden for deres geografiske placering. Men selvom dette ikke er tilfældet, vil distributionsnetværk hjælpe med belastningsbalancering for store mængder indhold.

Det er ingen hemmelighed, at et par tusinde tråde er nok til at tilstoppe en serverkanal. Derfor vil distribution af videoudsendelser til den brede offentlighed uundgåeligt føre til dannelsen af ​​en flaskehals - internetkanalens båndbredde. Vi ser det samme, når der er mange små, usømmede billeder på en hjemmeside (f.eks. produktforhåndsvisninger). Oprindelsesserveren bruger én TCP-forbindelse, når den behandler et vilkårligt antal forespørgsler, som sætter downloadingen i kø. Tilføjelse af et CDN gør det nødvendigt at distribuere anmodninger på tværs af flere domæner og bruge flere TCP-forbindelser, hvilket letter kanalbelastningen. Og tur-retur-forsinkelsesformlen, selv i de mest triste scenarier, giver en værdi på 6-7 RRT og har formen: TCP+TLS+DNS. Dette inkluderer også forsinkelser forbundet med aktivering af radiokanalen på enheden og transmission af signalet til mobilmaster.

Efter at have opsummeret teknologiens styrker til onlineforretninger fremhæver eksperter følgende punkter:

  1. Hurtig infrastrukturskalering + reduceret båndbredde. Flere servere = flere punkter, hvor information er gemt. Som et resultat behandler ét punkt mindre trafik pr. tidsenhed, hvilket betyder, at det kan have mindre gennemløb. Derudover kommer optimeringsværktøjer i spil, så du kan klare spidsbelastninger uden at spilde tid.
  2. Mindre ping. Vi har allerede nævnt, at folk ikke kan lide at vente længe på internettet. Derfor bidrager høj ping til høje afvisningsprocenter. Forsinkelsen kan skyldes problemer med databehandling på serveren, brug af gammelt udstyr eller simpelthen dårligt gennemtænkt netværkstopologi. De fleste af disse problemer løses delvist af indholdsdistributionsnetværk. Selvom det her er vigtigt at bemærke, at den reelle fordel ved at implementere teknologien kun vil være synlig, når "forbruger-ping" overstiger 80-90 ms, og dette er afstanden fra Moskva til New York.

    De mystiske måder at indholde eller lad os sige et ord om CDN

  3. Datasikkerhed. DDos (Denial of Service-virusangreb) har til formål at nedbryde serveren for at opnå nogle fordele. Én server er meget mere modtagelig for informationssikkerhedssårbarheder end et distribueret netværk (installation af infrastrukturen for en sådan gigant som CloudFlare er ikke en nem opgave). Takket være brugen af ​​filtre og korrekt fordeling af anmodninger over netværket kan du nemt forhindre kunstigt skabte vanskeligheder med adgang til legitim trafik.
  4. Hurtig indholdsdistribution og ekstra servicefunktioner. Distribution af store mængder information på et servernetværk vil gøre det muligt hurtigt at formidle tilbuddet til slutforbrugeren. Igen, du behøver ikke lede langt efter eksempler - husk bare Amazon og AliExpress.
  5. Evnen til at "maske" problemer med hovedsiden. Der er ingen grund til at vente, indtil DNS er opdateret; du kan overføre det til en ny placering og distribuere tidligere cachelagret indhold. Dette kan igen forbedre fejltolerancen.

Vi har ordnet fordelene. Lad os nu se på, hvilke nicher der drager fordel af dette.

Annoncevirksomhed

Annoncering er motoren til fremskridt. For at forhindre, at motoren brænder ud, skal den belastes moderat. Så reklamevirksomheden, der forsøger at klare den moderne digitale verden, står over for problemerne med "tungt indhold". Heavy media refererer til multimediereklamer (hovedsageligt animerede bannere og videoer), der kræver høj netværksbåndbredde. Et websted med multimedie tager lang tid at indlæse og kan fryse, hvilket tester styrken af ​​brugernes nerver. De fleste mennesker opgiver sådanne ressourcer, selv før de har downloadet alle tilgængelige oplysninger. Annoncevirksomheder kan drage fordel af CDN'er til at løse disse problemer.

salget

E-handel skal konstant udvide sin geografiske dækning. Et andet vigtigt punkt er kampen mod konkurrenterne, som der er masser af i alle markedssegmenter. Hvis en hjemmeside ikke opfylder brugerkravene (herunder at den tager lang tid at indlæse), vil den ikke være populær og vil ikke være i stand til at give konsekvent høje konverteringer. Implementering af et CDN bør bevise sin fordel ved at håndtere dataanmodninger fra forskellige lokationer. Trafikfordeling vil også hjælpe med at forhindre trafikstigninger og efterfølgende serverfejl.

Platforme med underholdningsindhold

Alle former for underholdningsplatforme er velegnede her, lige fra download af film og spil til streaming af videoer. På trods af at teknologien arbejder med statiske data, kan streaming data nå brugeren hurtigere gennem repeatere. Igen er cachelagring af CDN-oplysninger en redning for ejere af store portaler - multimedielagring.

Online spil

Internetspil skal placeres i en separat sektion. Hvis annoncering kræver stor båndbredde, så er onlineprojekter endnu mere ressourcekrævende. Udbydere står over for et problem, der har to sider: hastighed for adgang til servere + sikring af høj spilydelse med smuk grafik. Et CDN for online spil er en mulighed for at have såkaldte "push zones", hvor udviklere kan gemme spil på servere, der er placeret tæt på brugerne. Dette giver dig mulighed for at reducere påvirkningen af ​​adgangshastigheden til den originale server og derfor sikre komfortabelt gameplay overalt.

Hvorfor CDN ikke er et vidundermiddel

De mystiske måder at indholde eller lad os sige et ord om CDN
På trods af de åbenlyse fordele er det ikke alle og ikke altid, der stræber efter at introducere teknologi i deres virksomhed. Hvorfor det? Paradoksalt nok følger nogle ulemper af fordelene, plus et par flere punkter relateret til netværksimplementering er tilføjet. Marketingfolk vil tale smukt om alle fordelene ved teknologi, og glemmer at nævne, at de alle bliver meningsløse under en lang række forhold. Hvis vi ser på ulemperne ved CDN mere detaljeret, er det værd at fremhæve:

  • Arbejd kun med statik. Ja, de fleste moderne hjemmesider har en lav procentdel af dynamisk indhold. Men hvor siderne er personlige, vil CDN ikke være i stand til at hjælpe (undtagen måske aflaste en stor mængde trafik);
  • Caching forsinkelse. Optimering i sig selv er en af ​​de vigtigste fordele ved distributionsnetværk. Men når du foretager en ændring på oprindelsesserveren, tager det tid, før CDN'en henter den tilbage på tværs af alle dens servere;
  • Masseblokeringer. Hvis IP-adressen på et CDN af en eller anden grund er forbudt, lukkes alle websteder, der er hostet på det.
  • I de fleste tilfælde vil browseren oprette to forbindelser (til oprindelsesserveren og CDN). Og det er yderligere millisekunders ventetid;
  • Binding til IP-adressen på projekter (inklusive ikke-eksisterende), der tidligere blev tildelt den. Som et resultat får vi komplicerede placeringer fra Google-søgebots og vanskeligheder med at bringe webstedet til tops under SEO-promovering;
  • CDN-knuden er et potentielt fejlpunkt. Hvis du bruger dem, er det vigtigt på forhånd at forstå, hvordan systemroutingen fungerer, og hvilke fejl der kan opstå under arbejdet med siden;
  • Det er banalt, men du skal betale for indholdsleveringstjenester. Generelt er omkostningerne proportionale med mængden af ​​trafik, hvilket betyder, at der kan være behov for kontrol for at planlægge budgettet.

En vigtig kendsgerning: selv CDN'ets nærhed til brugeren garanterer ikke et lavt ping. Ruten kan bygges fra en klient til en vært i et andet land eller endda på et andet kontinent. Dette afhænger af routingpolitikken for et bestemt netværk og dets forhold til teleoperatører (peering). Mange store CDN-udbydere har flere planer, hvor omkostningerne direkte påvirker nærheden af ​​tilstedeværelsespunktet, når de leverer indhold til målbrugere.

Der er muligheder - start dit eget CDN

Er du utilfreds med politikkerne for virksomheder, der leverer indholdsdistributionsnetværkstjenester, men din virksomhed skal udvides? Hvis det er muligt, hvorfor så ikke prøve at starte dit eget CDN. Dette giver mening i følgende tilfælde:

  • De nuværende omkostninger til indholdsdistribution lever ikke op til forventningerne og er ikke økonomisk begrundede;
  • Vi har brug for en permanent cache uden nærhed til andre websteder på serveren og kanalen;
  • Målgruppen er i en region, hvor der ikke er nogen CDN-tilstedeværelsespunkter tilgængelige for dig;
  • Behovet for at tilpasse indstillinger ved levering af indhold;
  • Der er behov for at fremskynde leveringen af ​​dynamisk indhold;
  • Mistanke om krænkelse af brugernes privatliv og andre ulovlige handlinger fra tredjepartstjenesters side.

Lancering af et CDN kræver, at du har et domænenavn, flere servere i forskellige regioner (virtuelle eller dedikerede) og et anmodningsbehandlingsværktøj. Glem ikke at installere SLL-certifikater, opsætte og redigere programmer til at betjene statisk indhold (Nginx eller Apache) og effektivt overvåge hele systemet.

Korrekt konfiguration af caching-proxyer er genstand for en separat artikel, så vi vil ikke beskrive i detaljer her: hvor og hvilken parameter der skal indstilles korrekt. I betragtning af opstartsomkostninger og tid til at implementere et netværk, kan det være mere lovende at bruge færdige løsninger. Men det er nødvendigt at blive styret af den nuværende situation og planlægge flere skridt fremad.

Således at

CDN er et sæt ekstra kapaciteter til at videresende din trafik til masserne. Er de nødvendige til online-forretning? Ja og nej, det hele afhænger af, hvilken målgruppe indholdet er beregnet til, og hvilke mål virksomhedsejeren forfølger.

Regionale og højt specialiserede projekter vil få flere ulemper end fordele ved implementeringen af ​​CDN. Anmodninger vil stadig komme først til kildeserveren, men gennem en mellemmand. Deraf den tvivlsomme reduktion i ping, men ganske bestemte månedlige omkostninger for at bruge tjenesten. Har du godt netværksudstyr, kan du nemt forbedre eksisterende informationssikkerhedsalgoritmer, placere dine servere tættere på brugerne og løbende modtage optimeringer og overskud gratis.

Men hvem der egentlig burde tænke på mellemliggende servere er store virksomheder, hvis infrastruktur ikke kan klare den konstant voksende trafikstrøm. CDN viser sig perfekt som en teknologi, der giver dig mulighed for hurtigt at implementere et netværk til en bred geografi af brugere, levere komfortabel cloud-spil eller sælge varer på en stor kommerciel platform.

Men selv med et bredt geografisk publikum er det vigtigt på forhånd at forstå, hvorfor der er behov for indholdsdistributionsnetværk. Websiteacceleration er stadig en kompleks opgave, som ikke på magisk vis kan løses ved at implementere et CDN. Glem ikke så vigtige funktioner som: cross-platform, tilpasningsevne, optimering af serverdelen, kode, rendering osv. En foreløbig teknisk revision og passende foranstaltninger til at eliminere problemer er stadig den optimale løsning for ethvert online projekt, uanset dets fokus og omfang.

Om reklamernes rettigheder

Du kan bestille lige nu kraftfulde servereder bruger de nyeste processorer amd epyc. Fleksible planer - fra 1 CPU-kerne til vanvittige 128 CPU-kerner, 512 GB RAM, 4000 GB NVMe.

De mystiske måder at indholde eller lad os sige et ord om CDN

Kilde: www.habr.com

Tilføj en kommentar