Coralogix-CTO: Warum Cloud-DevOps auf Infrastructure as Code setzt

Yoni Farin, CTO von Coralogix, beleuchtet die Herausforderungen und Vorteile von IaC in DevOps-Teams.

Mar 18, 2022
5 minute read
enterprise infrastructure
Enterprise Networking Planet content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More

Im vergangenen halben Jahrhundert haben sich Netzwerke durch verschiedene Konnektivitätsäraen (Client-Server und mehr) verändert, während sich Plattformen, Prozesse und Verfahren im Einklang mit aktuellen Trends und neuen Innovationen weiterentwickelt haben.

Der jüngste Trend bei den Konstrukten der Netzwerkarchitektur ist das Konzept von Infrastructure as Code (IaC). 

IaC ist ein deklaratives Modell zur Definition und Bereitstellung der Struktur eines IT-Netzwerks sowie seiner Datenspeicherkapazitäten und zugehörigen Funktionen.

Damit können Nutzer Serverstrukturen, Load-Balancer und andere Ebenen der Softwareverwaltung definieren. Obwohl IaC in der Anwendungsentwicklung nicht verbreitet ist, wird es auf der grundlegenden Computing-Ebene eingesetzt, von der die Nutzer abhängig sind.

Definierte Verbindungstopologien

Was Form und Funktion betrifft, liegt Infrastructure as Code üblicherweise in Form von Textdateien vor, die in speziellen Programmiersprachen wie Terraform, AWS’ CloudFormation und anderen verfasst sind. Im Gegensatz zu Netzwerken, die mit Kabeln und Leitungen aufgebaut werden, entsteht diese Art von Netzwerk aus Quellcodedateien mit beschreibenden Modellen, die Verbindungstopologien definieren.

Da IaC zunehmend zu einem festen Bestandteil der Cloud-Welt wird, sollten Unternehmen und IT-Teams auf die Auswirkungen vorbereitet sein, die es auf die Strukturen und Systeme haben wird, mit denen sie täglich arbeiten.

Auch lesen: DevOps mit KI und ML automatisieren

Auswirkungen auf DevOps und die Konsistenz von Produktionsumgebungen

IaC eignet sich hervorragend für cloudzentrierte IT-Teams, die Mechanismen benötigen, um ihre Infrastruktur automatisiert zu erstellen, neue Umgebungen bereitzustellen und als lebende Dokumentation den Überblick über alles zu behalten, was sie erstellt haben. Es kann viele, wenn nicht sogar alle dieser Anforderungen erfüllen, da es sich über sämtliche Ebenen der Produktionsumgebung erstrecken kann – einschließlich Entwicklung, Staging, Tests und Produktion.

Mehrere Umgebungen sind nützlich, um Codeänderungen vor ihrer Bereitstellung in der Produktion zu testen. Die Konsistenz zwischen den Umgebungen – von der Entwicklung bis zur Produktion – ist jedoch ein großes Anliegen, auf das Yoni Farin, CTO und Mitgründer von Coralogix, einem Unternehmen, das für seine zustandsbehaftete Streaming-Analytics-Plattform bekannt ist, die Echtzeiterkenntnisse und langfristige Trendanalysen ohne Abhängigkeit von Speicherung oder Indizierung liefert.

Advertisement

„Mit IaC erstellen Sie nicht jede Umgebung manuell und hoffen auf Konsistenz. Stattdessen nehmen Sie die Änderung in Ihrer Codebasis vor und wenden sie auf jede Umgebung an“, sagte Farin. „Das bedeutet, dass Ihre Umgebungen vollständig konsistent bleiben können, sofern sich Ihre Entwickler an den Code halten.“

Durch Code verursachte Abweichungen bei Funktionen

Farin erklärt, dass es auf dem Weg zu konsistenten Änderungen wichtig ist zu erkennen, dass es traditionell immer zu Abweichungen bei den Codefunktionen kommt. Änderungen können aufgrund unterschiedlicher Bereitstellungszonen in der Live-Produktion, der inhärenten Komplexität von Systemen und einfacher menschlicher Fehler in der laufenden Produktion sichtbar werden.

„Mit IaC wissen Sie, dass eine Änderung, die in einer Umgebung funktioniert hat, auch in der nächsten Umgebung funktionieren sollte – vorausgesetzt, Ihre Umgebungen sind konsistent“, sagte Farin. „Konsistente Änderungen schaffen Vertrauen und senken die Fehlerraten, was wiederum die Bereitstellungshäufigkeit erhöht.“

Angesichts des Aufstiegs von Low-Code-/No-Code-Entwicklung und des Aufkommens sogenannter Citizen Developer, Citizen Data Scientists und ähnlicher Rollen gibt es vielleicht keinen Grund, nicht auch mit Citizen Network Engineers zu rechnen. Da Änderungen, die sich auf das Verhalten von Systemstrukturen auswirken können, aus immer mehr Richtungen kommen, benötigen wir eine Möglichkeit, Transparenz über alle Services und ihre zugrunde liegende Infrastruktur zu schaffen.

Auch lesen: Netzwerkautomatisierung mit Low-Code bereitstellen

IaC als unverzichtbarer Transparenzkanal

Farin von Coralogix zufolge kann IaC als Transparenzkanal für Services und ihre Infrastruktur dienen.

„Irgendwann wird jemand eine einfache Frage zu Ihrer Cloud-Architektur stellen und fragen: ‚Was verwenden wir also?‘“, sagte Farin. „Das sollte eine einfache Frage sein, aber leider wird sie mit zunehmender Skalierung Ihrer Architektur schwieriger zu beantworten.

„IaC ermöglicht diese Transparenz, weil alle Änderungen über die Codebasis laufen sollten. Sie können sich den Code ansehen und verstehen, wie Ihre Architektur zusammenhängt. Dadurch entsteht eine lebende Dokumentation, die konstruktionsbedingt stets aktuell bleibt.“

Dieser Code kann beispielsweise mithilfe von Terraform-Graphen genutzt werden, umdot-Diagramme zu generieren. Dadurch wird der Weg für eine Reihe von Diagrammen, Workflows und anderen Visualisierungen frei, die den Prozess der Dokumentation und Nachverfolgung von Infrastrukturentscheidungen weitgehend automatisieren können.

Advertisement

Im Mittelpunkt steht die Fähigkeit, wiederverwendbare Codemodule zu nutzen. Selbst ein DevOps-Team mit herausragenden Fähigkeiten, großer Disziplin und hohem Engagement für seine Aufgabe profitiert davon, Code wiederverwenden zu können, wo immer dies möglich ist.

Bei der Cloud-Entwicklung klicken IT-Teams häufig in der Benutzeroberfläche, um immer wieder dieselben oder ähnliche Aufgaben auszuführen. Das ist jedoch keine produktive oder kosteneffiziente Nutzung der wertvollen Arbeitszeit eines Teams. Stattdessen sollten sie versuchen, diese Klicks zu automatisieren.

„Mit IaC können DevOps-Teams Codemodule erstellen, die Cloud-Ressourcen wie Datenbanken, serverlose Infrastruktur, Server und vieles mehr erzeugen“, sagte Farin. „Diese Module eignen sich hervorragend zur Automatisierung von Aufgaben, die andernfalls eintönig würden.“

Mit Blick auf das Ziel, das Lifecycle-Management aufrechtzuerhalten, bietet IaC noch weitere Möglichkeiten.

Den Abbau der Cloud-Infrastruktur vereinfachen

„Wenn von Cloud-Infrastruktur die Rede ist, denken die meisten Menschen fast nie darüber nach, was sie tun müssen, wenn sie alles wieder abbauen“, sagte Farin. „Lifecycle-Management ist eine komplexe Aufgabe, die meist erst in der Mitte eines Projekts nachträglich hinzugefügt wird – wenn überhaupt –, weil sie zugunsten anderer Feature-Arbeiten zurückgestellt wurde.

„Cloud-Infrastruktur abzubauen, insbesondere wenn sich mehrere Produkte in einem einzigen Konto befinden, ist keine leichte Aufgabe. Es erfordert viel Aufwand, bestimmte Ressourcen in der richtigen Reihenfolge herauszusuchen und zu löschen, um Fehler und Verzögerungen zu vermeiden.“

IaC ermöglicht es IT-Teams jedoch, den Abbau in einen einzigen Befehl zu verwandeln. Farin und sein Team nennen hier ein Beispiel, bei dem das Team terraform, um den Befehl „terraform destroy“ auszuführen. Dieser Befehl baut die gesamte relevante Infrastruktur für ein bestimmtes Modul ab.

Advertisement

„Das bedeutet, dass Sie selbst bei mehreren Projekten im selben Cloud-Konto Ihre Komponenten in der richtigen Reihenfolge, vollständig automatisiert und gezielt entfernen können“, sagte Farin. „Das gewährleistet einen reibungslosen Abbau und stellt zugleich sicher, dass andere Projekte nicht beeinträchtigt werden, deren Infrastruktur neben Ihrer bestehen kann.“

Bessere Observability

Schließlich ermöglicht IaC ein höheres Maß an Observability und damit eine bessere Kontrolle über die Überwachung und Verwaltung von Systemen und Infrastruktur.

„Wenn Sie Ihre Infrastruktur als Code betreiben, müssen Sie Ihre Observability-Regeln aus diesem Code heraus deklarieren“, sagte Farin. „Damit können Sie nicht nur beschreiben, wie das System funktioniert, sondern auch, wie es überwacht wird.

„Die Kodifizierung von Betriebsregeln in Ihrem Code ist ein unglaublich leistungsfähiger Mechanismus zur Skalierung und Verwaltung Ihrer Infrastruktur.“

Die Zukunft von Infrastructure as Code sieht unbestreitbar vielversprechend aus. Dieser Ansatz für die Basisschichten von Netzwerken genießt breite Zustimmung. Da sich Fehlkonfigurationen in der Cloud zudem deutlich einfacher finden lassen, bietet IaC auch überzeugende Möglichkeiten für Sicherheitskontrollen.

Aus den hier dargestellten Gründen und einer Vielzahl weiterer Faktoren wird IaC wahrscheinlich auch künftig als attraktive Infrastrukturlösung für große und wachsende Unternehmen an Bedeutung gewinnen. 

Als Nächstes lesen: Service Reliability Engineering (SRE) und DevOps zusammenführen

Adrian Bridgwater

Adrian Bridgwater is a technology journalist with three decades of press experience. Primarily he works as a news analysis writer dedicated to a software application development ‘beat’; but, in a fluid media world, he is also an analyst, technology evangelist, and content consultant. As the previously narrow discipline of programming now extends across a wider transept of the enterprise IT landscape, his own editorial purview has also broadened. He has spent much of the last 10 years also focusing on open source, data analytics and intelligence, cloud computing, mobile devices, and data management.

Enterprise Networking Planet Logo

Enterprise Networking Planet aims to educate and assist IT administrators in building strong network infrastructures for their enterprise companies. Enterprise Networking Planet contributors write about relevant and useful topics on the cutting edge of enterprise networking based on years of personal experience in the field.

Property of TechnologyAdvice. © 2026 TechnologyAdvice. All Rights Reserved

Advertiser Disclosure: Some of the products that appear on this site are from companies from which TechnologyAdvice receives compensation. This compensation may impact how and where products appear on this site including, for example, the order in which they appear. TechnologyAdvice does not include all companies or all types of products available in the marketplace.