Die meisten IT-Führungskräfte dürften mit den Konzepten von DevOps und DevSecOps vertraut sein. Nun gibt es ein neues Modell, das für viel Wirbel sorgt und besonders für Netzwerkexperten relevant ist: NetDevOps. Wie bei anderen aufkommenden Technologien variiert die Definition von NetDevOps. Grundsätzlich bezieht sich der Begriff jedoch auf die Anwendung von DevOps-Prinzipien auf Computernetze.
Was ist NetDevOps?
"NetDevOps ist ein ziemlich heißes [und] gehyptes Thema", erklärt etwa Andrew Lerner, Research Vice President für Netzwerke bei Gartner. "Aber die erste Frage ist, was es ist, da es unterschiedliche Definitionen und Auffassungen gibt." Nach Gartner-Definition bedeutet NetDevOps die Anwendung der DevOps-Konzepte der kontinuierlichen Integration/kontinuierlichen Bereitstellung (CI/CD) auf Netzwerkaktivitäten. Andere Begriffe, die zur Beschreibung dieses Modells verwendet werden, sind NetOps 2.0, Network as Code und GitOps Networking, so Lerner weiter.
Für das Marktforschungsunternehmen GigaOm umfasst NetDevOps "die Abstraktion, Kodifizierung und Implementierung der Netzwerkinfrastruktur als Code (IaC), wobei programmierte, automatisierte Arbeitsabläufe verwendet werden, um Konfigurationsabweichungen zu eliminieren und Qualität und Ausfallsicherheit im Netzwerk zu verankern."
Um NetDevOps nutzen zu können, muss ein Unternehmen laut Lerner über eine automatisierte Pipeline verfügen, die das Staging, die Vor- und Nachvalidierung sowie das Testen von Netzwerkaktivitäten wie die Bereitstellung umfasst. GigaOm stimmt dem zu und fügt hinzu, dass die NetDevOps-Pipeline Code aus verschiedenen Entwicklungsumgebungen in die Produktion überführen kann und dabei umfassende Validierungs- und Compliance-Tests auslöst. NetDevOps umfasst zudem eine kontinuierliche Überwachung, Messung und Reaktion, die automatisch Korrekturwarnungen auslöst, wenn eine Abweichung der Konfiguration von einem gewünschten Zustand festgestellt wird, so das Unternehmen.
Die Vorteile von NetDevOps
Angesichts der DevOps-Wurzeln ist es logisch, dass NetDevOps viele der gleichen Ziele verfolgt. Für Joel King, ein unabhängiger Architekt für Netzwerkautomatisierung, gilt dabei: "DevOps wird durch vier Prinzipien beschrieben: ein ganzheitlicher Systemansatz (das ganze System betrachten, nicht nur einen Teil davon), keine organisatorischen Silos, schnelles Feedback und Automatisierung, um die Arbeit zu reduzieren." Nach Meinung von King hinkt der Netzwerkbetrieb anderen Funktionsbereichen, die die IT-Infrastruktur eines Unternehmens unterstützen, hinterher, insbesondere wenn es um die Automatisierung durch Netzwerkprogrammierbarkeit geht.
"Um eine neue Anwendung oder einen neuen Service für das Unternehmen bereitzustellen, müssen die Rechen-, Speicher- und Netzwerkkomponenten konfiguriert oder neue Hardware implementiert werden", führt King weiter aus. "Oft werden diese Änderungen manuell vorgenommen, indem ein Techniker in ein Terminalfenster tippt, und müssen möglicherweise durch einen formalen Änderungskontrollprozess überprüft und während eines Zeitfensters außerhalb der Geschäftszeiten implementiert werden."
Deshalb ist für den Netzarchitekten die Automatisierung von Infrastrukturänderungen eine grundlegende Komponente. Sie hilft dabei, die Zeit zu verkürzen, die für die Bereitstellung neuer Anwendungen oder Dienste benötigt wird, um die Geschäftsanforderungen zu erfüllen. Letztlich, so Gartner-Mann Lerner, trägt NetDevOps zur Verbesserung der Agilität bei und ist besonders wertvoll für Unternehmen, die Infrastruktur als Code implementieren, da das Netzwerk oft ein Engpass ist. Zudem förderten NetDevOps-Praktiken klare Arbeitsabläufe und Dokumentationen, was bei Audits, Governance und Fehlerbehebung helfe.
Ein weiterer Vorteil von NetDevOps besteht darin, dass es eine bessere Zusammenarbeit zwischen verschiedenen Abteilungen innerhalb der IT ermöglicht - ähnlich wie DevOps dies bei Entwicklung und Betrieb tut. Sameer Mahajan, Principal Architect beim Softwareunternehmen GS Lab, veranschaulicht dies so: "NetDevOps überbrückt Silos zwischen Netzwerkentwicklungs- und Betriebsteams. Beide Teams haben unterschiedliche Aufgaben. Das Entwicklungsteam kümmert sich um die Codeentwicklung und das Testen, während sich das Betriebsteam um die Umgebung, die IT-Architektur, die Bereitstellung, die Verfügbarkeit usw. kümmert. Grundsätzlich sieht Mahajan mindestens sieben primäre Anwendungsfälle für NetDevOps, darunter Gerätebereitstellung, Datenerfassung und Telemetrie, Konformitätsprüfungen, Migrationen, Berichterstattung, Fehlerbehebung und Konfigurationsmanagement.
Hindernisse bei der Einführung von NetDevOps?
Bislang wurde NetDevOps noch nicht in großem Umfang implementiert, denn die Unternehmen müssen eine Reihe von Hindernissen bei der Einführung von NetDevOps aus dem Weg räumen:
Risikoaversion: "Die Auswirkungen eines RZ-Ausfalls sind enorm", sagt Lerner. Deshalb seien die Netzwerkteams risikoscheu und hätten kein Vertrauen in die Automatisierung von Data-Center-Netzen. Zudem erforderten NetDevOps-Praktiken ein genaues Repository aktueller Netzwerkinformationen - Inventar, Standort usw. -, was in vielen Unternehmen nicht üblich ist.
Technische Schulden: Ein weiteres Hindernis sind technische Schulden in Form von heterogenen Umgebungen. Und natürlich schränken inkonsistente oder nicht dokumentierte Arbeitsabläufe im Zusammenhang mit Netzwerkaktivitäten die Akzeptanz ein.
Fachkräftemangel: Mit Blick auf den Fachkräftemangel empfiehlt Lerner, in geeignetes Personal zu investieren. Der Fokus bei der Einstellung und Schulung sollte dabei auf spezifischen Softwarekompetenzen wie Ansible und Python, Community-Foren und derZusammenarbeit von Netzteams mit benachbarten DevOps-Mitarbeitern liegen.
Dokumentation: NetDevOps-Praktiken erfordern ein genaues Repository aktueller Netzwerkinformationen, was in vielen Unternehmen nicht üblich ist.
Kultur: Für viele Unternehmen bedeutet die Übernahme dieser Prinzipien einen großen kulturellen Wandel. Organisationen, die eine Kultur des geringen Vertrauens, eine Top-Down-Verwaltung und starre Änderungskontrollen haben, werden deshalb wahrscheinlich Probleme bei der Implementierung von NetDevOps haben.
Wie man mit NetDevOps anfängt
Bei der Implementierung von NetDevOps geht es weniger um Technologie als vielmehr um Prozesse, Organisation und Schulung, führt Netzarchitekt King aus: "Eine Bewertung der Fähigkeiten der Mitarbeiter ist ein notwendiger erster Schritt, denn viele Netztechniker haben nicht die Zeit, das Interesse oder die Fähigkeit, Netzwerkprogrammierer zu werden."
Ein Ansatz ist für King die Schaffung einer Teamstruktur, in der Fachexperten (SMEs) mit Programmierern zusammenarbeiten können. Darüber hinaus können Unternehmen Kompetenzzentren einrichten, um die Funktionsweise eines integrierten Teams aus KMUs und Programmierern zu demonstrieren. Unternehmen, die sich auf NetDevOps vorbereiten, sollten dabei nicht nur in Schulungen investieren, sondern ihren Mitarbeitern auch genügend Zeit geben, um sich die neuen Prozesse und Tools anzueignen, ergänzt Lerner.
NetDevOps erfolgreich einführen
Es ist eine Sache, eine NetDevOps-Initiative zu starten, aber die Aufrechterhaltung des Erfolgs auf lange Sicht erfordert auch nachhaltige Anstrengungen. "Um eine NetDevOps-Strategie aufrechtzuerhalten, muss das Management die Zeit, die Schulungen und die Organisationsstruktur, die den Erfolg ermöglichen, fördern und in sie investieren", geht King ins Detail. Zudem sei es ist wichtig, ein Team zu bilden, das kleine, frühe Erfolge erzielen kann. Ein weiterer Aspekt ist, in kontinuierliches Lernen und Experimentieren des Teams zu investieren, um seine Fähigkeiten zu erweitern.