Wenn Sie ein emotional geladenes Gespräch in den Räumen von Cloudflare beginnen wollen, versuchen Sie damit, uns als „Content Delivery Network“ (CDN) zu bezeichnen. CDNs bieten Ihnen in der Regel keine Lastverteilung, sie ermöglichen es Ihnen nicht, serverlose Anwendungen bereitzustellen, und Sie werden sie gewiss nicht auf Ihrem Telefon installieren. Eine der Folgen dieser Verwirrung beseht darin, dass viele Menschen nicht wissen, was Cloudflare für Menschen tun kann, die in mehreren öffentlichen Clouds oder sowohl in der Cloud als auch auf ihrer eigenen Hardware arbeiten wollen.
Lastverteilung
Cloudflare verfügt über unzählige Server in 180 Rechenzentren auf der ganzen Welt. Jeder davon ist in der Lage, als Layer 7 Load Balancer zu fungieren und eingehenden Datenverkehr zu verschiedenen Ursprungsservern zu lenken, wo immer diese sich befinden mögen. Sie können beispielsweise eine Lastverteilung zwischen einer Gruppe von Rechnern in AWS' EC2 und einer anderen Gruppe, die Sie in Google Cloud verwalten, vornehmen.
Diese Lastverteilung ist nicht nur eine Rundlaufverteilung von Traffic. Sie unterstützt Gewichtung, damit Sie steuern können, wie viel Traffic zu jedem Cluster fließt. Sie unterstützt latenzbasiertes Routing, um den Datenverkehr automatisch an den näher liegenden Cluster weiterzuleiten (daher kann das Hinzufügen einer geografischen Verteilung so einfach sein wie das Hochfahren von Rechnern). Sie unterstützt sogar Zustandsprüfungen, sodass sie den Datenverkehr automatisch in die Cloud leiten kann, die derzeit fehlerfrei ist.
Am wichtigsten ist, dass sie nicht in einer Cloud des Anbieters ausgeführt wird und deshalb nicht darauf angewiesen ist, dass dieses ordnungsgemäß funktionieren. Und noch besser ist, dass die Lastverteilung nicht auf Kosten der Leistung erfolgt, da sie in der Nähe von praktisch jedem Internetnutzer auf der ganzen Welt stattfindet. (Mit unserer Argo-Technologie wird die Leistung oft besser!).
Argo Tunnel
Eine der schwierigsten Komponenten bei der Verwaltung einer Multi-Cloud-Bereitstellung ist die Vernetzung. Jeder Anbieter hat seine eigene Methode zur Definition von Netzwerken und Firewalls, und selbst Tools, die Cluster über mehrere Clouds hinweg bereitstellen können, schaffen es oft nicht ganz, die Netzwerkkonfiguration dazu zu bringen, auf die gleiche Weise zu funktionieren. Die Aufgabe des Einrichtens kann oft ein Trial-and-Error-Spiel sein, bei dem die endgültige Konfiguration am besten nie wieder angerührt wird, wodurch die „Umstellung auf Multi-Cloud“ als gescheitertes Experiment innerhalb von Unternehmen betrachtet wird.
Bei Cloudflare haben wir eine Technologie namens Argo Tunnel, die das Netzwerken auf den Kopf stellt. Anstatt Ports zu öffnen und eingehenden Datenverkehr zu lenken, erstellt jeder Ihrer virtuellen Rechner (oder k8s-Pods) ausgehende Tunnel zu den nächstgelegenen Cloudflare-PoPs. Ihr gesamter Internetverkehr fließt dann durch diese Tunnel. Sie halten alle Ports für eingehenden Datenverkehr geschlossen und müssen nie wieder über das Internet-Netzwerken nachgrübeln.
Was diese Konfiguration so beeindruckend macht, ist, dass es trivial ist, Rechner an neuen Standorten zu betreiben. Sie wollen ein Dutzend Rechner in Australien? Sobald sie den Argo Tunnel-Daemon starten, werden sie Traffic empfangen. Sie brauchen sie nicht mehr? Fahren Sie sie herunter und der Traffic wird an einen anderen Ort geleitet. Und natürlich hängt nichts davon von einem einzigen Public-Cloud-Anbieter ab, wodurch es zuverlässig ist, selbst wenn dort Probleme auftreten sollten.
Argo Tunnel macht es einfach, Rechner in neuen Clouds hinzuzufügen oder Rechner vor Ort zu halten, selbst wenn Sie anfangen, Workloads in die Cloud zu verschieben.
Zugriffskontrolle
Eine Sache, die Sie bei der Verwendung von Argo Tunnel feststellen werden, ist, dass Sie jetzt über sichere Tunnel verfügen, die Ihre Infrastruktur mit dem Netzwerk von Cloudflare verbinden. Sobald der Datenverkehr dieses Netzwerk erreicht hat, muss er nicht mehr unbedingt direkt zu Ihren Rechnern fließen. Es könnte beispielsweise eine Zugriffskontrolle angewendet werden, wenn wir Ihren Identitätsanbieter (wie Okta oder Active Directory) verwenden, um zu entscheiden, wer auf was zugreifen darf. Anstatt mit VPCs und VPN-Konfigurationen zu kämpfen, können Sie zu einem Zero-Trust-Modell übergehen, bei dem Sie mithilfe von Richtlinien auf Anfragebasis entscheiden, wer genau auf was zugreifen darf.
Tatsächlich können Sie dies jetzt auch mit SSH tun! Sie können alle Ihre Benutzerkonten an einem einzigen Ort verwalten und präzise steuern, wer auf welches Teil der Infrastruktur zugreifen kann, unabhängig davon, in welcher Cloud es sich befindet.
Unsere Zuverlässigkeit
Kein Computersystem ist perfekt, und unseres ist keine Ausnahme. Wir machen Fehler, haben Bugs in unserem Code und kämpfen jeden Tag mit den Problemen, die mit dem Operieren im Internet verbunden sind. Eine große Neuerung in der jüngeren Geschichte der Computer ist jedoch die Idee, dass es möglich ist, ein zuverlässiges System auf Basis vieler einzeln unzuverlässiger Komponenten aufzubauen.
Jeder der PoPs von Cloudflare ist so konzipiert, dass er ohne Kommunikation oder Unterstützung von anderen oder einem zentralen Rechenzentrum funktioniert. Das allein erhöht unsere Toleranz gegenüber Netzwerkpartitionen erheblich und bringt uns von der Aufrechterhaltung eines einzelnen Systems näher an die Aufrechterhaltung von 180 unabhängigen Clouds, von denen jede den gesamten Datenverkehr bedienen kann.
Wir sind auch ein System, das auf Anycast basiert und es uns ermöglicht, die grundlegende Zuverlässigkeit des Internets zu nutzen. Das Internet verwendet ein Protokoll namens BGP, das jedes System, das Traffic für eine bestimmte IP-Adresse empfangen möchte, auffordert, diese zu „anzubieten“. Jeder Router entscheidet dann, den Traffic basierend darauf, welche Person, die eine Adresse anbietet, am nächsten ist, weiterzuleiten. Wir bieten alle unsere IP-Adressen in jedem unserer Rechenzentren an. Wenn ein Rechenzentrum ausfällt, stellt es die Bekanntgabe von BGP-Routen ein, und die gleichen Pakete, die für es bestimmt gewesen wären, gelangen nahtlos in ein anderes PoP.
Letztendlich versuchen wir, das Internet besser zu machen. Wir glauben nicht, dass das Internet auf dem Rücken eines einzigen Anbieters aufgebaut ist. Viele der von diesen Cloud-Anbietern angebotenen Dienste sind einfach zu komplex, um so zuverlässig zu sein, wie es das Internet verlangt.
Echte Zuverlässigkeit und Kostenkontrolle erfordern es, in mehreren Clouds zu existieren. Es ist klar, dass die Instrumente, die uns das Internet der 80er und 90er Jahre gegeben hat, möglicherweise nicht ausreichen, um in diese Zukunft zu gelangen. Mit einem intelligenteren Netzwerk können wir mehr tun, und das besser.