Für viele Netzwerktechniker stellt die Geschwindigkeit eine der höchsten Prioritäten im Umgang mit Netzänderungen dar. Daher sollte man sich mit den hierfür notwendigen Werkzeugen auseinandersetzen und nur die Methode nutzen, die für Netzwerkänderungen langfristig die besten Ergebnisse liefern.
Netzwerker, die über das Command-Line-Interface (CLI) – bzw. die Befehlszeile – die Konfiguration von Netzwerkkomponenten gelernt haben, bevorzugen häufig manuelle Prozesse für Netzänderungen. Die Ursache hierfür ist darin zu suchen, dass sie damit Änderungen schneller umsetzen können. Aber stimmt diese Annahme?
Manueller Änderungsprozess
Der manuelle Änderungsprozess besteht nicht nur darin, Befehle direkt in Netzwerkkomponente einzugeben. Ein cleverer Netzwerker erstellt die Änderungen in einem Textdokument und wendet die Konfigurationsaktualisierungen per Cut-and-Paste an. Das Textdokument wird ohnehin für das Change-Control-Board (CCB) benötigt, um die jeweiligen Änderungen zu überprüfen. Netzwerkänderungen ohne das CCB können jedoch nicht als Automatisierungsprozess angesehen werden. Die überwiegende Mehrheit der Unternehmen nutzt das CCB, um die Anzahl der Netzwerkausfälle aufgrund von Konfigurationsänderungen zu reduzieren, die die häufigste Ursache für Ausfälle sind (laut einigen Analysten bis zu 80 %).
Bei den meisten manuellen Änderungsprozessen, die ich gesehen habe, wurde die Überprüfung vor der Änderung, ob das Netzwerk vor der Implementierung der Änderung ordnungsgemäß funktionierte, ausgelassen. Und häufig besteht die Überprüfung nach der Änderung lediglich darin, die Ausgabe von „show configuration“ oder „show run“ zu überprüfen. Stattdessen sollten vor und nach der Änderung die jeweiligen Subsysteme überprüft werden, die voraussichtlich von der Änderung betroffen sind, wie Routing-Protokolle, Konnektivität und Nachbarbeziehungen.
Der manuelle Prozess mag zwar schneller sein als ein automatisierter Prozess für Änderungen, die nur auf eine kleine Anzahl von Geräten angewendet werden müssen, insbesondere wenn Abkürzungen genommen werden. Ich bin jedoch der Meinung, dass die Erstellung der Daten für die Automatisierung nicht viel mehr Zeit in Anspruch nimmt als ein gründlicher manueller Prozess, selbst wenn nur wenige Geräte geändert werden müssen.
Automatisierung des Änderungsprozesses
Die Automatisierung bietet die Möglichkeit, den Prozess der Konfigurationsänderungen zu verbessern. Die Verwendung eines Code-Repositorys zwingt zur Dokumentation der vorgeschlagenen Änderungen, und eine gegenseitige Überprüfung deckt dumme Fehler frühzeitig im Prozess auf. Beide Schritte erhöhen die Qualität der Änderungen und reduzieren Netzwerkausfälle.
Mit steigender Anzahl von Geräten wird die Automatisierung natürlich immer attraktiver. Beispiele hierfür sind die Konfiguration einheitlicher Quality of Service (QoS)-Einstellungen in einem gesamten Unternehmen mit mehr als nur wenigen Geräten oder die Änderung von BGP-Richtlinien auf einer Reihe von Internet-Border-Routern. Es ist eine Erleichterung, nicht mehr mühsame und fehleranfällige Cut-and-Paste-Vorgänge für eine lange Liste von Geräten wiederholen zu müssen.
Man muss jedoch zunächst eine Änderung an einer Teilmenge von Geräten automatisieren und überprüfen, ob die Änderung wie gewünscht funktioniert und die Validierungstests vor und nach der Änderung korrekt sind. Sobald die Automatisierung validiert ist, kann die Anzahl der Geräte, die automatisiert geändert werden können, erhöht werden.
Nachdem man bestimmte Prozesse automatisiert hat, kann man die Validierung vor und nach der Änderung automatisieren. Dies ist etwas, das bei manuellen Prozessen oft fehlschlägt, da für jedes Gerät die gleichen Schritte wiederholt werden müssen: Wurde eine Verbindung hergestellt, ist das benachbarte Gerät das richtige, zeigen die Netzwerkprotokolle einen korrekten Betrieb an, funktioniert die Zugriffskontrollliste korrekt?
Abschließend wird eine vollständige Netzwerkvalidierung durchgeführt. Dieser letzte Schritt überprüft, ob das gesamte Netzwerk wie gewünscht funktioniert und keine unerwünschten Nebenwirkungen aufgetreten sind. Noch besser ist, dass diese umfassende Netzwerkvalidierung regelmäßig eingesetzt werden kann, um unerwartete Netzwerkprobleme zu erkennen. Vergleicht man den automatisierten Prozess mit dem manuellen Prozess-Workflow wird man schnell feststellen, dass die Automatisierung schneller ist.
Ein großer Vorteil der Automatisierung liegt in der Wiederverwendbarkeit der Workflow-Elemente. Der Prozess der Konfiguration eines Rechenzentrums-Pods oder einer Zweigstelle wandelt sich von einem workflowgesteuerten (schrittweisen Prozess) zu einem datengesteuerten Prozess (einem gemeinsamen Automatisierungsworkflow, der durch Variablen pro Pod oder pro Zweigstelle gesteuert wird).
Sie sollten schließlich einen Punkt erreichen, an dem bestimmte Änderungen rationalisiert werden und schnell genehmigt und umgesetzt werden können. Das Hinzufügen einer neuen Verbindung oder das Einrichten eines neuen VLAN sind gute Beispiele dafür. Die Automatisierung kann diese Aufgaben viel schneller und sicherer erledigen als manuelle Prozesse.
Automatisierung lernen
Ich höre schon die Einwände: Aber ich habe keine Ahnung von Automatisierung! Das sagen Netzwerkingenieure, die eine geheimnisvolle Befehlszeilensyntax und komplexe Netzwerkprotokolle gelernt haben. Die Automatisierung mit Ansible ist sicherlich für jeden machbar, der genug gelernt hat, um die CLI erfolgreich zu nutzen. Wenn dieser Ansatz nicht realisierbar ist, gibt es auch Tools ohne Programmieraufwand, wie beispielsweise Gluware.
Es ist hilfreich, den allgemeinen Ansatz der Automatisierung zu verstehen, damit Sie mehr erreichen als nur die manuelle Nachbildung von Prozessen. Suchen Sie nach Kursen auf Websites wie Pluralsight und O’Reilly, die dieses Verständnis vermitteln und zu angemessenen Preisen angeboten werden. Ein weiterer Ansatz ist die Lektüre von Büchern zum Thema Automatisierung wie „The Phoenix Project“, in dem drei Grundprinzipien von DevOps vermittelt werden:
Führen Sie einen Arbeitsablauf mit kleinen Chargengrößen ein. Im Netzwerkbereich bedeutet dies, den Umfang von Änderungen zu begrenzen (bekannt als „Blast Radius“). Fangen Sie klein an und erweitern Sie die Automatisierung, sobald sich gezeigt hat, dass sie das gewünschte Ergebnis liefert. Beschränken Sie die laufenden Arbeiten auf kleine Chargen. So kann die Arbeit reibungslos von einem Teil des Prozesses zum nächsten fließen.
Schnelles Feedback nutzt kleine Schleifen und ermöglicht eine schnellere Korrektur, wenn etwas nicht stimmt. Peer Reviews der vorgeschlagenen Änderungen zu Beginn des Zyklus sind eine der Feedback-Mechanismen. Die Verwendung kleiner Chargen unterstützt schnelles Feedback.
Führen Sie eine Kultur ein, die Weiterbildung und Experimente fördert, in der Wiederholung und Übung zu Meisterschaft führen.
Sie können auch einfach mit der Automatisierung schreibgeschützter Prozesse beginnen. Erstellen Sie einige Tests zur Netzwerkvalidierung vor und nach der Änderung. So können Sie in einer Umgebung beginnen, in der noch nicht alle mit der Automatisierung vertraut sind oder über die erforderlichen Kenntnisse verfügen.

Die erfolgreiche Einführung der Automatisierung hängt von einem grundlegenden Kulturwandel ab. Das gesamte Netzwerkteam muss Automatisierungsworkflows übernehmen und verstehen, wie die Automatisierungssysteme zu verwenden sind. Jeder, der Änderungen manuell implementiert, verursacht technische Schulden, die beglichen werden müssen, bevor die Automatisierungssysteme die Kontrolle wieder übernehmen können. Es wird einige Anstrengungen erfordern, die Workflows so zu optimieren, dass die Automatisierung schneller ist als die bekannten manuellen Prozesse, aber es ist durchaus möglich.
Mathias Hein, Consultant












