Inhaltspfade sind undurchschaubar, oder lassen Sie uns ein Wort über CDN sagen

Inhaltspfade sind undurchschaubar, oder lassen Sie uns ein Wort über CDN sagen

Haftungsausschluss:
Dieser Artikel enthält keine Informationen, die Lesern, die mit dem CDN-Konzept vertraut sind, bisher unbekannt waren, sondern hat den Charakter eines Technologieüberblicks

Die erste Webseite erschien 1990 und hatte eine Größe von wenigen Bytes. Seitdem hat sich der Inhalt sowohl qualitativ als auch quantitativ skaliert. Die Entwicklung des IT-Ökosystems hat dazu geführt, dass moderne Webseiten in Megabyte gemessen werden und der Trend zur Erhöhung der Netzwerkbandbreite von Jahr zu Jahr stärker wird. Wie können Inhaltsanbieter große geografische Bereiche abdecken und Benutzern überall einen Hochgeschwindigkeitszugriff auf Informationen ermöglichen? Diese Aufgaben sollten Content-Delivery- und Distributionsnetzwerke übernehmen, sie werden auch Content Delivery Network oder einfach CDN genannt.

Es gibt immer mehr „schwere“ Inhalte im Internet. Gleichzeitig zeigen zahlreiche Studien, dass Nutzer sich nicht mit Webdiensten auseinandersetzen wollen, wenn diese länger als 4-5 Sekunden geladen werden. Eine zu niedrige Ladegeschwindigkeit der Website ist mit dem Verlust des Publikums behaftet, was sicherlich zu einem Rückgang des Traffics, der Conversion und damit des Gewinns führen wird. Theoretisch beseitigen Content Delivery Networks (CDNs) diese Probleme und ihre Folgen. Aber in Wirklichkeit wird wie immer alles von den Details und Nuancen eines Einzelfalls entschieden, von denen es in diesem Bereich viele gibt.

Woher kam die Idee verteilter Netzwerke?

Beginnen wir mit einem kurzen Exkurs in die Geschichte und Definitionen der Begriffe. CDN ist ein Netzwerk aus einer Gruppe von Servermaschinen, die sich an verschiedenen Orten befinden, um einer großen Anzahl von Benutzern Zugriff auf Internetinhalte zu ermöglichen. Die Idee verteilter Netzwerke ist das gleichzeitige Vorhandensein mehrerer Points of Presence (PoP), die sich außerhalb des Quellservers befinden. Ein solches System verarbeitet die Vielzahl eingehender Anfragen schneller und erhöht so die Reaktionsfähigkeit und Geschwindigkeit der Datenübertragung.

Das Problem bei der Bereitstellung von Inhalten für Benutzer trat akut auf dem Höhepunkt der Entwicklung des Internets auf, d. h. Mitte der 90er Jahre. Die damaligen Server, deren Leistung nicht einmal mit heutigen Flaggschiff-Laptops mithalten konnte, hielten der Belastung kaum stand und waren dem stetig steigenden Datenverkehr nicht gewachsen. Microsoft gibt jedes Jahr Hunderte Millionen Dollar für die Forschung rund um die Informationsautobahn aus (denken Sie nur an die berühmten 640 KB von Bill Gates). Um diese Probleme zu lösen, war es notwendig, hierarchisches Caching zu verwenden, von Modems auf Glasfaser umzusteigen und die Netzwerktopologie im Detail zu analysieren. Die Situation erinnerte an eine alte Lokomotive, die über die Schienen rast und mit allen Mitteln modernisiert wird, um unterwegs die Geschwindigkeit zu erhöhen.

Bereits Ende der 90er Jahre erkannten die Betreiber von Webportalen, dass zur Reduzierung der Last und zur Bereitstellung der erforderlichen Anfragen Zwischenserver eingesetzt werden sollten. So entstand das erste CDN, das statische Inhalte von verschiedenen Servern verteilte, die geografisch über die ganze Welt verstreut waren. Etwa zur gleichen Zeit entstand das Geschäft mit verteilten Netzwerken. Der größte (zumindest einer der größten) CDN-Anbieter der Welt, Akamai, ist seit 1998 ein Pionier auf diesem Gebiet. Ein paar Jahre später wurde CDN zum Mainstream und die Einnahmen aus der Bereitstellung und Entschädigung von Inhalten beliefen sich jeden Monat auf mehrere zehn Millionen Dollar.

Heutzutage stoßen wir jedes Mal auf ein CDN, wenn wir eine stark frequentierte kommerzielle Seite aufrufen oder in sozialen Netzwerken kommunizieren. Der Service wird bereitgestellt von: Amazon, Cloudflare, Akamai sowie vielen anderen transnationalen Anbietern. Darüber hinaus neigen große Unternehmen dazu, ihr eigenes CDN zu verwenden, was ihnen eine Reihe von Vorteilen hinsichtlich der Geschwindigkeit und Qualität der Bereitstellung von Inhalten bringt. Wenn Facebook keine verteilten Netzwerke hätte, sondern mit seinem Ursprungsserver in den USA zufrieden wäre, könnten Benutzer in Osteuropa viel länger brauchen, um ihr Profil zu laden.

Ein paar Worte zu CDN und Streaming

Die Agentur FutureSource Consulting führte eine Analyse der Musikbranche durch und kam zu dem Schluss, dass die Zahl der Abonnements für Musik-Streaming-Dienste im Jahr 2023 fast eine halbe Milliarde Menschen erreichen wird. Darüber hinaus werden die Dienste mehr als 90 % ihrer Einnahmen aus dem Audio-Streaming erzielen. Bei Video ist die Situation ähnlich, im populären Lexikon sind Begriffe wie: Letsplay, Online-Konzert und Online-Kino bereits fixiert. Apple, Google, YouTube und viele andere Unternehmen verfügen über eigene Streaming-Dienste.

Anfangs wurde das CDN hauptsächlich für Websites mit statischen Inhalten verwendet. Als statische Informationen werden Informationen bezeichnet, die sich in Abhängigkeit von Benutzeraktionen, Zeit und anderen Faktoren nicht ändern, d. h. ist nicht personalisiert. Aber die Entwicklung von Streaming-Video- und Audiodiensten hat ein weiteres häufiges Szenario für die Nutzung verteilter Netzwerke hinzugefügt. Zwischenserver, die sich in der Nähe der Zielgruppe auf der ganzen Welt befinden, ermöglichen Ihnen einen stabilen Zugriff auf Inhalte in Spitzenzeiten und verhindern so Engpässe im Internet.

Wie funktioniert das

Der Kern aller CDNs ist ungefähr derselbe: Zwischenhändler zu nutzen, um Inhalte schneller an den Endverbraucher liefern zu können. Es funktioniert wie folgt: Der Benutzer sendet eine Anfrage zum Herunterladen einer Datei, diese wird vom CDN-Server empfangen, der einmalig auf den ursprünglichen Server zugreift und den Inhalt an den Benutzer zurückgibt. Parallel dazu speichert das CDN Dateien für einen bestimmten Zeitraum zwischen und verarbeitet alle nachfolgenden Anfragen aus seinem eigenen Cache. Optional können sie auch Dateien vom Quellserver vorab laden, den Cache-Ablauf anpassen, umfangreiche Dateien komprimieren und vieles mehr. Im Idealfall leitet der Host den gesamten Ablauf an den CDN-Knoten weiter, der bereits seine eigenen Ressourcen nutzt, um Inhalte an Benutzer bereitzustellen. Es versteht sich von selbst, dass eine effektive Zwischenspeicherung von Informationen sowie die Verteilung von Anfragen nicht an einen Server, sondern an das Netzwerk zu einer gleichmäßigeren Verkehrslast führen.

Inhaltspfade sind undurchschaubar, oder lassen Sie uns ein Wort über CDN sagen
Das zweite wichtige Merkmal des CDN ist die Reduzierung von Verzögerungen bei der Datenübertragung (auch RTT – Round Trip Time genannt). Das Herstellen einer TCP-Verbindung, das Herunterladen von Medieninhalten, einer JS-Datei, das Starten einer TLS-Sitzung – alles hängt vom Ping ab. Je näher Sie an der Quelle sind, desto schneller können Sie natürlich eine Antwort erhalten. Denn auch die Lichtgeschwindigkeit hat ihre eigene Grenze: etwa 200 km/s per Glasfaser. Dies bedeutet, dass die Verzögerung von Moskau nach Washington im RTT etwa 75 ms beträgt, und zwar ohne den Einfluss von Zwischengeräten.

Um besser zu verstehen, welche Aufgaben Content-Distributionsnetzwerke lösen, finden Sie hier eine Liste der heute relevanten Lösungen:

  • Google, Yandex, MaxCDN (sie nutzen kostenlose CDNs zur Verbreitung von JS-Bibliotheken und verfügen in den meisten Ländern der Welt über mehr als 90 Präsenzpunkte);
  • Cloudinary, Cloudimage, Google (clientseitige Optimierungsdienste und Bibliotheken: Bilder, Videos, Schriftarten usw.);
  • Jetpack, Incapsula, Swarmify usw. (Optimierung von Ressourcen in Content-Management-Systemen: Bitrix, WordPress usw.);
  • CDNVideo, StackPath, NGENIX, Megafon (CDN zur Verteilung statischer Inhalte, verwendet als Allzwecknetzwerke);
  • Imperva, Cloudflare (Lösungen zur Beschleunigung des Ladens von Websites).

Die ersten drei CDN-Typen aus der obigen Liste sind darauf ausgelegt, nur einen Teil des Datenverkehrs vom Hauptserver zu übertragen. Die verbleibenden zwei werden als vollständige Proxyserver mit vollständiger Kanalisierung vom Quellhost verwendet.

Für wen und welche Vorteile bietet die Technologie?

Theoretisch kann jede Website, die ihre Produkte/Dienstleistungen an Firmenkunden oder Privatpersonen (B2B oder B2C) verkauft, von der CDN-Implementierung profitieren. Es ist wichtig, dass die Zielgruppe, d. h. Die Benutzerbasis befand sich außerhalb ihres geografischen Standorts. Aber selbst wenn dies nicht der Fall ist, helfen Verteilungsnetzwerke beim Lastausgleich für große Inhaltsmengen.

Es ist kein Geheimnis, dass ein paar tausend Threads ausreichen, um einen Serverkanal zu füllen. Daher wird die Verbreitung von Videoübertragungen an die breite Öffentlichkeit unweigerlich zur Bildung eines Engpasses führen – der Bandbreite des Internetkanals. Dasselbe sehen wir, wenn auf der Website viele kleine, nicht geklebte Bilder vorhanden sind (z. B. Warenvorschauen). Der Ursprungsserver verwendet eine TCP-Verbindung, um eine beliebige Anzahl von Anfragen zu verarbeiten, wodurch der Download in die Warteschlange gestellt wird. Das Hinzufügen eines CDN führt dazu, dass Anfragen auf mehrere Domänen verteilt und mehrere TCP-Verbindungen verwendet werden müssen, wodurch der Kanal entlastet wird. Und die Round-Trip-Formel ergibt selbst in den traurigsten Fällen einen Wert von 6-7 RRT und hat die Form: TCP + TLS + DNS. Es ist auch gerechtfertigt, hier die Verzögerungen einzubeziehen, die mit der Aktivierung des Funkkanals auf dem Gerät und der Signalübertragung auf Mobilfunkmasten verbunden sind.

Experten fassen die Stärken der Technologie für Unternehmen im Internet zusammen und heben folgende Punkte hervor:

  1. Schnelle Infrastrukturskalierung + Bandbreitenreduzierung. Mehr Server = mehr Punkte, an denen Informationen gespeichert werden. Infolgedessen verarbeitet ein Punkt weniger Datenverkehr pro Zeiteinheit, was bedeutet, dass er möglicherweise über weniger Bandbreite verfügt. Darüber hinaus kommen Optimierungstools zum Einsatz, die es Ihnen ermöglichen, Spitzenlasten ohne Zeitverlust zu bewältigen.
  2. Weniger Ping. Wir haben bereits erwähnt, dass Menschen nicht gerne lange im Internet warten. Daher trägt ein hoher Ping zu hohen Absprungraten bei. Die Verzögerung kann durch Probleme bei der Datenverarbeitung auf dem Server, die Verwendung alter Geräte oder einfach eine schlecht durchdachte Netzwerktopologie verursacht werden. Die meisten dieser Probleme werden teilweise durch Content-Distributionsnetzwerke gelöst. Allerdings ist es hier wichtig anzumerken, dass der wirkliche Nutzen der Einführung der Technologie erst sichtbar wird, wenn der „Verbraucher-Ping“ 80-90 ms überschreitet, und das ist die Entfernung von Moskau nach New York.

    Inhaltspfade sind undurchschaubar, oder lassen Sie uns ein Wort über CDN sagen

  3. Datensicherheit. DDos (Denial-of-Service-Virenangriffe) zielen darauf ab, den Server zum Absturz zu bringen, um daraus Vorteile zu ziehen. Ein einzelner Server ist viel anfälliger für Sicherheitslücken in der Informationssicherheit als ein verteiltes Netzwerk (die Infrastruktur eines Giganten wie CloudFlare einzusetzen ist keine leichte Aufgabe). Durch den Einsatz von Filtern und die kompetente Verteilung von Anfragen über das Netzwerk können künstlich geschaffene Schwierigkeiten beim Zugriff auf legitimen Datenverkehr leicht verhindert werden.
  4. Schnelle Content-Verbreitung und zusätzliche Servicefunktionen. Durch die Verteilung großer Informationsmengen an das Servernetzwerk können Sie das Angebot schnell an den Endverbraucher übermitteln. Auch bei Beispielen müssen Sie nicht weit gehen – denken Sie nur an Amazon und Aliexpress.
  5. Die Möglichkeit, Probleme mit der Hauptseite zu „maskieren“. Sie müssen nicht warten, bis das DNS aktualisiert ist, Sie können es mit der Verteilung zuvor zwischengespeicherter Inhalte an einen neuen Speicherort übertragen. Dies wiederum kann die Fehlertoleranz verbessern.

Habe die Vorteile verstanden. Schauen wir uns nun an, für welche Nischen es von Vorteil ist.

Werbegeschäft

Werbung ist der Motor des Fortschritts. Und damit der Motor nicht durchbrennt, muss er mäßig belastet werden. Daher steht die Werbebranche, die versucht, sich an die moderne digitale Welt anzupassen, mit den Problemen des „Heavy Content“ konfrontiert. Heavy bezieht sich auf Multimedia-Werbung (hauptsächlich animierte Banner und Videos), die eine hohe Netzwerkbandbreite erfordert. Das Laden einer Website mit Multimedia dauert lange und kann einfrieren, was die Nerven der Benutzer auf die Probe stellt. Die meisten lehnen solche Ressourcen ab, noch bevor sie alle verfügbaren Informationen heruntergeladen haben. Werbeunternehmen können CDNs nutzen, um diese Probleme zu lösen.

Verkäufe

E-Commerce erfordert eine ständige Ausweitung der geografischen Abdeckung. Ein weiterer wichtiger Punkt ist der Kampf gegen Konkurrenten, von denen es in jedem Marktsegment viele gibt. Wenn eine Website die Anforderungen des Benutzers nicht erfüllt (einschließlich langer Ladezeiten), wird sie nicht beliebt sein und kann keine konstant hohen Conversions erzielen. Die CDN-Implementierung sollte ihre Vorteile bei der Bearbeitung von Datenanfragen von verschiedenen Standorten aus zeigen. Außerdem trägt die Verteilung des Datenverkehrs dazu bei, dessen Ausbrüche und nachfolgende Ausfälle auf dem Server zu verhindern.

Websites mit Unterhaltungsinhalten

Hier eignen sich alle Arten von Unterhaltungsplattformen, vom Herunterladen von Filmen und Spielen bis hin zum Streamen von Videos. Obwohl die Technologie statisch arbeitet, können Streaming-Daten durch Repeater schneller zum Benutzer gelangen. Auch hier ist das Zwischenspeichern von CDN-Informationen ein Lebensretter für Besitzer großer Medienspeicherportale.

Online-Spiele

Internetspiele müssen in einem gesonderten Absatz herausgenommen werden. Wenn Werbung mehr Bandbreite benötigt, sind Online-Projekte noch ressourcenintensiver. Anbieter stehen vor einem Problem, das zwei Seiten hat: die Geschwindigkeit des Zugriffs auf Server + die Bereitstellung hoher Spieleleistung mit schöner Grafik. CDN für Online-Spiele bietet die Möglichkeit, sogenannte „Push-Zonen“ einzurichten, in denen Entwickler Spiele auf Servern in der Nähe von Benutzern speichern können. Dadurch können Sie die Auswirkungen der Zugriffsgeschwindigkeit auf den Quellserver reduzieren und so überall ein komfortables Gameplay ermöglichen.

Warum CDN kein Allheilmittel ist

Inhaltspfade sind undurchschaubar, oder lassen Sie uns ein Wort über CDN sagen
Trotz der offensichtlichen Vorteile ist nicht jeder und nicht immer bestrebt, Technologie in sein Unternehmen einzuführen. Warum so? Paradoxerweise ergeben sich aus den Vorteilen einige Nachteile, und es kommen noch ein paar weitere Punkte im Zusammenhang mit der Bereitstellung des Netzwerks hinzu. Vermarkter reden gerne über alle Vorteile der Technologie und vergessen dabei zu erwähnen, dass sie alle unter den unterschiedlichsten Bedingungen ihre Bedeutung verlieren. Wenn wir die Nachteile von CDN genauer betrachten, ist Folgendes hervorzuheben:

  • Arbeiten Sie nur mit statischer Aufladung. Ja, die meisten modernen Websites haben einen geringen Anteil an dynamischen Inhalten. Wenn die Seiten jedoch personalisiert sind, kann das CDN in keiner Weise helfen (es sei denn, es entlädt eine große Menge an Datenverkehr).
  • Caching-Verzögerung. Die Optimierung selbst ist einer der Hauptvorteile von Vertriebsnetzen. Wenn jedoch eine Änderung auf dem Ursprungsserver vorgenommen wird, dauert es einige Zeit, bis das CDN sie auf allen seinen Servern erneut zwischenspeichert.
  • Massenblockierung. Wenn aus irgendeinem Grund die IP-Adresse des CDN gesperrt wird, werden alle darauf gehosteten Websites geschlossen;
  • In den meisten Fällen stellt der Browser zwei Verbindungen her (zum Ursprungsserver und zum CDN). Und das sind zusätzliche Millisekunden des Wartens;
  • Bindung an die IP-Adresse von Projekten (auch nicht existierenden), die ihr zuvor zugeordnet wurden. Als Ergebnis erhalten wir ein kompliziertes Ranking durch Google-Suchbots und Schwierigkeiten, die Website während der SEO-Werbung an die Spitze zu bringen;
  • Ein CDN-Knoten ist eine potenzielle Fehlerquelle. Wenn Sie sie verwenden, ist es wichtig, im Voraus zu verstehen, wie das Routing des Systems funktioniert und welche Fehler bei der Arbeit mit der Site auftreten können;
  • Banal, aber Sie müssen für Content-Delivery-Services bezahlen. Grundsätzlich sind die Kosten proportional zum Verkehrsaufkommen, sodass eine Kontrolle zur Budgetplanung erforderlich sein kann.

Eine wichtige Tatsache: Selbst die Nähe des CDN zum Benutzer garantiert keinen niedrigen Ping. Der Routenaufbau kann von einem Client zu einem Host in einem anderen Land oder sogar auf einem anderen Kontinent erfolgen. Dies hängt von der Routing-Richtlinie eines bestimmten Netzwerks und seiner Beziehung zu Telekommunikationsbetreibern (Peering) ab. Viele große CDN-Anbieter haben mehrere Tarife, bei denen sich die Kosten direkt auf die Nähe des Point of Presence bei der Übertragung von Inhalten an Zielbenutzer auswirken.

Es gibt Möglichkeiten – starten Sie Ihr eigenes CDN

Sind Sie unzufrieden mit der Politik von Unternehmen, die Netzwerkdienste für die Content-Verteilung anbieten, das Unternehmen aber expandieren muss? Versuchen Sie, wenn möglich, Ihr eigenes CDN zu starten. Dies ist in folgenden Fällen sinnvoll:

  • Die aktuellen Kosten für die Verbreitung von Inhalten entsprechen nicht ihren Erwartungen und sind wirtschaftlich nicht gerechtfertigt;
  • Sie benötigen einen permanenten Cache ohne Nachbarn zu anderen Sites auf dem Server und im Kanal.
  • Die Zielgruppe befindet sich in einer Region, in der Ihnen keine CDN-Präsenzpunkte zur Verfügung stehen.
  • Die Notwendigkeit, Einstellungen bei der Bereitstellung von Inhalten zu personalisieren;
  • Es ist erforderlich, die Bereitstellung dynamischer Inhalte zu beschleunigen.
  • Verdacht auf Verletzung der Privatsphäre der Nutzer und andere rechtswidrige Handlungen durch Dienste Dritter.

Für den Betrieb eines CDN benötigen Sie einen Domänennamen, mehrere Server in verschiedenen Regionen (virtuell oder dediziert) und ein Tool zur Anforderungsverarbeitung. Vergessen Sie nicht, SLL-Zertifikate zu installieren, Programme zur Bereitstellung statischer Inhalte (Nginx oder Apache) einzurichten und zu bearbeiten und das gesamte System effektiv zu überwachen.

Die korrekte Konfiguration von Caching-Proxys ist Gegenstand eines separaten Artikels, weshalb wir hier nicht im Detail beschreiben, wo und welcher Parameter richtig eingestellt werden sollte. Angesichts der Anlaufkosten und der Zeit für die Bereitstellung des Netzwerks könnte der Einsatz vorgefertigter Lösungen erfolgversprechender sein. Es ist jedoch notwendig, sich an der aktuellen Situation zu orientieren und mehrere Schritte im Voraus zu planen.

Mit dem Ergebnis, dass

CDN ist eine Reihe zusätzlicher Kapazitäten zur Weiterleitung Ihres Datenverkehrs an die breite Masse. Sind sie für das Geschäft im Internet notwendig? Ja und nein, es hängt alles davon ab, für welche Zielgruppe die Inhalte gedacht sind und welche Ziele der Geschäftsinhaber verfolgt.

Regionale und hochspezialisierte Projekte werden durch die Implementierung von CDN mehr Nachteile als Vorteile erhalten. Anfragen gehen weiterhin zunächst an den Quellserver, jedoch über einen Vermittler. Daher der zweifelhafte Rückgang des Pings, aber durchaus sichere monatliche Kosten für die Nutzung des Dienstes. Wenn Sie über eine gute Netzwerkausrüstung verfügen, können Sie bestehende Informationssicherheitsalgorithmen problemlos verbessern, Ihre Server näher an den Benutzern platzieren und kontinuierlich Optimierungen und Gewinne kostenlos erhalten.

Aber wer wirklich über Zwischenserver nachdenken sollte, sind große Unternehmen, deren Infrastruktur den ständig wachsenden Datenverkehr nicht bewältigen kann. CDN erweist sich als Technologie, die es Ihnen ermöglicht, schnell ein Netzwerk für eine breite Benutzerregion bereitzustellen, komfortables Cloud-Gaming bereitzustellen oder Waren auf einer großen kommerziellen Plattform zu verkaufen.

Aber auch bei einem breiten Publikumsgeografie ist es wichtig, im Voraus zu verstehen, wofür genau Content-Verbreitungsnetzwerke benötigt werden. Die Website-Beschleunigung bleibt immer noch eine komplexe Aufgabe, die nicht auf magische Weise durch die Implementierung eines CDN gelöst werden kann. Vergessen Sie nicht so wichtige Funktionen wie: Plattformübergreifend, Anpassungsfähigkeit, Optimierung der Serverseite, Code, Rendering usw. Ein vorläufiges technisches Audit und angemessene Korrekturmaßnahmen sind immer noch die beste Lösung für jedes Online-Projekt, unabhängig von seiner Richtung und seinem Umfang.

Über die Rechte der Werbung

Ab sofort können Sie bestellen leistungsstarke Serverdie die neuesten Prozessoren verwenden AMD Epyc. Flexible Tarife – von 1 CPU-Kern bis zu wahnsinnigen 128 CPU-Kernen, 512 GB RAM, 4000 GB NVMe.

Inhaltspfade sind undurchschaubar, oder lassen Sie uns ein Wort über CDN sagen

Source: habr.com

Kommentar hinzufügen