Die Vorteile der Containerisierung in SONiC

von | Mrz 14, 2023 | Uncategorized

Wenn Sie sich wie ich für Netzwerkbetriebssysteme interessieren, dann wissen Sie, dass die Containerisierungsarchitektur von SONiC ist ein großer Schritt nach vorn, um eine höhere Netzverfügbarkeit zu erreichen.

In der Vergangenheit waren die meisten Netzwerkbetriebssysteme monolithisch, d.h. sie hatten eine einzige Codebasis, die alle Netzwerkfunktionen steuerte, ein einziges großes Image mit allen Funktionen. Aber die Containerisierung ändert all das! Jetzt wird jede Netzwerkfunktion in einen eigenen Container oder Microservice ausgelagert. Das ist so, als hätte man in seinem Haus verschiedene Zimmer für verschiedene Funktionen, anstatt alles in einem großen Raum unterzubringen. Sie können einen Raum komplett renovieren, während das Leben in den anderen Räumen davon unberührt bleibt.

Container, Microservices und Kubernetes sind die Standards für die Bereitstellung verteilter Anwendungen in der Cloud, vielleicht ist es an der Zeit, dass das Netzwerk aufholt? Was können wir von diesem neuen Paradigma erwarten?

Flexibilität

Warum sind Container eine so große Sache? Zunächst einmal, weil sie uns viel mehr Flexibilität bieten. Mit der Containerisierung können wir einen bestimmten Dienst aktualisieren oder neue Funktionen hinzufügen, ohne das gesamte Betriebssystem ändern zu müssen. Das ist ein entscheidender Vorteil für die Konfiguration und Fehlerbehebung in Netzwerken. Wenn in der Vergangenheit ein Fehler oder eine Schwachstelle in einer Komponente auftrat, die nicht zur Datenebene gehörte, musste man immer noch das gesamte System neu starten, um den Fehler zu beheben. Sicherlich gab es proprietäre Lösungen wie ISSU, aber sie waren etwas unzuverlässig und Teil der Blackbox des Herstellers. Mit Containern und Open-Source-Software können wir sicher sein, welche Dinge voneinander abhängig sind. Dies ist ein sehr wichtiger Bestandteil der Entwicklung zuverlässiger Systeme.

Skalierbarkeit

Ein weiterer großer Vorteil ist die Skalierbarkeit. Mit der Containerisierung können wir einzelne Dienste nach Bedarf skalieren, anstatt das gesamte System skalieren zu müssen. Das ist eine gute Nachricht für die Bewältigung des zunehmenden Netzwerkverkehrs, ohne die Bank zu sprengen. Wir können jeden einzelnen Container mit zusätzlichen Ressourcen aufstocken oder neue identische Container aufsetzen, um Arbeitslasten zu parallelisieren und so besser an den Bedarf anzupassen.

Sicherheit

Auch die Sicherheit ist ein großes Plus. Die Containerisierung bietet eine zusätzliche Sicherheitsebene für Netzwerkbetriebssysteme. Jeder Dienst ist in seinem eigenen Container isoliert, so dass Sicherheitsverletzungen oder Schwachstellen nur diesen speziellen Dienst betreffen und nicht das gesamte System. Und wenn wir ein Stück Code finden, das unsicher ist, können wir es einfach und schnell ersetzen, weil wir nicht das gesamte Betriebssystem ersetzen müssen. Das ist ein Seelenfrieden, der unbezahlbar ist!

Wirkungsgrad

Auch die Effizienz ist ein wichtiges Verkaufsargument. Durch die Containerisierung kann jeder Dienst nur die Ressourcen nutzen, die er benötigt, was zu Kosteneinsparungen führt, insbesondere in großen Netzwerken. Und das Beste daran ist, dass der containerisierte Ansatz von SONiC eine größere Offenheit und Interoperabilität mit anderen Systemen ermöglicht. Genauso wie wir den eingehenden Verkehr zu den Verwaltungsschnittstellen drosseln können, sollten wir auch den Verwaltungsprozessen Grenzen setzen, um sicherzustellen, dass sie unsere Steuerungsebene nicht sprengen. Je mehr Kontrolle wir über die Systemprozesse haben, desto mehr Platz haben wir für neue und interessante Software, die wir schon immer für unser Netzwerkmanagement nutzen wollten.

Orchestrierung

Und hier ist ein bisschen Magie, die Sie vielleicht dazu bringt, anders über die Zukunft der Vernetzung zu denken. Wenn die NOS eine Sammlung von Containern ist, die unsere Netzwerkdienste auf Knoten ausführen, und die Netzwerkstruktur eine Gruppe dieser Arbeitsknoten ist, die an der Bereitstellung eines bestimmten Ergebnisses beteiligt sind, ist das nicht im Grunde dasselbe wie eine verteilte Anwendung? (MIT DEM KOPF NICKEN)

Können wir also Kubernetes verwenden, um diese Netzwerkdienste auf äußerst intelligente Weise bereitzustellen und zu betreiben? Aber sicher! Wir brauchen kein proprietäres Netzwerkmanagementsystem (NMS) oder einen Netzwerk-Controller. Wir können Kubernetes verwenden und alle Vorteile der gesamten Cloud Native-Community nutzen, um unsere Möglichkeiten drastisch zu verbessern.

Dies wird das Spiel verändern.

Insgesamt halte ich die Containerisierung in SONiC für eine enorme Verbesserung gegenüber monolithischen Netzwerkbetriebssystemen. Es ist ein flexibler, skalierbarer, sicherer, effizienter und offener Ansatz. Das ist genau das, was sich Anwendungsentwickler bei der Konzeption moderner Anwendungen wünschen. Es ist an der Zeit, dass das Netz mit dem Rest der modernen Infrastruktur Schritt hält.

Bis zum nächsten Mal...

Josh Saul
Josh Saul

Josh Saul leistet seit mehr als 25 Jahren Pionierarbeit bei Open-Source-Netzwerklösungen. Als Architekt hat er Kernnetzwerke für GE, Pfizer und NBC Universal aufgebaut. Als Ingenieur bei Cisco beriet Josh Saul Kunden aus dem Fortune-100-Finanzsektor und warb bei Kunden für neue Technologien. In jüngerer Zeit leitete Josh Marketing- und Produktteams bei VMware (übernommen von Broadcom), Cumulus Networks (übernommen von Nvidia) und Apstra (übernommen von Juniper). Josh lebt mit seinen beiden Kindern in New York City und ist ein begeisterter SCUBA-Taucher.