Anmelden / Registrieren Konto

Automatisierung

Was ist IaC (Infrastructure as Code)?

Jump to section

Mit IaC (Infrastructure as Code) wird die Infrastruktur durch Code – und nicht durch manuelle Prozesse – verwaltet und provisioniert.

Mit IaC werden Konfigurationsdateien erstellt, die Ihre gesamten Infrastrukturspezifikationen enthalten, wodurch Sie Konfigurationen einfacher bearbeiten und verteilen können. Es stellt außerdem sicher, dass Sie jedes Mal dieselbe Umgebung provisionieren.

Indem Ihre Konfigurationsspezifikationen kodifiziert und dokumentiert werden, unterstützt IaC das Konfigurationsmanagement und hilft Ihnen, undokumentierte Ad-hoc-Änderungen der Konfiguration zu vermeiden.

Ein wichtiger Bestandteil von IaC ist die Versionskontrolle. Wie jede andere Software-Quellcodedatei sollten auch Ihre Konfigurationsdateien der Quellkontrolle unterliegen. 

Durch die Bereitstellung Ihrer Infrastruktur als Code können Sie Ihre Infrastruktur auch in modulare Komponenten aufteilen, die dann durch Automatisierung auf unterschiedliche Weise kombiniert werden können.

 

Durch eine automatisierte Infrastrukturprovisionierung mit IaC müssen Server, Betriebssysteme, Storage und andere Infrastrukturkomponenten von den Entwicklern nicht jedes Mal, wenn diese eine Anwendung entwickeln oder bereitstellen, manuell provisioniert und verwaltet werden. 

Durch die Codierung Ihrer Infrastruktur erhalten Sie eine Vorlage, der Sie bei der Provisionierung folgen können. Dieser Vorgang kann zwar immer noch manuell durchgeführt werden, aber ein Automatisierungstool wie Red Hat® Ansible Automation® Platform kann die Aufgabe für Sie übernehmen. 

Bei der Ansible Automation Platform werden Playbooks verwendet, die den gewünschten Zustand Ihrer Infrastruktur beschreiben, der dann vom Tool provisioniert werden kann. Sie können die Ansible Automation Platform auch für das Konfigurationsmanagement verwenden, um Ihre Systeme im gewünschten Zustand zu halten.

 

Deklarativer und imperativer IaC-Ansatz im Vergleich

Es gibt zwei verschiedene IaC-Ansätze: einen deklarativen und einen imperativen IaC-Ansatz. 

Bei einem deklarativen Ansatz wird der gewünschten Zustand des Systems definiert, einschließlich der benötigten Ressourcen und deren Eigenschaften, und dann von einem IaC-Tool für Sie konfiguriert. 

Außerdem wird eine Liste der aktuellen Zustände Ihrer Systemobjekte geführt, wodurch das Herunterfahren der Infrastruktur einfacher zu managen ist.

Bei einem imperativen Ansatz hingegen werden die konkreten Befehle definiert, die zum Erreichen der gewünschten Konfiguration benötigt werden. Diese Befehle müssen dann in der richtigen Reihenfolge ausgeführt werden. 

Viele IaC-Tools verwenden einen deklarativen Ansatz und stellen die gewünschte Infrastruktur automatisch bereit. Wenn Sie Änderungen am gewünschten Zustand vornehmen, wendet ein deklaratives IaC-Tool diese automatisch für Sie an. Bei einem imperativen Tool müssen Sie selbst herausfinden, wie diese Änderungen angewendet werden sollen.

IaC-Tools sind oft für beide Ansätze geeignet, wobei meist ein Ansatz besser funktioniert.

 

Vorteile von IaC

Die Provisionierung von Infrastruktur war in der Vergangenheit ein zeitaufwändiger und kostspieliger manueller Prozess. Auch wenn physische Hardware in Rechenzentren vielleicht noch ein Bestandteil Ihrer Organisation ist, so hat sich das Infrastrukturmanagement heute mehr auf VirtualisierungContainer und Cloud Computing verlagert. 

Durch Cloud Computing ist die Zahl der Komponenten einer Infrastruktur gestiegen, und täglich werden weitere Anwendungen für die Produktion freigegeben. Außerdem muss eine Infrastrukturen heute in der Lage sein, häufig hochgefahren, skaliert und wieder heruntergefahren zu werden. Ohne eine etablierte IaC-Praktik wird es zunehmend schwieriger, den Umfang einer modernen Infrastruktur zu managen.

Mit IaC kann Ihre Organisation IT-Infrastrukturanforderungen besser managen, für mehr Konsistenz sorgen sowie Fehler und manuelle Konfigurationen reduzieren.

Vorteile:

  • Geringere Kosten
  • Schnellere Deployments
  • Weniger Fehler 
  • Bessere Infrastrukturkonsistenz
  • Keine Konfigurationsabweichungen
  • Beispiele für IaC-Tools

Für IaC können häufig Tools für die Serverautomatisierung und das Konfigurationsmanagement genutzt werden. Daneben gibt es auch Lösungen, die speziell für IaC entwickelt wurden. 

Einige beliebte Produkte sind:

  • Chef
  • Puppet
  • Red Hat Ansible Automation Platform
  • Saltstack
  • Terraform 
  • AWS CloudFormation

Erfahren Sie, wie Sie Ansible verwenden können, um Betriebssysteme und Netzwerkgeräte zu provisionieren, Anwendungen bereitzustellen und Konfigurationen zu managen.

 

Warum ist IaC für DevOps von Bedeutung?

IaC ist ein wichtiger Teil der Implementierung von DevOps-Praktiken und CI/CD (Continuous Integration/Continuous Delivery). Durch IaC wird den Entwicklern der Großteil der Provisionierungsarbeit abgenommen. Sie brauchen nur noch ein Skript ausführen, um ihre Infrastruktur betriebsbereit zu machen.   

Auf diese Weise werden Anwendungs-Deployments nicht durch Warten auf die Infrastruktur aufgehalten, und Systemadministratoren müssen keine zeitaufwändigen manuellen Prozesse managen. 

CI/CD baut auf eine kontinuierliche Automatisierung und Überwachung in allen Phasen des Anwendungs-Lifecycles, von der Integration und Tests bis hin zu Bereitstellung und Deployment. 

Damit eine Umgebung automatisiert werden kann, muss sie konsistent sein. Die Automatisierung der Anwendungsbereitstellung funktioniert nur, wenn die Methoden der Entwickler- und Operations-Teams für das Bereitstellen von Anwendungen oder das Konfigurieren von Umgebungen identisch sind.

Wenn sich Entwickler- und Operations-Team mithilfe eines DevOps-Ansatzes abstimmen, lassen sich Fehler, manuelle Deployments und Inkonsistenzen reduzieren. 

Mit IaC können Sie beide Teams aufeinander abstimmen, da beide die gleiche Beschreibung der Anwendungsbereitstellung nutzen können, die der DevOps-Ansatz unterstützt.

Dabei sollte für jede Umgebung, auch für Ihre Produktivumgebung, derselbe Deployment-Prozess verwendet werden. IaC generiert dieselbe Umgebung – jedes Mal.

Durch IaC entfällt auch die Notwendigkeit, individuelle Deployment-Umgebungen mit speziellen Konfigurationen zu warten, die nicht automatisch reproduziert werden können. Außerdem stellt IaC sicher, dass die Produktivumgebung konsistent bleibt.

Bewährte DevOps-Praktiken werden auch auf die Infrastruktur in IaC angewendet. Eine Infrastruktur kann dieselbe CI/CD-Pipeline durchlaufen wie eine Anwendung während der Softwareentwicklung. Dabei werden die gleichen Tests und die gleiche Versionskontrolle auf den Infrastrukturcode angewendet.

 

Warum Red Hat für die Automatisierung?

Mit einem unternehmensweiten Ansatz können Sie nicht nur IT-Prozesse, sondern ganze Technologien, Teams und Organisationen automatisieren. 

Die Red Hat Ansible Automation Platform umfasst alle Tools, die zur Implementierung einer unternehmensweiten Automatisierung benötigt werden, darunter Playbooks, ein visuelles Dashboard sowie Analysen.

Mit Ansible Playbooks, das in YAML programmiert ist, beschreiben Sie den gewünschten Zustand Ihrer Systeme, die normalerweise der Versionskontrolle unterliegen. Die Red Hat Ansible Automation Platform übernimmt die Aufgabe, Ihre Systeme in den gewünschten Zustand zu versetzen, und zwar unabhängig vom aktuellen Status. 

Mit der Ansible Automation Platform können Sie Ihre Installationen, Upgrades sowie die täglichen Verwaltungsaufgaben wiederholbar und zuverlässig gestalten.

Außerdem wurde das Produkt von Forrester Research im Bericht „The Forrester Wave™: Infrastructure Automation Platforms, Q3 2020“ als Leader eingestuft.

Mit der geeigneten Automatisierungslösung lassen sich neue Anwendungen und Services rascher bereitstellen, IT-Infrastrukturen effizienter verwalten und Anwendungen viel schneller entwickeln.

Ihre Plattform für die Automatisierung

Red Hat Ansible Automation Platform

Eine einfache agentenlose Plattform für eine IT-Automatisierung in großem Umfang. Zentralisieren und kontrollieren Sie Ihre IT-Infrastruktur mit einem visuellen Dashboard, rollenbasierter Zugriffskontrolle und mehr.

Automatisierung hat noch viel mehr zu bieten