Sind DevOps eine geeignete Unterstützung für den Netzwerkmanager?

Marlene Spensley, Leiterin der Application Optimisation Practice bei Nuvias, erläutert die neue Rolle von DevOps beim Netzwerkmanagement DevOps transformiert die Welt der Softwareentwicklung  mit Hilfe effizienterer Prozesse, mit denen die Time-to-Market für neue Multi-Plattform-Applikationen radikal verkürzt wird und die Dauer für Softwareupdates von Tagen auf Minuten schrumpft. Dank der steigenden Auswahl an DevOps-Lösungen können Unternehmen […]

Marlene Spensley, Leiterin der Application Optimisation Practice bei Nuvias, erläutert die neue Rolle von DevOps beim Netzwerkmanagement

DevOps transformiert die Welt der Softwareentwicklung  mit Hilfe effizienterer Prozesse, mit denen die Time-to-Market für neue Multi-Plattform-Applikationen radikal verkürzt wird und die Dauer für Softwareupdates von Tagen auf Minuten schrumpft. Dank der steigenden Auswahl an DevOps-Lösungen können Unternehmen neue Ideen innerhalb weniger Wochen statt Monate zu Produktionsreife bringen.

Doch obwohl das Thema DevOps für die Softwareentwickler fast schon Mainstream ist, haben sich nur wenige Unternehmen bisher Gedanken zum Thema DevOps für Netzwerkentwickler gemacht, geschweige denn umgesetzt. Bei vielen Firmen sind Netzwerkupdates immer noch stark manuell geprägte Prozesse, und die meisten Unternehmen haben mit der Virtualisierung ihrer Netzwerke stark zu kämpfen – an eine Automatisierung ist hier gar nicht erst zu denken. Tatsache ist: laut Analystenhaus Gartner nutzen über 70% aller Unternehmen immer noch manuelle, auf dem Command Line Interface (CLI) basierende Mechanismen, um ihre Netzwerke aufzubauen und zu managen.

Es gibt natürlich keinen Grund, weshalb DevOps nicht alle Bereiche der Infrastruktur umfassen sollte. In der Praxis jedoch hat das traditionelle Thema Netzwerk größtenteils wenig mit den DevOps-Initiativen zu tun. Die Beteiligung der Netzwerkteams fiel traditionell eher zurückhaltend aus, was wiederum zu einer geringeren Effektivität von DevOps-Projekten führt. DevOps muss in der Lage sein, kontinuierlich neue Features und Applikationen zu entwickeln, zu testen und einzuführen, und dafür ist eine optimale Netzwerkverfügbarkeit erforderlich. Deshalb spielt DevOps eine inhärente Rolle bei der Netzwerkfunktion.

Zeit für Veränderungen

Mit der Evolution bei den Netzwerken muss sich auch der manuelle Ansatz zum Thema Netzwerkmanagement ändern, weil die einzelnen Bestandteile des Netzwerks zunehmend automatisiert und softwarebasiert werden. Auch weitere Services werden zunehmen per Software-Defined Networking (SDN) erbracht, einer programmatischen Art der Konfiguration für Netzwerkgeräte. Bei SDN geht es vor allem um die Steuerung des Netzwerks durch die Anwendung von Code. Dieses Konzept wird auch als „Infrastructure as Code (IaC)“ bezeichnet. Je mehr die Netzwerkinfrastruktur programmierbar wird, desto wichtiger wird SDN im DevOps-Stack.

Das Kernprinzip von DevOps für das Netzwerk wird ein wenig trocken als „NetDevOps“ bezeichnet. Dieses Konzept wird durch SDN und IaC ermöglicht und hilft bei der Automatisierung von Routineaufgaben und repetitiven Abläufen innerhalb des Netzwerkmanagements.  Das beschleunigt nicht nur die Transformation, sondern reduziert auch Fehler, ermöglicht Skaleneffekte und erlaubt die unkomplizierte Replikation erfolgreicher Prozessabläufe.  Auch Automatisierungstools werden zunehmend für das Management von Netzwerkgeräten eingesetzt, von Aufbau und Konfiguration bis hin zum policy-basierten Change Management.

Die Idee der Konfiguration von Netzwerkgeräten existiert bereits eine geraume Weile, allerdings findet sie erst in jüngster Zeit ihren Weg in die Automatisierungs-Toolsets. So hat zum Beispiel das Unternehmen Ansible im vergangenen Jahr Module für die Automatisierung der Netzwerkinfrastruktur vorgestellt, die Hardware von verschiedenen Netzwerkherstellern unterstützen. Von Saltstack gibt es ähnliche Module, weitere beliebte DevOps-Tools für Aufbau und Steuerung von Infrastrukturen sind Puppet und Chef.

Networks-as-Code – zusammen mit Infrastructure-as-Code – bedeutet im Prinzip, programmatisch festzulegen, wie das Netzwerk aussehen und sich verhalten soll, sowie den Einsatz von Tools, um diese Topologie in die physische Welt zu übersetzen. Ich bin davon überzeugt, dass die Zukunft für DevOps im Bereich Networking darauf basiert, dass das Netzwerk „intentions-basiert“ wird. Dabei definieren die Netzwerkarchitekten  einen Intentions-Blueprint für das Netzwerk und übertragen diesen dann auf die Geräte, ohne dabei jeden Switch individuell programmieren zu müssen.   Damit können die Architekten Netzwerke ganz nach Belieben aufbauen, bei denen der Fokus auf der Intention des gesamten Netzwerks liegt, und automatisch alle Ziel-Switches gemäß dieser Intention programmieren. Mit diesem Abstraktionsansatz entfällt das aufwändige Management der einzelnen Switches im Tagesgeschäft, und so sieht wahrscheinlich auch die Zukunft aus, wenn Rechenzentren für die Verwendung als private Cloud aufgebaut werden.

Es ist an der Zeit, dass die Softwareentwickler aufhören, ihr eigenes Süppchen zu kochen und die Netzwerkmanager die Vorteile von DevOps erkennen. Letzten Endes basiert schließlich jede IT-Infrastruktur auf Netzwerken, und so bieten sich hier immense Vorteile bei Design, Deployment, Management und schnelleren, effizienteren Updates.