De mystiska sätten att innehålla eller låt oss säga ett ord om CDN

De mystiska sätten att innehålla eller låt oss säga ett ord om CDN

varning:
Den här artikeln innehåller inte information som tidigare var okänd för läsare som är bekanta med konceptet CDN, men har karaktären av en tekniköversikt

Den första webbsidan dök upp 1990 och var bara några byte stor. Sedan dess har innehåll skalats både kvalitativt och kvantitativt. Utvecklingen av IT-ekosystemet har lett till att moderna webbsidor mäts i megabyte och trenden mot ökad nätverksbandbredd bara förstärks för varje år. Hur kan innehållsleverantörer täcka stora geografiska skalor och ge användare överallt snabb tillgång till information? Innehållsleverans- och distributionsnätverk, även känd som Content Delivery Network eller helt enkelt CDN, måste klara av dessa uppgifter.

Det finns mer och mer "tungt" innehåll på Internet. Samtidigt visar många studier att användare inte vill hantera webbtjänster om de tar längre tid än 4-5 sekunder att ladda. En för låg laddningshastighet för en webbplats är fylld med förlust av publik, vilket säkerligen kommer att leda till en minskning av trafik, konvertering och därmed vinst. Content delivery networks (CDN) eliminerar i teorin dessa problem och deras konsekvenser. Men i verkligheten, som vanligt, bestäms allt av detaljerna och nyanserna i ett visst fall, som det finns gott om på detta område.

Var kom idén med distribuerade nätverk ifrån?

Låt oss börja med en kort utflykt till historia och definitioner av termer. CDN är ett nätverk av en grupp servermaskiner placerade på olika platser för att ge tillgång till Internetinnehåll som täcker ett stort antal användare. Tanken med distribuerade nätverk är att ha flera närvaropunkter (PoP) samtidigt, som är placerade utanför källservern. Ett sådant system kommer att bearbeta mängden inkommande förfrågningar snabbare, vilket ökar svaret och överföringshastigheten för all data.

Problemet med att leverera innehåll till användarna uppstod akut på toppen av utvecklingen av internet, d.v.s. i mitten av 90-talet. Dåtidens servrar, vars prestanda inte nådde ens moderna flaggskeppsbärbara datorer, kunde knappast stå emot belastningen och klarade inte av den ständigt ökande trafiken. Microsoft spenderade hundratals miljoner dollar årligen på forskning relaterad till informationsmotorvägen (den berömda 640 KB från Bill Gates kommer omedelbart att tänka på). För att lösa dessa problem var vi tvungna att använda hierarkisk cachelagring, byta från modem till fiberoptik och analysera nätverkstopologin i detalj. Situationen påminde om ett gammalt lok, som rusar längs rälsen och längs vägen moderniseras med alla möjliga medel för att öka hastigheten.

Redan i slutet av 90-talet insåg ägarna av webbportaler att för att minska belastningen och tillhandahålla de nödvändiga förfrågningarna, behövde de använda mellanliggande servrar. Så här dök de första CDN:erna ut och distribuerade statiskt innehåll från olika servrar geografiskt utspridda runt om i världen. Ungefär samtidigt uppstod en distribuerad nätverksverksamhet. Den största (minst en av de största) CDN-leverantörerna i världen, Akamai, blev en pionjär inom detta område och började sin resa 1998. Ett par år senare blev CDN utbredd och intäkterna från innehållsleverans och bidrag uppgick till tiotals miljoner dollar varje månad.

Idag stöter vi på ett CDN varje gång vi går till en kommersiell sida med hög trafik eller kommunicerar på sociala nätverk. Tjänsten tillhandahålls av: Amazon, Cloudflare, Akamai, samt många andra transnationella leverantörer. Dessutom tenderar stora företag att använda sina egna CDN, vilket ger dem ett antal fördelar när det gäller hastigheten och kvaliteten på innehållsleveransen. Om Facebook inte hade distribuerade nätverk, utan bara nöjde sig med en ursprungsserver som ligger i USA, kan det ta betydligt längre tid att ladda en profil för användare i Östeuropa.

Några ord om CDN och streaming

FutureSource Consulting analyserade musikbranschen och kom fram till att 2023 kommer antalet prenumerationer på musikstreamingtjänster att nå nästan en halv miljard människor. Dessutom kommer tjänsterna att få mer än 90 % av sina intäkter från strömmande ljud. Situationen med video är liknande; termer som let's play, onlinekonsert och onlinebio har redan blivit förankrade i det populära lexikonet. Apple, Google, YouTube och många andra företag har sina egna streamingtjänster.

I sin tidiga introduktion användes CDN främst för webbplatser med statiskt innehåll. Statisk är information som inte förändras beroende på användarens handlingar, tid och andra faktorer, d.v.s. är inte personlig. Men ökningen av strömmande video- och ljudtjänster har lagt till ytterligare ett vanligt användningsfall för distribuerade nätverk. Intermediära servrar, placerade nära målgruppen runt om i världen, gör det möjligt att ge stabil tillgång till innehåll under perioder med toppbelastning, vilket eliminerar avsaknaden av flaskhalsar på Internet.

Hur fungerar den här

Kärnan i alla CDN:er är ungefär densamma: använd mellanhänder för att kunna leverera innehåll till slutkonsumenten snabbare. Det fungerar enligt följande: användaren skickar en förfrågan om att ladda ner en fil, den tas emot av CDN-servern, som gör ett engångsanrop till originalservern och ger innehållet till användaren. Parallellt med detta cachar CDN filer under en given tidsperiod och bearbetar alla efterföljande förfrågningar från sin egen cache. Eventuellt kan de också förladda filer från källservern, justera cachelagringsperioden, komprimera tunga filer och mycket mer. I den mest idealiska situationen skickar värden hela strömmen till en CDN-nod, som redan använder sina egna resurser för att leverera innehåll till användarna. Det säger sig självt att effektiv cachning av information, såväl som distribution av förfrågningar inte till en server, utan till nätverket, kommer att leda till en mer balanserad trafikbelastning.

De mystiska sätten att innehålla eller låt oss säga ett ord om CDN
Den andra viktiga egenskapen för CDN-drift är minskningen av fördröjningar i dataöverföring (även känd som RTT - tur och returtid). Att upprätta en TCP-anslutning, ladda ner mediainnehåll, en JS-fil, starta en TLS-session, allt detta beror på ping. Uppenbarligen, ju närmare källan du är, desto snabbare kan du få svar från den. Trots allt har till och med ljusets hastighet sin gräns: cirka 200 tusen km/s via optisk fiber. Detta innebär att från Moskva till Washington kommer förseningen att vara cirka 75 ms i RTT, och detta är utan påverkan av mellanliggande utrustning.

För att bättre förstå vilka problem innehållsdistributionsnätverk löser, här är en lista över aktuella lösningar:

  • Google, Yandex, MaxCDN (använd gratis CDN för att distribuera JS-bibliotek, har mer än 90 närvaropunkter i de flesta länder i världen);
  • Cloudinary, Cloudimage, Google (klientoptimeringstjänster och bibliotek: bilder, videor, typsnitt, etc.);
  • Jetpack, Incapsula, Swarmify, etc. (optimering av resurser i innehållshanteringssystem: bitrix, wordpress, etc.);
  • CDNVideo, StackPath, NGENIX, Megafon (CDN för distribution av statiskt innehåll, används som nätverk för allmänna ändamål);
  • Imperva, Cloudflare (lösningar för att påskynda laddning av webbsidor).

De första 3 typerna av CDN från listan är utformade för att överföra endast en del av trafiken från huvudservern. De återstående 2 används som fullvärdiga proxyservrar med full överföring av kanaler från källvärden.

För vem och vilka fördelar ger tekniken?

I teorin kan alla webbplatser 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 dess målgrupp, d.v.s. användarbasen låg utanför deras geografiska plats. Men även om så inte är fallet kommer distributionsnätverk att hjälpa till med lastbalansering för stora volymer innehåll.

Det är ingen hemlighet att ett par tusen trådar räcker för att täppa till en serverkanal. Därför kommer distribution av videosändningar till allmänheten oundvikligen att leda till bildandet av en flaskhals - internetkanalens bandbredd. Vi ser samma sak när det finns många små, osömda bilder på en webbplats (till exempel produktförhandsvisningar). Ursprungsservern använder en TCP-anslutning vid behandling av valfritt antal förfrågningar, vilket kommer att köa nedladdningen. Att lägga till ett CDN gör det nödvändigt att distribuera förfrågningar över flera domäner och använda flera TCP-anslutningar, vilket avlastar kanalbelastningen. Och formeln för fördröjning tur och retur, även i de sorgligaste scenarierna, ger ett värde på 6-7 RRT och tar formen: TCP+TLS+DNS. Detta inkluderar även fördröjningar i samband med aktivering av radiokanalen på enheten och sändning av signalen till mobilmaster.

Efter att ha sammanfattat teknikens styrkor för onlineaffärer lyfter experter fram följande punkter:

  1. Snabb infrastrukturskalning + 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 mindre genomströmning. Dessutom kommer optimeringsverktyg in i bilden, vilket gör att du kan hantera toppbelastningar utan att slösa tid.
  2. Mindre ping. Vi har redan nämnt att folk inte gillar att vänta länge på Internet. Därför bidrar hög ping till höga avvisningsfrekvenser. Förseningen kan orsakas av problem med databehandling på servern, användning av gammal utrustning eller helt enkelt dåligt genomtänkt nätverkstopologi. De flesta av dessa problem löses delvis av innehållsdistributionsnätverk. Även om det är viktigt att notera här att den verkliga fördelen med att implementera tekniken bara kommer att synas när "konsumentpingen" överstiger 80-90 ms, och detta är avståndet från Moskva till New York.

    De mystiska sätten att innehålla eller låt oss säga ett ord om CDN

  3. Datasäkerhet. DDos (Denial of Service-virusattacker) syftar till att krascha servern för att få en viss fördel. En server är mycket mer mottaglig för informationssäkerhetssårbarheter än ett distribuerat nätverk (att installera infrastrukturen för en sådan jätte som CloudFlare är inte en lätt uppgift). Tack vare användningen av filter och korrekt distribution av förfrågningar över nätverket kan du enkelt förhindra artificiellt skapade svårigheter med tillgång till legitim trafik.
  4. Snabb innehållsdistribution och ytterligare servicefunktioner. Att distribuera stora mängder information till ett servernätverk gör det möjligt att snabbt förmedla erbjudandet till slutkonsumenten. Återigen, du behöver inte leta långt efter exempel - kom bara ihåg Amazon och AliExpress.
  5. Möjligheten att "maskera" problem med huvudsidan. Det finns ingen anledning att vänta tills DNS har uppdaterats; du kan överföra den till en ny plats och distribuera tidigare cachat innehåll. Detta kan i sin tur förbättra feltoleransen.

Vi har sorterat ut fördelarna. Låt oss nu titta på vilka nischer som drar nytta av detta.

Reklamverksamhet

Reklam är motorn för framsteg. För att förhindra att motorn brinner ut måste den belastas måttligt. Så reklambranschen, som försöker hantera den moderna digitala världen, står inför problemen med "tungt innehåll". Tung media hänvisar till multimediareklam (främst animerade banners och videor) som kräver hög nätverksbandbredd. En webbplats med multimedia tar lång tid att ladda och kan frysa, vilket testar styrkan hos användarnas nerver. De flesta överger sådana resurser redan innan de har laddat ner all tillgänglig information. Annonsföretag kan dra nytta av CDN för att lösa dessa problem.

Продажи

E-handeln behöver hela tiden utöka sin geografiska täckning. En annan viktig punkt är kampen mot konkurrenter, som det finns gott om i alla marknadssegment. Om en webbplats inte uppfyller användarkraven (inklusive att den tar lång tid att ladda), kommer den inte att vara populär och kommer inte att kunna ge konsekvent höga konverteringar. Att implementera ett CDN bör bevisa sin fördel när det gäller att hantera dataförfrågningar från olika platser. Trafikdistribution hjälper också till att förhindra trafikspikar och efterföljande serverfel.

Plattformar med underhållningsinnehåll

Här passar alla typer av underhållningsplattformar, från nedladdning av filmer och spel till strömmande videor. Trots att tekniken fungerar med statisk data kan strömmande data nå användaren snabbare genom repeatrar. Återigen, cachelagring av CDN-information är en räddning för ägare av stora portaler - multimedialagring.

Online-spel

Internetspel måste placeras i en separat sektion. Om reklam kräver stor bandbredd är onlineprojekt ännu mer resurskrävande. Leverantörer står inför ett problem som har två sidor: snabb åtkomst till servrar + att säkerställa hög spelprestanda med vacker grafik. Ett CDN för onlinespel är en möjlighet att ha så kallade ”push zones” där utvecklare kan lagra spel på servrar som ligger nära användarna. Detta gör att du kan minska effekten av åtkomsthastigheten till den ursprungliga servern och därför säkerställa bekvämt spelande överallt.

Varför CDN inte är ett universalmedel

De mystiska sätten att innehålla eller låt oss säga ett ord om CDN
Trots de uppenbara fördelarna strävar inte alla och inte alltid efter att introducera teknik i sin verksamhet. Varför är det så? Paradoxalt nog följer vissa nackdelar av fördelarna, plus att ytterligare ett par punkter relaterade till nätverksinstallation läggs till. Marknadsförare kommer att prata vackert om alla fördelar med teknik, och glömmer att nämna att de alla blir meningslösa under en lång rad förhållanden. Om vi ​​tittar på nackdelarna med CDN mer i detalj är det värt att lyfta fram:

  • Arbeta endast med statik. Ja, de flesta moderna webbplatser har en låg andel dynamiskt innehåll. Men där sidorna är personliga kommer CDN inte att kunna hjälpa (förutom kanske att lasta av en stor mängd trafik);
  • Cachingfördröjning. Optimering i sig är en av de största fördelarna med distributionsnätverk. Men när du gör en ändring på ursprungsservern tar det tid innan CDN:n hämtar den på alla sina servrar;
  • Massblockeringar. Om IP-adressen för ett CDN av någon anledning är förbjuden, stängs alla webbplatser som finns på det.
  • I de flesta fall kommer webbläsaren att göra två anslutningar (till ursprungsservern och CDN). Och detta är ytterligare millisekunders väntan;
  • Bindning till IP-adressen för projekt (inklusive icke-existerande) som tidigare tilldelats den. Som ett resultat får vi komplicerade rankningar från Googles sökrobotar och svårigheter med att ta sajten till toppen under SEO-kampanjen;
  • CDN-noden är en potentiell punkt för fel. Om du använder dem är det viktigt att i förväg förstå hur systemroutingen fungerar och vilka fel som kan uppstå när du arbetar med sajten;
  • Det är banalt, men du måste betala för innehållsleveranstjänster. I allmänhet är kostnaderna proportionella mot trafikvolymen, vilket innebär att kontroller kan krävas för att planera budgeten.

Ett viktigt faktum: inte ens närheten av CDN till användaren garanterar en låg ping. Rutten kan byggas från en klient till en värd i ett annat land eller till och med på en annan kontinent. Detta beror på routingpolicyn för ett visst nätverk och dess relation till telekomoperatörer (peering). Många stora CDN-leverantörer har flera planer, där kostnaden direkt påverkar närheten till närvaropunkten när de levererar innehåll till målanvändare.

Det finns möjligheter – starta ditt eget CDN

Är du missnöjd med policyn för företag som tillhandahåller nätverkstjänster för innehållsdistribution, men ditt företag behöver expandera? Om möjligt, varför inte prova att starta ditt eget CDN. Detta är vettigt i följande fall:

  • Nuvarande kostnader för innehållsdistribution motsvarar inte förväntningarna och är inte ekonomiskt motiverade;
  • Vi behöver en permanent cache, utan närhet till andra webbplatser på servern och kanalen;
  • Målgruppen är i en region där det inte finns några CDN-närvaropunkter tillgängliga för dig;
  • Behovet av att anpassa inställningarna vid leverans av innehåll;
  • Det finns ett behov av att påskynda leveransen av dynamiskt innehåll;
  • Misstankar om kränkning av användarnas integritet och andra olagliga handlingar från tredje parts tjänster.

Att lansera ett CDN kräver att du har ett domännamn, flera servrar i olika regioner (virtuella eller dedikerade) och ett verktyg för bearbetning av förfrågningar. Glöm inte att installera SLL-certifikat, ställa in och redigera program för att servera statiskt innehåll (Nginx eller Apache) och effektivt övervaka hela systemet.

Korrekt konfiguration av cachingproxyer är föremål för en separat artikel, så vi kommer inte att beskriva i detalj här: var och vilken parameter som ska ställas in korrekt. Med tanke på startkostnader och tid för att distribuera ett nätverk kan det vara mer lovande att använda färdiga lösningar. Men det är nödvändigt att vägledas av den nuvarande situationen och planera flera steg framåt.

Vad är resultatet

CDN är en uppsättning ytterligare kapaciteter för att vidarebefordra din trafik till massorna. Behövs de för online-affärer? Ja och nej, allt beror på vilken målgrupp innehållet är avsett för och vilka mål företagaren strävar efter.

Regionala och högspecialiserade projekt kommer att få fler nackdelar än fördelar av implementeringen av CDN. Förfrågningar kommer fortfarande att komma först till källservern, men via en mellanhand. Därav den tveksamma minskningen av ping, men ganska bestämda månadskostnader för att använda tjänsten. Om du har bra nätverksutrustning kan du enkelt förbättra befintliga informationssäkerhetsalgoritmer, placera dina servrar närmare användarna och få optimeringar och vinster gratis löpande.

Men vem som egentligen borde tänka på mellanliggande servrar är stora företag vars infrastruktur inte klarar av det ständigt växande trafikflödet. CDN visar sig perfekt som en teknik som gör att du snabbt kan distribuera ett nätverk till en bred geografi av användare, tillhandahålla bekvämt molnspel eller sälja varor på en stor kommersiell plattform.

Men även med en bred geografisk publik är det viktigt att i förväg förstå varför nätverk för innehållsdistribution behövs. Webbplatsacceleration är fortfarande en komplex uppgift som inte kan lösas magiskt genom att implementera ett CDN. Glöm inte så viktiga funktioner som: plattformsoberoende, anpassningsförmåga, optimering av serverdelen, kod, rendering, etc. En preliminär teknisk revision och adekvata åtgärder för att eliminera problem är fortfarande den optimala lösningen för alla onlineprojekt, oavsett inriktning och omfattning.

Om reklamens rättigheter

Du kan beställa redan nu kraftfulla servrarsom använder de senaste processorerna amd epyc. Flexibla planer - från 1 CPU-kärna till vansinniga 128 CPU-kärnor, 512 GB RAM, 4000 GB NVMe.

De mystiska sätten att innehålla eller låt oss säga ett ord om CDN

Källa: will.com

Lägg en kommentar