De mysterieuze manieren van inhoud of laten we een woord zeggen over CDN

De mysterieuze manieren van inhoud of laten we een woord zeggen over CDN

Disclaimer:
Dit artikel bevat geen informatie die voorheen onbekend was bij lezers die bekend zijn met het concept CDN, maar heeft het karakter van een technologieoverzicht

De eerste webpagina verscheen in 1990 en was slechts enkele bytes groot. Sindsdien is de inhoud zowel kwalitatief als kwantitatief geschaald. De ontwikkeling van het IT-ecosysteem heeft ertoe geleid dat moderne webpagina's worden gemeten in megabytes en dat de trend naar toenemende netwerkbandbreedte elk jaar alleen maar sterker wordt. Hoe kunnen contentaanbieders grote geografische schalen bestrijken en gebruikers overal snelle toegang tot informatie bieden? Contentleverings- en distributienetwerken, ook wel bekend als Content Delivery Network of kortweg CDN, moeten deze taken aankunnen.

Er is steeds meer ‘zware’ inhoud op internet. Tegelijkertijd blijkt uit talloze onderzoeken dat gebruikers geen zin hebben in webservices als het laden ervan langer dan 4-5 seconden duurt. Een te lage laadsnelheid van een site gaat gepaard met verlies van publiek, wat zeker zal leiden tot een afname van het verkeer, de conversie en dus de winst. Content Delivery Networks (CDN’s) elimineren in theorie deze problemen en de gevolgen ervan. Maar in werkelijkheid wordt, zoals gewoonlijk, alles bepaald door de details en nuances van een bepaald geval, waarvan er op dit gebied genoeg zijn.

Waar komt het idee van gedistribueerde netwerken vandaan?

Laten we beginnen met een korte excursie naar de geschiedenis en definities van termen. CDN is een netwerk van een groep servermachines die zich op verschillende locaties bevinden om toegang te bieden tot internetinhoud voor een groot aantal gebruikers. Het idee van gedistribueerde netwerken is om meerdere Points of Presence (PoP) tegelijk te hebben, die zich buiten de bronserver bevinden. Een dergelijk systeem zal de reeks binnenkomende verzoeken sneller verwerken, waardoor de respons en snelheid van gegevensoverdracht toenemen.

Het probleem met het leveren van inhoud aan gebruikers ontstond acuut op het hoogtepunt van de ontwikkeling van internet, d.w.z. halverwege de jaren 90. De servers van die tijd, waarvan de prestaties zelfs moderne vlaggenschiplaptops niet bereikten, konden de belasting nauwelijks aan en konden het steeds toenemende verkeer niet aan. Microsoft besteedde jaarlijks honderden miljoenen dollars aan onderzoek met betrekking tot de informatiesnelweg (denk meteen aan de beroemde 640 KB van Bill Gates). Om deze problemen op te lossen, moesten we hiërarchische caching gebruiken, overstappen van modems naar glasvezel en de netwerktopologie in detail analyseren. De situatie deed denken aan een oude locomotief, die over de rails snelt en onderweg met alle mogelijke middelen wordt gemoderniseerd om de snelheid te verhogen.

Al eind jaren negentig realiseerden de eigenaren van webportals zich dat ze tussenliggende servers moesten gebruiken om de belasting te verminderen en aan de vereiste verzoeken te voldoen. Dit is hoe de eerste CDN’s verschenen, die statische inhoud verspreidden vanaf verschillende servers die geografisch over de hele wereld verspreid waren. Rond dezelfde tijd verscheen er een bedrijf gebaseerd op gedistribueerde netwerken. De grootste (minstens één van de grootste) CDN-aanbieders ter wereld, Akamai, werd een pionier op dit gebied en begon zijn reis in 90. Een paar jaar later raakte CDN wijdverspreid en de inkomsten uit het leveren van inhoud en bijdragen bedroegen maandelijks tientallen miljoenen dollars.

Tegenwoordig komen we elke keer dat we naar een drukbezochte commerciële pagina gaan of op sociale netwerken communiceren een CDN tegen. De dienst wordt geleverd door: Amazon, Cloudflare, Akamai en vele andere transnationale providers. Bovendien hebben grote bedrijven de neiging om hun eigen CDN’s te gebruiken, wat hen een aantal voordelen oplevert op het gebied van de snelheid en kwaliteit van de levering van inhoud. Als Facebook geen gedistribueerde netwerken zou hebben, maar tevreden zou zijn met alleen een origin-server in de Verenigde Staten, zou het aanzienlijk langer kunnen duren om een ​​profiel te laden voor gebruikers in Oost-Europa.

Een paar woorden over CDN en streaming

FutureSource Consulting analyseerde de muziekindustrie en concludeerde dat in 2023 het aantal abonnementen op muziekstreamingdiensten bijna een half miljard mensen zal bereiken. Bovendien zullen diensten meer dan 90% van hun inkomsten uit streaming audio halen. De situatie met video is vergelijkbaar; termen als let’s play, online concert en online cinema zijn al verankerd in het populaire lexicon. Apple, Google, YouTube en vele andere bedrijven hebben hun eigen streamingdiensten.

Bij de vroege introductie werd CDN voornamelijk gebruikt voor sites met statische inhoud. Statisch is informatie die niet verandert afhankelijk van gebruikersacties, tijd en andere factoren, d.w.z. is niet gepersonaliseerd. Maar de opkomst van streaming video- en audiodiensten heeft er nog een veelvoorkomend gebruiksscenario voor gedistribueerde netwerken aan toegevoegd. Intermediaire servers, die zich dicht bij de doelgroep over de hele wereld bevinden, maken het mogelijk om stabiele toegang tot inhoud te bieden tijdens perioden van piekbelasting, waardoor het ontbreken van internetknelpunten wordt geëlimineerd.

Hoe werkt dit

De essentie van alle CDN’s is ongeveer hetzelfde: schakel tussenpersonen in om sneller content aan de eindconsument te kunnen leveren. Het werkt als volgt: de gebruiker stuurt een verzoek om een ​​bestand te downloaden, dit wordt ontvangen door de CDN-server, die eenmalig een oproep doet naar de oorspronkelijke server en de inhoud aan de gebruiker geeft. Parallel hiermee slaat het CDN bestanden gedurende een bepaalde periode op in de cache en verwerkt alle daaropvolgende verzoeken vanuit zijn eigen cache. Optioneel kunnen ze ook bestanden vooraf laden vanaf de bronserver, de bewaarperiode van de cache aanpassen, zware bestanden comprimeren en nog veel meer. In de meest ideale situatie geeft de host de volledige stream door aan een CDN-knooppunt, dat al zijn eigen bronnen gebruikt om inhoud aan gebruikers te leveren. Het spreekt voor zich dat effectieve caching van informatie, evenals de distributie van verzoeken, niet naar één server, maar naar het netwerk, zal leiden tot een meer evenwichtige verkeersbelasting.

De mysterieuze manieren van inhoud of laten we een woord zeggen over CDN
Het tweede belangrijke kenmerk van CDN-werking is de vermindering van vertragingen in de datatransmissie (ook bekend als RTT - round trip time). Het tot stand brengen van een TCP-verbinding, het downloaden van media-inhoud, een JS-bestand, het starten van een TLS-sessie, dit alles is afhankelijk van ping. Het is duidelijk dat hoe dichter je bij de bron bent, hoe sneller je er een reactie van kunt krijgen. Zelfs de snelheid van het licht heeft immers zijn limiet: zo’n 200 duizend km/s via glasvezel. Dit betekent dat van Moskou naar Washington de vertraging ongeveer 75 ms zal bedragen in RTT, en dit is zonder de invloed van tussenliggende apparatuur.

Om beter te begrijpen welke problemen contentdistributienetwerken oplossen, vindt u hier een lijst met huidige oplossingen:

  • Google, Yandex, MaxCDN (gebruik gratis CDN's om JS-bibliotheken te distribueren, hebben meer dan 90 aanwezigheidspunten in de meeste landen van de wereld);
  • Cloudinary, Cloudimage, Google (clientoptimalisatiediensten en bibliotheken: afbeeldingen, video's, lettertypen, enz.);
  • Jetpack, Incapsula, Swarmify, enz. (optimalisatie van bronnen in contentmanagementsystemen: bitrix, wordpress, enz.);
  • CDNVideo, StackPath, NGENIX, Megafon (CDN voor het distribueren van statische inhoud, gebruikt als netwerken voor algemene doeleinden);
  • Imperva, Cloudflare (oplossingen om het laden van websites te versnellen).

De eerste drie typen CDN uit de lijst zijn ontworpen om slechts een deel van het verkeer van de hoofdserver over te dragen. De overige 3 worden gebruikt als volwaardige proxyservers met volledige transmissie van kanalen vanaf de bronhost.

Voor wie en welke voordelen biedt de technologie?

In theorie kan elke website die zijn producten/diensten verkoopt aan zakelijke klanten of particulieren (B2B of B2C) profiteren van de implementatie van een CDN. Het is belangrijk dat de doelgroep, d.w.z. Het gebruikersbestand bevond zich buiten hun geografische locatie. Maar zelfs als dit niet het geval is, zullen distributienetwerken helpen bij het balanceren van de belasting voor grote hoeveelheden inhoud.

Het is geen geheim dat een paar duizend threads genoeg zijn om een ​​serverkanaal te verstoppen. Daarom zal het distribueren van video-uitzendingen naar het grote publiek onvermijdelijk leiden tot de vorming van een knelpunt: de bandbreedte van het internetkanaal. Hetzelfde zien we als er veel kleine, niet-gestikte afbeeldingen op een website staan ​​(bijvoorbeeld productvoorbeelden). De oorspronkelijke server gebruikt één TCP-verbinding bij het verwerken van een willekeurig aantal verzoeken, waardoor de download in de wachtrij wordt geplaatst. Het toevoegen van een CDN maakt het noodzakelijk om verzoeken over meerdere domeinen te verdelen en meerdere TCP-verbindingen te gebruiken, waardoor de kanaalbelasting wordt verlicht. En de formule voor retourvertraging geeft, zelfs in de treurigste scenario's, een waarde van 6-7 RRT en heeft de vorm: TCP+TLS+DNS. Dit omvat ook vertragingen die verband houden met het activeren van het radiokanaal op het apparaat en het verzenden van het signaal naar zendmasten.

Nadat ze de sterke punten van technologie voor online zakendoen hebben samengevat, benadrukken experts de volgende punten:

  1. Snelle schaalvergroting van de infrastructuur + verminderde bandbreedte. Meer servers = meer punten waar informatie wordt opgeslagen. Als gevolg hiervan verwerkt één punt minder verkeer per tijdseenheid, wat betekent dat het mogelijk minder doorvoer heeft. Bovendien komen optimalisatietools van pas, waardoor u piekbelastingen kunt opvangen zonder tijd te verspillen.
  2. Lagere ping. We hebben al gezegd dat mensen niet graag lang op internet wachten. Daarom draagt ​​een hoge ping bij aan hoge bouncepercentages. De vertraging kan worden veroorzaakt door problemen met de gegevensverwerking op de server, het gebruik van oude apparatuur of eenvoudigweg een slecht doordachte netwerktopologie. De meeste van deze problemen worden gedeeltelijk opgelost door inhouddistributienetwerken. Hoewel het belangrijk is om hier op te merken dat het echte voordeel van de implementatie van de technologie pas zichtbaar zal zijn wanneer de ‘consumentenping’ groter is dan 80-90 ms, en dit is de afstand van Moskou naar New York.

    De mysterieuze manieren van inhoud of laten we een woord zeggen over CDN

  3. Dataveiligheid. DDo's (Denial of Service-virusaanvallen) zijn bedoeld om de server te laten crashen om enig voordeel te behalen. Eén server is veel gevoeliger voor kwetsbaarheden in de informatiebeveiliging dan een gedistribueerd netwerk (het installeren van de infrastructuur van zo'n gigant als CloudFlare is geen gemakkelijke taak). Dankzij het gebruik van filters en een goede verdeling van verzoeken over het netwerk kunt u eenvoudig kunstmatig gecreëerde problemen met toegang tot legitiem verkeer voorkomen.
  4. Snelle contentdistributie en extra servicefuncties. Door grote hoeveelheden informatie op een servernetwerk te distribueren, wordt het mogelijk om het aanbod snel aan de eindconsument over te brengen. Nogmaals, je hoeft niet ver te zoeken naar voorbeelden; denk maar aan Amazon en AliExpress.
  5. De mogelijkheid om problemen met de hoofdsite te “maskeren”. U hoeft niet te wachten tot de DNS is bijgewerkt; u kunt deze naar een nieuwe locatie overbrengen en eerder in de cache opgeslagen inhoud distribueren. Dit kan op zijn beurt de fouttolerantie verbeteren.

Wij hebben de voordelen op een rij gezet. Laten we nu eens kijken welke niches hiervan profiteren.

Reclame bedrijf

Reclame is de motor van vooruitgang. Om te voorkomen dat de motor doorbrandt, moet deze matig worden belast. De reclamebranche, die probeert om te gaan met de moderne digitale wereld, wordt dus geconfronteerd met de problemen van ‘zware inhoud’. Heavy media verwijst naar multimedia-advertenties (voornamelijk geanimeerde banners en video's) waarvoor een hoge netwerkbandbreedte vereist is. Het laden van een website met multimedia duurt lang en kan vastlopen, waardoor de zenuwen van gebruikers op de proef worden gesteld. De meeste mensen verlaten dergelijke bronnen nog voordat ze alle beschikbare informatie hebben gedownload. Advertentiebedrijven kunnen profiteren van CDN’s om deze problemen op te lossen.

de verkoop

E-commerce moet zijn geografische dekking voortdurend uitbreiden. Een ander belangrijk punt is de strijd tegen concurrenten, waarvan er in elk marktsegment voldoende zijn. Als een website niet aan de gebruikersvereisten voldoet (waaronder het laden lang duurt), zal deze niet populair zijn en niet in staat zijn consistent hoge conversies te genereren. Het implementeren van een CDN zou zijn voordeel moeten bewijzen bij het afhandelen van dataverzoeken vanaf verschillende locaties. Bovendien helpt verkeersdistributie verkeerspieken en daaropvolgende serverstoringen te voorkomen.

Platforms met entertainmentinhoud

Allerlei entertainmentplatforms zijn hier geschikt, van het downloaden van films en games tot het streamen van video's. Ondanks dat de technologie met statische data werkt, kan streaming data via repeaters de gebruiker sneller bereiken. Nogmaals, het cachen van CDN-informatie is een redding voor eigenaren van grote portals - multimedia-opslag.

Online spellen

Internetspellen moeten in een aparte sectie worden geplaatst. Als adverteren een grote bandbreedte vereist, zijn online projecten zelfs nog veeleisender. Providers worden geconfronteerd met een probleem dat twee kanten heeft: snelheid van toegang tot servers + het garanderen van hoge spelprestaties met prachtige graphics. Een CDN voor online games is een mogelijkheid om zogenaamde “pushzones” te hebben waar ontwikkelaars games kunnen opslaan op servers die zich dicht bij gebruikers bevinden. Hierdoor kunt u de impact van de toegangssnelheid tot de originele server verminderen en daardoor overal een comfortabele gameplay garanderen.

Waarom CDN geen wondermiddel is

De mysterieuze manieren van inhoud of laten we een woord zeggen over CDN
Ondanks de voor de hand liggende voordelen streeft niet iedereen ernaar om technologie in hun bedrijf te introduceren. Waarom is dat? Paradoxaal genoeg volgen er enkele nadelen uit de voordelen, en worden er nog een paar punten met betrekking tot netwerkimplementatie toegevoegd. Marketeers zullen prachtig praten over alle voordelen van technologie, waarbij ze vergeten te vermelden dat ze allemaal betekenisloos worden onder een breed scala aan omstandigheden. Als we de nadelen van CDN in meer detail bekijken, is het de moeite waard om te benadrukken:

  • Werk alleen met statische gegevens. Ja, de meeste moderne websites hebben een laag percentage dynamische inhoud. Maar als de pagina's gepersonaliseerd zijn, kan het CDN niet helpen (behalve misschien een grote hoeveelheid verkeer ontlasten);
  • Vertraging bij het cachen. Optimalisatie zelf is een van de belangrijkste voordelen van distributienetwerken. Maar als je een wijziging aanbrengt op de oorspronkelijke server, duurt het even voordat het CDN deze op al zijn servers opnieuw in de cache heeft geplaatst;
  • Massale blokkades. Als om welke reden dan ook het IP-adres van een CDN wordt verboden, worden alle sites die daarop worden gehost gesloten;
  • In de meeste gevallen zal de browser twee verbindingen maken (met de oorspronkelijke server en het CDN). En dit zijn extra milliseconden wachten;
  • Bindend aan het IP-adres van projecten (inclusief niet-bestaande) die er eerder aan waren toegewezen. Als gevolg hiervan krijgen we ingewikkelde rankings van Google-zoekbots en problemen bij het naar de top brengen van de site tijdens SEO-promotie;
  • Het CDN-knooppunt is een potentieel faalpunt. Als u ze gebruikt, is het belangrijk om vooraf te begrijpen hoe de systeemroutering werkt en welke fouten kunnen optreden tijdens het werken met de site;
  • Het is banaal, maar je moet betalen voor diensten voor het leveren van inhoud. Over het algemeen zijn de kosten evenredig met de hoeveelheid verkeer, wat betekent dat controles nodig kunnen zijn om het budget te plannen.

Een belangrijk feit: zelfs de nabijheid van het CDN tot de gebruiker garandeert geen lage ping. De route kan worden opgebouwd van een klant naar een host in een ander land of zelfs op een ander continent. Dit is afhankelijk van het routeringsbeleid van een bepaald netwerk en de relatie daarvan met telecomoperatoren (peering). Veel grote CDN-providers hebben meerdere abonnementen, waarbij de kosten rechtstreeks van invloed zijn op de nabijheid van het aanwezigheidspunt bij het leveren van inhoud aan doelgebruikers.

Er zijn mogelijkheden: lanceer uw eigen CDN

Bent u niet tevreden met het beleid van bedrijven die contentdistributienetwerkdiensten leveren, maar moet uw bedrijf uitbreiden? Probeer indien mogelijk uw eigen CDN te lanceren. Dit is zinvol in de volgende gevallen:

  • De huidige kosten voor contentdistributie voldoen niet aan de verwachtingen en zijn niet economisch verantwoord;
  • We hebben een permanente cache nodig, zonder nabijheid van andere sites op de server en het kanaal;
  • De doelgroep bevindt zich in een regio waar er geen CDN-aanwezigheidspunten voor u beschikbaar zijn;
  • De noodzaak om instellingen te personaliseren bij het leveren van inhoud;
  • Het is nodig om de levering van dynamische inhoud te versnellen;
  • Vermoedens van schending van de privacy van gebruikers en andere illegale acties van diensten van derden.

Voor het lanceren van een CDN heb je een domeinnaam, meerdere servers in verschillende regio's (virtueel of speciaal) en een tool voor het verwerken van verzoeken nodig. Vergeet het installeren van SLL-certificaten niet, het opzetten en bewerken van programma's voor het aanbieden van statische inhoud (Nginx of Apache) en het effectief monitoren van het hele systeem.

De juiste configuratie van caching-proxy's is het onderwerp van een apart artikel, dus we zullen hier niet in detail beschrijven: waar en welke parameter correct moet worden ingesteld. Gezien de opstartkosten en de tijd om een ​​netwerk uit te rollen, kan het gebruik van kant-en-klare oplossingen veelbelovender zijn. Maar het is noodzakelijk om je te laten leiden door de huidige situatie en verschillende stappen vooruit te plannen.

Zodat

CDN is een reeks extra capaciteiten om uw verkeer aan de massa door te geven. Zijn ze nodig voor online zakendoen? Ja en nee, het hangt allemaal af van voor welk publiek de inhoud bedoeld is en welke doelen de bedrijfseigenaar nastreeft.

Regionale en zeer gespecialiseerde projecten zullen meer nadelen dan voordelen ondervinden van de implementatie van CDN. Verzoeken komen nog steeds eerst bij de bronserver, maar via een tussenpersoon. Vandaar de twijfelachtige reductie in ping, maar vrij duidelijke maandelijkse kosten voor het gebruik van de dienst. Als u over goede netwerkapparatuur beschikt, kunt u eenvoudig bestaande informatiebeveiligingsalgoritmen verbeteren, uw servers dichter bij de gebruikers plaatsen en doorlopend gratis optimalisaties en winst ontvangen.

Maar wie echt aan intermediaire servers zou moeten denken, zijn grote bedrijven waarvan de infrastructuur de voortdurend groeiende verkeersstroom niet aankan. CDN laat zich perfect zien als een technologie waarmee je snel een netwerk kunt inzetten voor een breed scala aan gebruikers, comfortabele cloudgaming kunt bieden of goederen kunt verkopen op een groot commercieel platform.

Maar zelfs met een breed geografisch publiek is het belangrijk om vooraf te begrijpen waarom netwerken voor inhouddistributie nodig zijn. Websiteversnelling blijft nog steeds een complexe taak, die niet op magische wijze kan worden opgelost door het implementeren van een CDN. Vergeet belangrijke functies niet zoals: platformonafhankelijk, aanpassingsvermogen, optimalisatie van het servergedeelte, code, weergave, enz. Een voorafgaande technische audit en adequate maatregelen om problemen te elimineren zijn nog steeds de optimale oplossing voor elk online project, ongeacht de focus en omvang ervan.

Als advertentie

U kunt nu bestellen krachtige serversdie gebruik maken van de nieuwste processors AMD Epyc. Flexibele abonnementen - van 1 CPU-kern tot maar liefst 128 CPU-kernen, 512 GB RAM, 4000 GB NVMe.

De mysterieuze manieren van inhoud of laten we een woord zeggen over CDN

Bron: www.habr.com

Voeg een reactie