Build Your Own CDN in 5 Steps

Wir als Nutzer verbrauchen (und produzieren) mehr Inhalte als je zuvor, prognostiziert Cisco, dass „der globale Internetverkehr im Jahr 2021 dem 127-fachen des gesamten globalen Internets im Jahr 2005 entsprechen wird. Weltweit wird der Internetverkehr bis 2021 30 GB pro Kopf erreichen, gegenüber 10 GB pro Kopf im Jahr 2016.“

Aus diesem Grund sind kommerzielle und private CDNs wichtiger denn je. Geräte senden und empfangen ständig HTTP-Anfragen / -Antworten, und um diesen immensen Austausch von Bytes aufrechtzuerhalten, ist ein gut geplantes Backbone ein Muss. Daher das beschleunigte Wachstum von DIY / privaten und hybriden CDNs.

In letzter Zeit haben viele Unternehmen begonnen, ihr eigenes privates oder hybrides Content Delivery Network zu implementieren. Ein privates CDN kann Ihnen im Gegensatz zu kommerziellen CDNs die volle Kontrolle über Ihre Inhalte geben, da Sie Speicher / Maschinen / Server nicht mit anderen Websites teilen müssen, die dieselbe Infrastruktur verwenden. Es steht Ihnen auch völlig frei, Ihr eigenes CDN so zu planen und bereitzustellen, wie es am besten zu Ihrem spezifischen Anwendungsfall passt, eine Flexibilität, die mit einer der kommerziellen CDN-Lösungen, die einen einheitlichen Ansatz verwenden, nur schwer oder gar nicht zu erreichen ist.

Und unterschätzen wir nicht den Kosteneinsparungsfaktor: Kommerzielle CDNs verkaufen normalerweise pro genutzter Bandbreite und Anzahl der Anfragen, die von jedem PoP (Point of Presence) bearbeitet werden. Wenn der Traffic, den Ihre Website sieht, im Bereich von GB pro Sekunde liegt, können diese Traffic-bezogenen Kosten mit einem privaten CDN spürbar reduziert werden.

Wir haben kürzlich eine DevOps-freundliche DIY-CDN-Lösung eingeführt, die Sie in fünf Schritten einrichten können. Alles, was Sie brauchen, um ein CDN einzurichten:

  • ursprungsserver und PoP (Points of Presence)
  • ISP
  • CDN- und Caching-Software

Wenn Sie diese Schritte ausführen, erhalten Sie einen Ursprungsserver, einige Pops, die strategisch auf der Grundlage Ihrer Zielgruppe verteilt sind und denen Sie Inhalte gemäß den Best Practices für die Webleistung bereitstellen können.

Cloud oder vor Ort?

Die allererste Entscheidung, die Sie treffen müssen, ist, ob Sie Ihr Content Delivery Network mithilfe von Cloud-Instanzen oder physischen Maschinen bereitstellen möchten.

Diese Frage müssen Sie sich zweimal stellen: sowohl für die Ursprungsserver als auch für Ihre PoPs. Es ist keine sich gegenseitig ausschließende Entscheidung; Sie können entscheiden, einen Teil Ihres CDN mit einer (oder mehreren) Cloud-Lösung (en) zu implementieren, während ein anderer Teil vor Ort lebt. Im Folgenden sind einige Punkte zu beachten, wenn Sie diese Entscheidung treffen:

    1. Verfügbarkeit: verfügt der Cloud-Anbieter, den ich verwenden möchte, über Maschinen in der Region, für die ich Inhalte bereitstellen möchte? Besitzt mein Unternehmen Rechenzentren in der Region, an die wir Inhalte liefern möchten?
    2. Leistung: Erhalte ich eine bessere Leistung mit Cloud-Instanzen oder physischen Maschinen?
    3. Kosten: Wird es angesichts meiner Web-Traffic-Belastung pro Sekunde billiger sein, für die Infrastruktur zu bezahlen oder sie zu besitzen? Wird es auch billiger sein, IaaS zu verwenden oder ein bestimmtes Team für die Wartung einer solchen Architektur einzustellen?
    4. Skalieren: Welche Strategie hilft meinem Unternehmen bei der Skalierung: Cloud, On-Prem oder Hybrid?
    5. Sicherheit: Was sind die Sicherheits-Vor- und Nachteile der verschiedenen Optionen für mein Unternehmen?

Ob Sie die „on-prem“ -Route wählen, ist wirklich so einfach wie die Installation von Paketen auf Ihren Servern, z. B. “ apt-get install varnish-plus “ oder „yum install varnish-plus „. Sie können uns für weitere Informationen erreichen.

In der Cloud können Sie den Anweisungen auf dem AWS Marketplace oder unserer umfangreichen Dokumentation zu den ersten Schritten mit Varnish und AWS folgen.

ISP und Routing

Finden Sie den besten ISP für Ihre Anforderungen und bedenken Sie, dass Sie eine Lösung benötigen, die jede Anfrage an den nächstgelegenen PoP weiterleiten kann. Einige Faktoren, die berücksichtigt werden sollten:

    1. Geografische Präsenz: Finden Sie einen ISP, der die Region (en) abdeckt, die Sie bedienen möchten.
    2. Verbindungsgeschwindigkeit: Stellen Sie sicher, dass Sie sowohl für Ihren durchschnittlichen Tag als auch für Spitzenzeiten über genügend Geschwindigkeit verfügen.
    3. Verfügbarkeit und Zuverlässigkeit: Wie bei allen Teilen Ihrer Infrastruktur muss ein ISP immer verfügbar sein, da er das Rückgrat Ihres Unternehmens bildet.
    4. Kosteneffizienz: Legen Sie die Servicekosten sorgfältig fest, da die Kosten eines ISP in Abhängigkeit von einer Reihe von Faktoren stark variieren und Sie das richtige Gleichgewicht zwischen Diensten und Kosten finden müssen.

Der Markt bietet viele Routing-Optionen für ISPs und Anfragen, und was Sie für Ihre spezifischen Anforderungen auswählen, hängt von der Balance ab, die für Ihre Setup- und Verkehrserwartungen am sinnvollsten ist.

Ursprungsserver und PoPs

Beginnen wir hier mit dem saftigen Teil!

Sie können sich ein CDN als einen riesigen Cache mit verteilten Knoten vorstellen, die dazu beitragen, Inhalte schneller an Endbenutzer zu liefern. Um dies zu tun und effizient zu sein, müssen Sie basierend auf Faktoren, die Sie für strategisch wichtig für Ihr Unternehmen halten, entscheiden, an welchem geografischen Standort sich Ihre Ursprungsserver befinden sollen. Die gleiche Argumentation gilt für jeden Ihrer PoPs.

Die Entscheidung für den Ursprungsserver ist einfach, da Sie möchten, dass Ihr Webserver so nah wie möglich ist, um die volle Kontrolle über Ihre Inhalte zu haben. Aber wenn es darum geht, zu entscheiden, wo die PoPs zu lokalisieren und wie viele Sie benötigen, gibt es ein paar Faktoren, die Sie berücksichtigen sollten:

    1. Wo ist Ihre wichtigste Zielgruppe? Erwarten Sie, dass das Geschäft in bestimmten Regionen wächst? Wenn ja, welche Regionen? Außerdem ist es wichtig zu analysieren, wo und wie sie konzentriert sind, um die bestmögliche Erfahrung zu bieten.
    2. Latenz zwischen Ihrem Ursprungsserver und Ihrer Zielgruppe: Dies hilft Ihnen bei der Entscheidung, wo Sie jeden PoP finden.
    3. Verkehrsmuster. Durch Ihre Analyse können Sie eine hervorragende Benutzererfahrung bieten und Ihre Infrastruktur optimieren

Installieren Sie die Varnish DIY CDN-Software

Varnish ist aufgrund seiner einzigartigen VCL-Konfigurationssprache äußerst flexibel. Mit VCL können Sie Caching-Regeln festlegen und Entscheidungen am Edge treffen.

Varnish DIY CDN kommt mit einem kompletten Satz von Content Delivery Features:

    1. Load Balancing
    2. Prefetch-Option, um Ihren Cache warm zu halten
    3. Persistent Storage Engine
    4. Hochverfügbarkeit
    5. Sicherheit, sowohl in einer sicheren Verbindung als auch in einem vollständig verschlüsselten Cache

Ein DIY-CDN muss in jedem Ihrer PoPs installiert werden.
Dies ist, was wir am Ende dieses schnellen Setups erreichen werden:

Wie Sie sehen, installieren wir das DIY CDN in:

  • Origin Shield: Dies schützt Ihre Ursprungsserver und entlastet einige der Anforderungen. In diesem Beispiel befindet sich der Ursprungsserver in London.
  • PoP A: ist einer der beiden PoPs, die wir entwickeln werden, um ein sehr einfaches CDN einzurichten. Für die Zwecke dieses Beispiels werden wir es in Frankfurt, Deutschland, innerhalb der EU platzieren.
  • PoP B: Unser anderer PoP wird Inhalte für das nordamerikanische Publikum bereitstellen. Es wird in New York ansässig sein.

Jeder PoP und der Ursprungsschild haben eine symmetrische und gekoppelte Konfiguration, um sicherzustellen, dass jeder PoP immer verfügbar ist, auch wenn einer der beiden Varnish-Knoten gewartet wird oder nicht verfügbar ist.

Jedes Varnish Cache Plus-Tupel wird mithilfe von VHA synchronisiert, wodurch nicht nur Inhalte zwischen verschiedenen Caching-Knoten repliziert werden, sondern auch Ihre Backends entlastet werden, da sie weniger Bandbreite verbrauchen und weniger Roundtrips benötigen.

Konfigurieren Sie Varnish

Um eine grundlegende und funktionierende Konfiguration zu erhalten, müssen Sie:

1. Lassen Sie Varnish wissen, mit welchen Backends es kommunizieren kann: Öffnen Sie „/ etc /varnish/default .vcl“ und geben Sie Ihre gesicherte IP-Adresse und Port

2. Konfigurieren Sie, welcher Port an welchem Port auf eingehende Anforderungen wartet:

Öffne “ etc/default/varnish.param “ und setze “ -a": 80.

Starten Sie Varnish neu und Sie sind fertig. Sie haben Ihr eigenes CDN in Betrieb. Sobald Sie verstanden haben, welche Art von Infrastruktur Ihren Anforderungen am besten entspricht und wie Ihre Zielgruppe verteilt ist, sollten die folgenden Schritte zum Erstellen Ihres eigenen privaten CDN mit Varnish nur wenige Stunden dauern.

Write a Comment

Deine E-Mail-Adresse wird nicht veröffentlicht.