Alexander Limbach - stock.adobe.

NetOps-Automation: Ideen und Beispiele

NetOps-Teams können ihr Automatisierungs-Know-how mithilfe der folgenden Beispiele verbessern. Von einfachen Aufgaben bis zu komplexen automatisierten Prozessen ist alles dabei.

NetOps ist mehr als nur der Einsatz von Automatisierung für den Netzwerkbetrieb. Der Übergang von manuellen Prozessen per Eingabe über die Befehlszeile zu vorlagenbasiertem NetOps ist sowohl ein grundlegender Umbruch als auch eine Initiative zur Netzwerkautomatisierung. Daher dauert es eine Weile, bis Teams NetOps vollständig annehmen, da es eine veränderte Einstellung gegenüber Automation erfordert.

Den Übergang zu NetOps planen

NetOps bedeutet viel mehr als lediglich die Automatisierung manueller Prozesse. Das NetOps-Modell bedingt, dass Techniker darüber nachdenken, wie sie mit Vorlagen wiederholbare Automatisierungsaufgaben erstellen können, anstatt mit möglichst wenigen Vorgängen eine Netzwerkänderung zu implementieren. Es kann länger dauern, eine Aufgabe mit einem NetOps-Ansatz zu erledigen. Das sollte auch akzeptiert werden, solange die Teams einen wiederholbaren Prozess entwickeln, der Unit Testing beinhaltet.

Die Einführung von NetOps sollte, ebenso wie die Umstellung auf grundlegende Automatisierung, mit einfachen Aufgaben beginnen, die sich leichter implementieren lassen. Es handelt sich um den gleichen Ansatz, den ich empfohlen habe, als es um die Implementierung von Netzwerkautomatisierung in Ihrem Netzwerk ging. Der Unterschied besteht darin, dass ein NetOps-Ansatz auch Tests umfassen sollte, um zu überprüfen, ob die Änderungen zu dem beabsichtigten Netzwerkstatus führen. Im Idealfall nutzen Teams eine Testumgebung, in der Unit-Tests die Änderungen validieren können, bevor sie auf das Produktionsnetzwerk angewendet werden.

Aufgaben mit nur lesendem Zugriff

Troubleshooting und Überprüfung des Netzwerkstatus sind ideale Aufgaben mit geringem Risiko, die den Netzwerkbetrieb nicht beeinträchtigen.

Troubleshooting: Ping- und Traceroute-Tests sind ein guter Einstieg. Ermöglichen Sie es den für den Netzwerkbetrieb verantwortlichen Mitarbeitern, die Quelle und das Ziel für den Test auszuwählen, oder erstellen Sie eine Version, die von mehreren Quellen aus testet.

IT-Teams sollten bei ihren NetOps-Initiativen mit einem Mix aus benutzerdefinierten Skripten und kommerziellen Produkten planen.

Validierung des Netzwerkstatus: Mit der Validierung des Netzwerkstatus lässt sich überprüfen, ob das Netzwerk wie gewünscht funktioniert. Kommerzielle Produkte für das Konfigurationsmanagement bieten Validierungsfunktionen, mit denen die IT-Teams den Betrieb vor und nach der Änderung überprüfen können.

Folgende Fragen sollten Sie hierbei klären:

  • Enthalten die Routing-Tabellen die gewünschten Routen, und ist der nächste Hop korrekt?
  • Ist Ihr öffentlicher IP-Adressbereich von BGP-Looking-Glass-Sites (Border Gateway Protocol) aus sichtbar?
  • Sind die richtigen virtuellen LANs (VLANs) auf Trunking-Verbindungen konfiguriert?
  • Stimmen die Schnittstellenparameter bei Punkt-zu-Punkt-Verbindungen überein?
  • Stimmen beim Upgrade eines Switches die Peer- und Endpunktgeräte mit denen vor dem Upgrade überein?
  • Sind Redundanzfunktionen, wie redundante Verbindungen, EtherChannels und Router-Redundanz-Peers, funktionsfähig?

Einfache Automation mit Lese-/Schreibzugriff

Verwalten der Konfigurationsparameter von Netzwerkgeräten: Die einfachste Automatisierung ist die Verwaltung der globalen Parameter in den Netzwerkgerätekonfigurationen, etwa Zeitprotokolle, Netzwerkmanagement, Protokollierung und Authentifizierung.

Die Validierung dieser Konfigurationen ist ebenso einfach wie die Erstkonfiguration. Ermitteln Sie die erforderlichen show-Befehle, und sorgen Sie für eine gewisse Automatisierung, um zu überprüfen, ob der gewünschte Zustand erreicht wurde. Beim Network Time Protocol (NTP) sollten beispielsweise aktive Server- oder Peer-Sitzungen mit den angegebenen Zeitquellen geöffnet sein. Dies ist auch ein guter Ansatzpunkt, um das Troubleshooting zu automatisieren, so dass sich das Problem identifizieren lässt, wenn eine Zeitquelle nicht erreichbar ist.

Schnittstellenkonfiguration: Der nächste Punkt auf der Komplexitätsskala ist die Schnittstellenkonfiguration. Das NetOps-System muss möglicherweise mit einem System zur IP-Adressverwaltung integriert werden, um eine zugewiesene IP-Adresse für Layer-3-Schnittstellen zu erhalten. Trunking-Verbindungen auf Layer 2 benötigen VLAN-Listen.

Für diese Art der Automatisierung kann man entweder benutzerdefinierte Skripte oder kommerzielle Automatisierungs-Tools verwenden. Ein Hauptmerkmal der einfachen Automation besteht darin, dass neue Werte alte Werte ersetzen.

Abbildung 1: NetOps-Teams können Automatisierung in verschiedenen Komplexitätsstufen implementieren.
Abbildung 1: NetOps-Teams können Automatisierung in verschiedenen Komplexitätsstufen implementieren.

Automation mit mittlerem Komplexitätsgrad

Eine Automatisierung mittlerer Komplexität stellt eine Herausforderung für kommerzielle Tools dar. Diese Aufgaben interagieren mit anderen Systemen auf eine Art, die kommerzielle Produkte nicht nativ unterstützen. APIs zwischen den Tools können bei der Integration helfen, aber sie machen die Notwendigkeit einer benutzerdefinierten Skripterstellung nicht überflüssig.

Geräte-Upgrades: Ein innovativer Techniker erstellte einmal ein benutzerdefiniertes Skript, um die Aufrüstung von Switches an Remote-Standorten zu unterstützen. Die alten und neuen Switches besaßen eine unterschiedliche Port-Anzahl und abweichende Port-Namen. Der Techniker hätte jedem Endpunkt-Switch-Port manuell das richtige VLAN zuweisen können. Aber das wäre sehr aufwendig gewesen.

Stattdessen schrieb er ein Skript, um die MAC-Adresse (Media Access Control) des Endpunkts, den Namen des Switch Ports und die VLAN-Zuweisung vor dem Upgrade zu speichern. Nach dem Austausch der Hardware identifizierte sein Skript die MAC-Adresse jedes Endpunkts und den neuen Switch Port. Das Skript konfigurierte dann den neuen Switch Port mit der ursprünglichen VLAN-Zuordnung. Alle Endpunktgeräte wurden automatisch dem richtigen VLAN zugewiesen, was dem für das Upgrade zuständigen Team viele Stunden Arbeit ersparte.

Komplexe NetOps-Automation

Komplexere Automatisierungsaufgaben erfordern, dass das System den gewünschten Zustand beobachtet und Konfigurationsbefehle entfernt, die nicht mehr erwünscht sind. Einige kommerzielle Produkte sind in der Lage, diese Komplexität zu bewältigen, und stellen daher das ideale Werkzeug dar.

ACL-Pflege (Access Control List) und QoS-Konfiguration (Quality of Service): Zu den Aufgaben in dieser Kategorie gehören die ACL-Verwaltung und QoS-Konfiguration, was ACL- und Policy-Zuordnungen umfasst.

Firewall-Migration: Es gibt eine weitere Art von komplexer Automation, die weniger naheliegend ist. In einem Fall musste ein Kunde einige Firewall-Regeln von der Plattform eines Anbieters auf eine andere migrieren, wozu eine Änderung der Syntax erforderlich war. Eine zusätzliche Anforderung bestand darin, zu überprüfen, ob sich die Firewall-Regeln auf vorhandene Endpunkte anwenden ließen. Wenn ein Endpunkt außer Betrieb genommen worden war, konnte die Regel gelöscht werden. Oft war ein komplettes Subnetz geändert worden.

Verschieben von Load-Balancer-VIPs (Virtual IPs): In einem anderen Fall mussten Load-Balancer-VIPs auf eine neue Plattform verschoben werden, was ebenfalls eine Änderung der Syntax notwendig machte. Von 3.600 VIPs ließen sich per Automatisierung 1.100 identifizieren, die keine Aktivität aufwiesen und weggelassen werden konnten. Das Ergebnis war eine erhebliche Reduktion der Lizenzierungskosten.

Benutzerdefinierte NetOps-Benutzeroberfläche

Eines der Probleme bei benutzerdefinierten Skripten besteht darin, eine brauchbare Benutzeroberfläche für das Netzwerk-Operations-Team zu erstellen. Ein innovativer Ansatz nennt sich ChatOps, ein Begriff, der sich von der Verwendung von Chatbots zur Durchführung operativer Aufgaben ableitet. In Slack zum Beispiel wird ein Chat-Satz, der mit einem Schrägstrich (/) beginnt, als auszuführender Befehl behandelt. Das führt zu NetOps-Interaktionen wie der folgenden:

/find ip 192.0.2.127

Dieser Befehl führt ein Automatisierungsskript namens find ip aus, das Folgendes zurückliefert:

Device located: IP 192.0.2.127
MAC: 00:00:5E:00:53:FF
Switch: bal-sw01
Interface: Gi1/3

Ähnliche interaktive Schnittstellen gibt es für die meisten Chat-basierten Collaboration Tools.

Continuous Integration/Continuous Deployment

Die optimale NetOps-Umgebung umfasst eine Testumgebung und Automatisierungsfunktionen, mit denen Änderungen an der Netzwerkkonfiguration validiert werden, bevor diese Änderungen produktiv eingesetzt werden. Die Testumgebung muss das Produktionsnetzwerk in ausreichendem Maße abbilden, damit die Tests gültig sind. Es ist hilfreich, wenn das Testnetzwerk Traffic-Generatoren enthält, die sich programmgesteuert nutzen lassen. Diese Generatoren ermöglichen es den NetOps-Technikern, zusammen mit den vorgeschlagenen Änderungen Unit-Tests zu erstellen, ein Prozess, der als testgetriebene Entwicklung oder testgesteuerte Programmierung bezeichnet wird.

Einen Continuous-Integration- und Continuous-Deployment-Prozess für NetOps auf den Weg zu bringen, stellt eine ziemliche Herausforderung dar. Die Vorteile sind jedoch beträchtlich, wie im ergänzenden Artikel „Die Vorteile von Network Infrastructure as Code“ beschrieben.

Fazit

IT-Teams sollten bei ihren NetOps-Initiativen mit einem Mix aus benutzerdefinierten Skripten und kommerziellen Produkten planen. Wie weiter oben beschrieben, können benutzerdefinierte Skripte zusätzliche Aktionen für Geschäftsprozesse berücksichtigen, die von einem kommerziellen Produkt nicht unterstützt werden. Das soll nicht heißen, dass kommerzielle Produkte nicht sinnvoll sind. Es gibt verschiedene Arten von Änderungen, und die Antwort auf die Frage, welches Tool sich am besten eignet, lautet wie immer: Es kommt darauf an.

Erfahren Sie mehr über Netzwerksoftware