Netz­werk­auto­matisie­rung: Vorteile und Heraus­forderungen

Ivan Pepelnjak (Bild: zvg)
Der renommierte Rechenzentrums- und Netzwerkexperte Ivan Pepelnjak beantwortet zentrale Fragen unseres Gastautors Christoph Jaggi.
 
Automatisierung kann die Effizienz steigern und die Anzahl zufälliger Fehler reduzieren. Es ist aber nicht alles so einfach, wie es auf den ersten Blick erscheint. Wie man das Thema Netzwerkautomatisierung am besten angeht, welche Vorteile es gibt und welchen Herausforderungen man sich stellen muss, erklärt der Rechenzentrums- und Netzwerkexperte Ivan Pepelnjak.
 
Inside-it.ch: Was sind die primären Anwendungsfälle von Netzwerkautomatisierung?
 
Ivan Pepelnjak: Jeder Ablauf, der unzweideutig in genügend Detail beschrieben werden kann, lässt sich automatisieren. Anfangen sollte man allerdings mit etwas Einfachem, zum Beispiel mit dem Sammeln von Daten von Netzwerkgeräten, um damit die Reports zu generieren, welche von den Netzwerkmanagement-Tools nicht zur Verfügung gestellt werden.
 
Als nächstes kann der Bereich "Troubleshooting" automatisiert werden. Die meisten Fehlerfindungsprozesse brauchen viele Daten, die zuerst gesammelt werden müssen. Es gibt aber auch einfache Abläufe, die man automatisieren kann. So zum Beispiel das Überprüfen, ob der Port, mit dem der Benutzer verbunden ist, Fehler generiert.
 
Das Ändern von Gerätekonfigurationen ist da schon ein bisschen riskanter. In den meisten Umgebungen beginnt diese Phase der Netzwerkautomatisierung zuerst mit der automatisierten Bereitstellung von neuen Geräten oder von neuen Standorten. Da ist das Risiko, dass etwas schief läuft, relativ klein. Der offensichtliche nächste Schritt ist dann die Automatisierung der Aktualisierung von Standorten.
 
Meistert man die automatisierte Bereitstellung von Geräten, so können in einem nächsten Schritt die Dienste automatisiert bereitgestellt werden. Das ermöglicht es mittels eines Selbstbedienungs-Portals oder eines Orchestrierungssystems Gerätekonfigurationen zu ändern.
 
Die letzte Etappe in der Netzwerkautomatisierung ist die ereignisorientierte Automatisierung, die von einigen Anbietern auch als selbständig agierendes (self-driving) Netzwerk bezeichnet wird. Solche Netzwerke reagieren selbständig auf auftretende Veränderungen und auf externe Ereignisse und passen die Netzwerkkonfiguration in Echtzeit an.
 
Wo liegen die Unterschiede zur Automatisierung von Rechenzentren?
 
Ivan Pepelnjak: Es gibt zwei fundamentale Unterschiede zwischen der typischen Netzwerkautomation und der Automation der meisten anderen Teile der Rechenzentrumsinfrastruktur:
  • Netzwerkautomatisierung findet normalerweise im Zusammenhang mit physikalischen Geräten (Switch, Router, Firewall, Load Balancer) Anwendung. Für virtuelle Geräte wird normalerweise Serverautomatisierung verwendet, da sich virtuelle Geräte einfach entsorgen und neu aufsetzen lassen, falls etwas schief läuft. Es soll an dieser Stelle auch erwähnt sein, dass niemand, der voll zurechnungsfähig ist, im Bereich von traditionellem Speicher gross zu automatisieren versucht.
  • Die Auswirkungen eines Missgeschicks (Blast Radius) sind bei der Netzwerkautomatisierung massiv höher. Der Absturz eines Servers schaltet eine Applikation aus, während der Absturz eines Datenbank-Servers mehrere Applikationen ausschaltet, wenn man die Investition in eine vernünftige Redundanz ausgelassen hat. Der Absturz eines Core-Switch hat negative Auswirkungen auf das ganze Rechenzentrum.
Zu allem Übel sind die meisten Netzwerkgeräte deutlich schwieriger zu automatisieren als Server. Auf den meisten Netzwerkgeräten lassen sich keine Script-Sprachen (Bash, Python, etc.) ausführen. Selbst wenn das möglich ist, interagieren diese über das CLI (Command Line Interface) mit dem Betriebssystem des Netzwerkgeräts, einer CLI, die für die Interaktion mit einem Menschen ausgelegt ist. Leider ähnelt heute ein Grossteil der Netzwerkautomation noch dem Screen Scraping, wie es zu den Zeiten vorherrschte, als man noch versuchte alte IBM Mainframes mit dem Web zu integrieren.
 
Was sind die wichtigsten Vorteile?
 
Ivan Pepelnjak: Geschwindigkeit und erhöhte Effizienz werden oft als offensichtliche Vorteile erwähnt. Man sollte allerdings dabei weder die gewonnene Konsistenz noch die sich daraus ergebende Erhöhung der Zuverlässigkeit vergessen. Es ist wirklich schwierig und fehleranfällig, einen komplexen Dienst aufzusetzen und dabei ein Dutzend Gerätekonfigurationen manuell in einem langwierigen Vorgang zu ändern. Das Ganze wird deutlich zuverlässiger, wenn es automatisiert ist. Bei einer fehlerhaften Automatisierung sind zumindest meist die Fehler konsistent und treten bei jedem Ablauf auf.
 
Es ist auch einfacher, konsistente Sicherheitsregeln durchzusetzen, wenn die Bereitstellung von Geräten oder Diensten automatisiert ist. Blockiert man die Möglichkeit für das Betriebspersonal manuell Änderungen an der Konfiguration von Netzwerkgeräten vorzunehmen, so werden auch die unbeliebten Audits weniger mühsam.
 
Ein gewichtiger Vorteil liegt auch darin, dass eine automatisierte Bereitstellung von Diensten das Bedürfnis für feste Wartungsfenster verringert, da Änderungen der Gerätekonfigurationen nicht mehr Änderungen sind, die einzeln dokumentiert, überprüft und geplant werden müssen. Die einzigen echten Änderungen, die im Einklang mit Rahmenwerken wie ITIL verwaltet werden müssen, sind die neuen Versionen des Automatisierungssystems. (Interview: Christoph Jaggi)
 
Ivan Pepelnjak gilt als einer der weltweit führenden Experten auf dem Gebiet von Netzwerken, Cloud, Rechenzentren und skalierbarem Web Application Design. Sein Blog ist ein weltweit sehr viel beachteter Technologie-Blog. Als Consultant berät und begleitet er Unternehmen durch Paradigmenwechsel und zeigt auf, wie gleichzeitig die Kosten verringert und die operationelle Effizienz gesteigert werden können. Seine Webinare, Bücher und Blogeinträge machen sein breitgefächertes Wissen der Allgemeinheit zugänglich. Dort finden sich auch Kursangebote für Netzwerkautomation. (Christoph Jaggi)
 
Teil zwei des Interviews folgt morgen. Pepelnjak erklärt die grössten Herausforderungen, ein sinnvolles Vorgehen einer IT-Abteilung und ob man mit Netzwerkautomation eigentlich Geld spart.