Einblicke und Neuigkeiten. Frisch serviert.

2020

Juni
4

Cumulus Linux: Ein Umstieg, der sich gelohnt hat

Nach einer geläufigen Definition bestehen IaaS-Angebote aus Compute, Storage und Netzwerk. Während die ersten beiden Bereiche oft etwas mehr Aufmerksamkeit geniessen, widmen wir nun zwei Beiträge unserer neuen Switching-Infrastruktur auf Basis von Cumulus Linux. Im ersten Teil beleuchten wir dabei, weshalb das Netzwerk bei cloudscale.ch so wichtig ist, welche Hauptvorteile uns zur heute eingesetzten Lösung bewogen haben und wie sich die neue Switching Fabric auf unsere Infrastruktur als Ganzes auswirkt.

Die Switching-Infrastruktur als zentraler Faktor

Im normalen IT-Alltag findet das Netzwerk oft wenig Beachtung: Sind die Systeme erst einmal verkabelt, rückt für die nächsten Jahre oft die Rechenleistung und der Speicherplatz in den Vordergrund. Bei cloudscale.ch hingegen ist das Thema ständig präsent: Vom Netzwerk hängt nicht nur die Anbindung unserer Cloud-Server ans Internet und damit die externe Verfügbarkeit Ihrer Services ab; mit dem Trend zu Microservices und Cluster-Setups ist auch die interne Vernetzung zwischen Cloud-Servern matchentscheidend für die Performance und Zuverlässigkeit des Gesamtsystems. Und schliesslich kann unser Storage-Cluster auf Basis von Ceph seine Vorteile nur mit einer Top-Netzwerkinfrastruktur voll ausspielen.

Nebst unserem allgemeinen Wachstum und entsprechend steigendem Bedarf an Switchports beeinflusste auch die Inbetriebnahme unseres zweiten Cloud-Standorts in Lupfig unsere Wahl. Die zwei Standorte sollten einerseits unabhängig voneinander operieren können und damit geo-redundante Setups ermöglichen, andererseits sollte aber auch eine möglichst direkte Verbindung zwischen Services an beiden Standorten sichergestellt werden. An Cumulus Linux gefiel uns nicht zuletzt die Tatsache, dass sich die meisten unserer Anforderungen mit offenen Standards und ohne die Verwendung von proprietären Protokollen eines bestimmten Herstellers umsetzen liessen.

Besonderheiten der Lösung mit Cumulus Linux

Die von Cumulus Networks gepflegte Distribution "Cumulus Linux" ist ein Novum unter den Netzwerk-Betriebssystemen. Anders als die Systeme der traditionellen Netzwerk-Hersteller ist sie zum grössten Teil Open-Source und basiert auf Debian GNU/Linux. Um im Enterprise-Umfeld die geforderte Stabilität und Sicherheit zu bieten, werden einzelne Versionen als sog. "ESR"-Releases (Extended Support Release) über einen langen Zeitraum hinweg mit Sicherheits-Updates versorgt – eine Strategie, die von Ubuntu's LTS-Versionen her bekannt ist und auch in immer mehr anderen Software-Projekten Einzug hält. Ein Bestandteil von Cumulus Linux ist zudem FRRouting, das unter dem Dach der Linux Foundation weiterentwickelt wird und das wir bereits auf unseren Border-Routern mit Erfolg einsetzen.

Mit der Einführung unserer neuen Switching-Infrastruktur liessen wir uns deutlich mehr Zeit als ursprünglich geplant. Über mehrere Versionen hinweg sammelten wir in unserem Lab Erfahrung mit Cumulus Linux, und in zahlreichen Iterationen flossen gewonnene Erkenntnisse in das Netzwerk-Design zurück. Profitiert haben wir dabei nicht zuletzt von der Community, die sich rund um Cumulus Linux gebildet hat. So erhält man in einem dedizierten Slack-Channel umkompliziert Tipps und Tricks von anderen Cumulus-Anwendern; wenn sich auf diese Weise mal ein Anliegen nicht zeitnah lösen lässt, schalten sich oft Cumulus-eigene Engineers in die Diskussion ein und bieten aktiv Hilfe an. Aber auch die direkte Zusammenarbeit mit Cumulus Networks erwies sich als offen und fruchtbar. Wo wir tatsächlich auf Bugs stiessen, wurden diese gewissenhaft analysiert und behoben – inkl. Patches, die oft auch "upstream" in die jeweiligen Open-Source-Projekte zurückflossen.

Technische Eckdaten und handfeste Vorteile

Cumulus Linux ist ein Netzwerk-Betriebssystem, das auf Geräten verschiedenster Hersteller eingesetzt werden kann. Die "Cumulus Express" genannte Kombination, für die wir uns entschieden haben, enthält Hardware von Edgecore. In unseren Switches steckt ein Trident 3 ASIC von Broadcom, das "line-rate"-Switching für alle 32 100-Gbps-Ports unterstützt – in der Summe also volle 3.2 Tbps. Jeder der 100-Gbps-Ports lässt sich zudem mittels "Breakout"-Funktion in 4 "logical" Ports mit je 10 oder 25 Gbps aufteilen, was die Flexibilität bzgl. der anschliessbaren Systeme zusätzlich erhöht.

Netzwerk-Diagramm pro Cloud-Zone (vereinfacht)

Unser Netzwerk haben wir nach dem Leaf-Spine-Prinzip aufgebaut, wobei jeder Switch redundant ausgelegt ist. Auch sämtliche Verbindungen sind redundant: Ein Leaf-Paar (zwei "Top-of-Rack" Switches) ist mit insgesamt 800 Gbps mit den beiden Spines verbunden. Zusätzlich zur Multi-100-Gbps-Vernetzung unseres Backbones ermöglicht die eingesetzte Hardware auch den schrittweisen Umstieg auf eine Multi-25-Gbps-Anbindung einzelner physischer Server. Davon profitieren nicht nur die privaten Netze zwischen den virtuellen Servern unserer Kunden, sondern auch die Anbindung an den Storage-Cluster. Die dedizierte Verbindung zwischen unseren beiden Cloud-Standorten schliesslich ist mit Multi-10-Gbps über CWDM auf trassenredundanten Dark-Fibers ebenfalls grosszügig dimensioniert.

 

Bei cloudscale.ch sind wir uns bewusst, dass das Netzwerk die Basis für alle anderen Features der Cloud bildet. Entsprechend hoch gewichten wir daher Leistung, Zuverlässigkeit und Support aller eingesetzten Komponenten. Der untypische Ansatz von Cumulus Linux bietet aber noch weitere Vorteile. In einem separaten Beitrag möchten wir daher auch einen Einblick geben, wie wir bei cloudscale.ch z.B. von Synergien zwischen Network Engineering und System Engineering profitieren können.

Schnell wie der Blitz,
Ihr cloudscale.ch-Team

Mehr Neuigkeiten. Weitere Einblicke.

Testen Sie uns und starten Sie noch heute einen Linux-Server in der Schweiz: