Infrastruktur als Code (IaC) ist eine Strategie, bei der Elemente, die erforderlich sind, um eine IT-Infrastruktur auszuführen, als Software erachtet werden. Diese Elemente können über APIs, standardbasierte Protokolle und Open Source Automationsframeworks verwaltet werden (wie Ansible, Saltstack, Puppet und Chef). IaC bietet die Möglichkeit, Tools und Methoden für schnellere Kollaboration, Implementierung und kontinuierliche Integration von Infrastruktur und Betriebsmitarbeitern (Ops) und Anwendungsentwicklungs- und Entwicklungsteams (Dev) zu automatisieren und zu nutzen – DevOps für Netzwerke! Beide Teams müssen mit dem Ziel zusammenarbeiten, besseren und innovativen Kundenkomfort schneller, doch ohne Beeinträchtigung der Qualität, bereitzustellen. Indem Infrastruktur als Code behandelt wird, profitieren hiervon beide Parteien.

Infrastruktur als Code und Netzwerkautomatisierung

Da immer mehr Unternehmen auf die Cloud und Virtualisierung umsteigen, müssen Unternehmen durch Automatisierung und Anpassung ihrer IT-Infrastruktur agil sein, um wettbewerbsfähig zu bleiben. Der Schritt hin zu Netzwerkautomatisierung ist der Prozess der Automatisierung von Konfiguration, Verwaltung, Tests, Bereitstellung und Betrieb physischer und virtueller Geräte in einem Netzwerk. Abbildung 1 zeigt die Entwicklung in der Netzwerkautomatisierung.

Abbildung 1: Entwicklung in der Netzwerkautomatisierung

Aufgrund der automatisierten Implementierung können Sie die Netzwerkkonfiguration automatisch generieren und implementieren. Dann werden kontinuierlich Tests in Ihrem Netzwerk durchgeführt, auf Basis derer Sie alle Probleme so schnell wie möglich ermitteln und lösen können. Mithilfe von Infrastruktur als Code können Sie dann Änderungen im Netzwerk testen und bewerten, bevor Sie sie in Ihre Produktionsumgebung implementieren. So wird der Grundstein gelegt für maschinengeführte Automatisierung basierend auf künstlicher Intelligenz und maschinellem Lernen. Maschinen treffen Entscheidungen und initiieren Netzwerkänderungen mit dem Ziel, letztendlich die Vision eines Netzwerks der Zukunft von Juniper zu realisieren: das Self-Driving Network&trade. Ähnlich wie ein selbstfahrendes Auto, ist es ein autonomes Netzwerk, das vorausschauend und an seine Umgebung anpassbar ist. Weitere Informationen finden Sie unter Juniper Networks, the Self-Driving Network.

Empfohlene Implementierung

1. Auswahl eines Automatisierungsframeworks – Wählen Sie ein Open Source Automatisierungsframework, wie Ansible, Saltstack, Puppet und Chef.

2. Einfacher Start – Implementieren Sie die am häufigsten eingesetzten Teile der Infrastruktur zuerst, wie beispielsweise Benutzerkonten, NTP, DNS, SNMP und allgemeine Präfixlisten. Arbeiten Sie sich stufenweise in Richtung 100 % Abdeckung vor. Denken Sie daran, dass der Prozess solange langsam ist, bis alles standardisiert wurde.

3. Organisierung – Überprüfen Sie vorhandenes Geräteinventar, Variablen und Rollen. Gruppieren Sie nach Funktion oder Standort und wenden Sie Gruppen nach Häufigkeit oder Funktion auf Vorlagen an. Die Vorlage wird zur Richtlinie.

4. Testen und Bewerten – Führen Sie regelmäßige Probeläufe der einzelnen Konfigurationsdateien durch. Erfassen Sie Unterschiede und melden Sie Fehler der einzelnen Geräte. Kombinieren Sie erfasste Daten und senden Sie diese an den Netzwerkadministrator. Führen Sie bei Bedarf Änderungen durch.

5. Implementierung – Veröffentlichen Sie Konfigurationen in Ihrer Produktionsumgebung.

6. Analysieren – Erfassen Sie Netzwerkinformationen (Telemetrie) und verwenden Sie diese Informationen für die Entscheidungsfindung. Richten Sie die Automatisierung geschlossener Kreisläufe ein, indem Sie regelbasierte Aktionen bei Netzwerkereignissen implementieren.

7. Optimieren – Verwenden Sie Tools des maschinellen Lernens für das Trainieren des Systems und initiieren Sie die Netzwerkänderung. Stellen Sie durch kontinuierliche Überwachung sicher, dass die Infrastruktur im gewünschten Zustand bleibt.

Vorteile von Infrastruktur als Code

Durch die Implementierung von Infrastruktur als Code können Unternehmen folgende Vorteile erlangen:

  • Verbesserte Zusammenarbeit und Effizienz &​ndash; Indem wir es unseren Betriebsteams ermöglichen, unter Verwendung von Sprachen und Methoden, mit denen Entwickler vertraut sind, Apps und Infrastruktur wiederholt zu konfigurieren, wird die Fehlerquote gesenkt. Dies führt dazu, dass Entwicklungsteams hochwertigeren Code produzieren, der häufiger getestet und schneller für die Produktion freigegeben werden kann &​ndash; weniger Fehler, schnellere und dadurch häufigere Freigabe, höhere Effizienz.

  • Besserer Kundenkomfort &​ndash; Durch Beheben von Problemen, die Freigabe neuer Versionen und schnelleres Optimieren von Anwendungen wird die Interaktion mit Unternehmen über Anwendungen verbessert. So wird der Kundenkomfort optimiert.

  • Bessere Unternehmensagilität und Leistung &​ndash; Wenn die Entwicklungsteams und die Betriebsteams (Dev und Ops) weniger Zeit für die Verwaltung bestehender Anwendungen aufwenden müssen, können sie sich intensiver mit der Entwicklung neuer Apps und neuer Betriebsmodelle befassen, neue Märkte und Kunden anvisieren und die Markteinführungszeit verkürzen.

Juniper Networks und Infrastruktur als Code

Wenn Sie ein klares Bild und Hilfe in Bezug auf Ihre Umstellung auf Automatisierung wünschen und diese beschleunigen möchten, können Sie das Professional Services-Team von Juniper hinzuziehen. Unsere Professional Services-Organisation verfügt über die Erfahrungen und Fachkenntnisse, die erforderlich sind, um Ihnen bei der Übernahme von IaC-Methoden und Architekturen in Ihr Netzwerk und der entsprechenden Automatisierung zu helfen.

Außerdem bietet Juniper Networks die folgenden IaC-Komponenten und Mechanismen:

  • Integration des Junos-Betriebssystems in Open Source-Automatisierungsframeworks wie Ansible, Saltstack, Puppet, Napalm, Jenkins und Chef.

  • Junos Telemetry Interface (JTI) verwendet ein Push-Modell zur asynchronen Bereitstellung von Daten und zur Beseitigung von Abfragen, wodurch es einfacher wird, Netzwerkdaten zu erfassen.

  • Virtualisierungsmechanismen (wie beispielsweise vMX- und vSRX-Geräte) ermöglichen es Ihnen, virtuelle Testumgebungen für das Netzwerk schnell einzurichten und anzupassen.

Je schneller und zuverlässiger Sie neue Services hinzufügen, neue Anwendungen testen und Probleme beheben können, desto kürzer wird die Zeit bis zur Umsetzung von Verbesserungen. So werden Wettbewerbsfähigkeit und Elastizität erhöht und letztlich fallen die Unternehmensgewinne höher aus. Eine bessere Softwarequalität führt zu einer besseren Unternehmensleistung und zu höheren Erträgen.