Jump to section

Was ist Bereitstellungsautomatisierung?

URL kopieren

Bereitstellungsautomatisierung bietet die Möglichkeit, Ihre Software mithilfe automatisierter Prozesse zwischen Test- und Produktivumgebungen zu verschieben. Dies wiederum ermöglicht wiederholbare und zuverlässige Bereitstellungen für den gesamten Software-Entwicklungszyklus.

Mit Bereitstellungsautomatisierung können Sie neue Features und Anwendungen schneller und häufiger freigeben, ohne dass dazu manuelle Eingriffe in Anwendungsbereitstellungen erforderlich sind.

Die Bereitstellungsautomatisierung ist ein wichtiger Grundstein für DevOps-Praktiken und die Verwaltung einer CI/CD-Pipeline.

CI/CD (Continuous Integration/Continuous Delivery) ist eine Methode zur häufigen Bereitstellung von Anwendungen für Kunden, die auf der fortlaufenden Automatisierung und kontinuierlichen Überwachung über den gesamten Lifecycle hinweg basiert, von der Integration über Tests bis hin zur Lieferung und Bereitstellung

Continuous Integration bedeutet üblicherweise, dass die App-Änderungen eines Entwicklers automatisch auf Bugs getestet und in ein Repository (wie GitHub oder eine Container-Registry) hochgeladen und von dort aus vom Operations-Team (oder mithilfe von Bereitstellungsautomatisierung) in einer Live-Produktivumgebung bereitgestellt werden können.

Sobald die App-Änderungen eines Entwicklers zusammengeführt wurden, werden sie überprüft. Dazu wird die Anwendung automatisch erstellt. Außerdem werden automatisierte Tests auf verschiedenen Ebenen ausgeführt, in der Regel Einheits- und Integrationstests, um sicherzustellen, dass die Änderungen die App nicht beeinträchtigen.

 

Was ist Continuous Delivery? Erfahren Sie, wie Sie mit einer CI/CD-Pipeline die App-Entwicklung teilweise automatisieren können.

 

Continuous Deployment (eine weitere mögliche Definition für „CD“) kann sich auf die Nutzung der Bereitstellungsautomatisierung zur Freigabe von Entwickleränderungen vom Repository zur Produktivphase beziehen, wo sie direkt vom Kunden genutzt werden können. 

Da der Produktivphase in der Pipeline kein manuelles Bereitstellungs-Gate vorgeschaltet ist, müssen beim Continuous Deployment die automatisierten Tests immer sehr gut durchdacht sein.

Ein automatisiertes Continuous Deployment soll der Überlastung von Operations-Teams bei manuellen Prozessen entgegenwirken, die die Anwendungsbereitstellung verlangsamen.

Sie baut auf den Vorteilen der Continuous Integration auf, indem sie auch die nächste Phase in der Bereitstellungs-Pipeline automatisiert.

CI/CD sollte von Entwicklungs- und DevOps-Teams unterstützt werden, die auf agile Weise unter Verwendung eines DevOps- oder SRE-Ansatzes (Site Reliability Engineering) zusammenarbeiten.

Die Einführung agiler Methoden für die Softwareentwicklung sorgt für beschleunigte Release-Zyklen, weniger Ausfallzeiten und die Möglichkeit, auftretende Fehler sofort beheben zu können und nicht auf die neue Version warten zu müssen.

Die Bereitstellungsautomatisierung funktioniert nur, wenn die Methoden des Entwicklungs- und Operations-Teams für das Bereitstellen von Anwendungen oder das Konfigurieren von Umgebungen identisch sind. 

Damit die Umgebung automatisiert werden kann, muss sie konsistent sein. Dabei sollte für jede Umgebung, auch für Ihre Produktivumgebung, derselbe Bereitstellungsprozess verwendet werden. 

Wenn diese Teams nicht aufeinander abgestimmt sind, besteht auch das Risiko, dass das Operations-Team Bereitstellungen manuell abwickelt, was zu Fehlern, Inkonsistenzen und einem längeren Release-Zyklus führt. 

Aus diesem Grund ist es so ungemein wichtig, dass alle Teams zusammenarbeiten und DevOps-Praktiken befolgen. Der Prozess zur Bereitstellungsautomatisierung muss von Ihren Entwicklungs- und Operations-Teams zusammen erstellt werden, damit Konsistenz und die Wiederholbarkeit des Prozesses gewährleistet werden können. 

Eine Deployment-Pipeline besteht normalerweise aus drei Hauptschritten (möglicherweise auch mehr): Entwicklung, Test, Deployment. Mit dieser Pipeline soll Ihre Fähigkeit unterstützt werden, den Bereitstellungsprozess zu automatisieren. Außerdem wird sichergestellt, dass Code schnell von der Programmierung zur Bereitstellung übergeht.

  • Entwicklung: Ein Entwickler schreibt Code in ein Software-Repository. Codeänderungen sollten in Umgebungen integriert werden, die der Produktivumgebung entsprechen.
  • Test: Mit einem Tool zur Bereitstellungsautomatisierung wie Jenkins oder Ansible werden der neue Code identifiziert und eine Reihe von Tests ausgelöst. Sobald ein Build alle Tests erfolgreich durchlaufen hat, kann er für die Produktion freigegeben werden. Ohne einen Prozess zur Bereitstellungsautomatisierung muss dieser Schritt manuell durchgeführt werden.
  • Bereitstellung: In dieser Phase wird die Anwendung in der Produktivumgebung bereitgestellt und ist für Nutzer verfügbar.

In agilen und DevOps-Teams findet die Testphase parallel zur Entwicklung statt. Dazu wird kontinuierlich Feedback ans Entwicklungsteam zurückgegeben. 

Die Continuous Integration ist ein wichtiger Teil des Entwicklungsprozesses, um Konflikte zwischen diesen häufigen Updates zu vermeiden. Bei einer erfolgreichen CI werden regelmäßig neue Codeänderungen für Apps entwickelt, geprüft und in einem gemeinsamen Repository zusammengeführt.

Sie sollten auch in der Lage sein, Software bei Bedarf in einer Umgebung bereitzustellen. Wenn Sie die Erstellung einer Umgebung beantragen müssen, ist Ihr Prozess nicht automatisiert.

Die Red Hat® Ansible® Automation Platform umfasst alle erforderlichen Tools zur Implementierung einer unternehmensweiten Automatisierung, darunter Playbooks, ein visuelles Dashboard sowie Analysen.

Mit Red Hat Ansible Automation Platform können Sie mehrschichtige Anwendungen zuverlässig und konsistent in einem gemeinsamen Framework bereitstellen. Dabei haben Sie die Möglichkeit, die erforderlichen Services zu konfigurieren und Anwendungsartefakte von einem gemeinsamen System aus zu übertragen.

Mit Ansible Playbooks, die in YAML programmiert sind, beschreiben Sie den gewünschten Zustand Ihrer Systeme, die normalerweise der Versionskontrolle unterliegen. 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 Ansible Playbooks können Sie Ihre Installationen, Upgrades sowie die täglichen Verwaltungsaufgaben wiederholbar und zuverlässig gestalten.

Dazu wurde das Produkt von Forrester Research im Bericht „The Forrester Wave™: Infrastructure Automation Platforms, Q3 2020“ zum Leader gekürt.

Unternehmen müssen nicht nur in der Lage sein, schnelle Automatisierungen zu erstellen, sondern auch die Fähigkeit besitzen, die Automatisierung projekt- und teamübergreifend mit der richtigen Governance und Kontrolle zu teilen und wiederzuverwenden. 

Mit der geeigneten Automatisierungslösung lassen sich neue Anwendungen und Services schneller bereitstellen, IT-Infrastrukturen effizienter verwalten und eine gesteigerte Produktivität in Sachen Anwendungsentwicklung realisieren.

Mehr über Automatisierung

Produkte

Red Hat Consulting

Interaktionen mit unseren strategischen Beratern, die sich ein Gesamtbild von Ihrem Unternehmen machen, Ihre Herausforderungen analysieren und Ihnen helfen, diese mit umfassenden, kosteneffektiven Lösungen zu meistern.

Red Hat Ansible Automation Platform

Eine Plattform für die Implementierung unternehmensweiter Automatisierungsprozesse – unabhängig davon, in welcher Phase der Automatisierung Sie sich befinden.

Red Hat Process Automation

Eine Plattform zur Entwicklung cloudnativer Anwendungen, mit denen Geschäftsentscheidungen und -prozesse automatisiert werden können.

Ressourcen

E-Book

Das automatisierte Unternehmen: Personal und Prozesse vereinen

E-Book

Die Automatisierung von Infrastruktur-Workflows

Training

Kostenloser Trainingskurs

Ansible Essentials: Simplicity in Automation Technical Overview

Kostenloser Trainingskurs

Red Hat Ansible Automation for SAP

Illustration - mail

Möchten Sie mehr zu diesen Themen erfahren?

Abonnieren Sie unseren kostenlosen Newsletter, Red Hat Shares.