Navigation überspringen

Resiliente DevOps-Methoden mit Code-to-Cloud-Automatisierung

Veröffentlicht am 5 Oktober, 2020

Director of Product Marketing, Azure Marketing

Dieser Blogbeitrag wurde von Usha Narayanabhatta, Product Manager, GitHub, mitverfasst.

Mit der digitalen Transformation haben sich auch die Kundenerwartungen weiterentwickelt. Von Unternehmen wird erwartet, dass sie einen kontinuierlichen Mehrwert liefern, indem sie häufige, fehlersichere Updates veröffentlichen, die die Arbeit der Benutzer nur geringfügig bis gar nicht unterbrechen. Dies ist keine leichte Aufgabe, da Länder und Behörden strenge neue Datenschutz- und Sicherheitsmaßnahmen einführen.

Es stellt sich die Frage, wie Unternehmen mitten in einer Pandemie, die uns zwingt, im Homeoffice zu arbeiten, schneller Ergebnisse liefern und gleichzeitig Governance-, Sicherheits- und Compliancestandards aufrechterhalten können.

Laut dem Enterprise DevOps 2020–2021-Bericht sind 80 Prozent der führenden Unternehmen zur „Shift-Left“-Methode übergegangen. Das bedeutet, dass sie Governance, Sicherheit und Compliance in den frühen Phasen ihrer Softwareentwicklungs-Lebenszyklen (Software Development Lifecycles, SDLC) automatisieren. Diese Unternehmen automatisieren nicht nur ihre Build- und Releaseworkflows, sondern haben auch ein „Everything-as-Code“-Mindset angenommen. Diese Verlagerung bedeutet, dass nicht nur Infrastrukturkonfigurationen und Releasepipelines, sondern auch Compliance- und Sicherheitsrichtlinien „als Code“ geschrieben werden. Dies ermöglicht eine kontinuierliche Verbesserung und fördert gleichzeitig die Wiederverwendung, Resilienz und Transparenz.

Zu diesem Zweck werden wir unser GitHub Actions-Portfolio weiter verfeinern, aktualisieren und ergänzen. Auf der Microsoft Ignite haben wir neue GitHub Actions für Azure angekündigt, um die wir unseren ständig wachsenden Katalog von Azure- und GitHub-Integrationen erweitert haben. Weitere Integrationen folgen in Kürze. GitHub Actions for Azure unterstützt Bereitstellungen für mehrere Azure-Dienste – von Webanwendungen über serverlose Funktionen, Kubernetes und Azure SQL bis hin zu MySQL-Datenbanken – und hilft Unternehmen letztlich dabei, resilient zu bleiben und flexibel einen automatisierten Workflow zur Verwaltung des SDLC zu entwickeln.

Verwalten von Azure Policy als Code in GitHub

Je weiter Sie Ihre Cloudgovernance entwickeln, desto mehr müssen Sie von der manuellen Verwaltung der einzelnen Richtlinien im Azure-Portal zu einem Ansatz übergehen, der eine bessere Verwaltbarkeit, Zusammenarbeit und Wiederholbarkeit auf Unternehmensebene ermöglicht. Wir kündigen an, dass wir die Integration zwischen Azure Policy und GitHub verstärkt haben, um Sie auf diesem Weg zu unterstützen. Ab jetzt können Sie Azure-Richtlinien mit wenigen Klicks einfach in ein GitHub-Repository exportieren. Alle exportierten Richtlinien werden in GitHub als Dateien gespeichert. Anschließend können Sie unter Verwendung der Versionskontrolle zusammenarbeiten und Änderungen nachverfolgen und Richtliniendateiänderungen mit der Aktion Manage Azure Policy (Azure Policy verwalten) an Azure Policy pushen. Um mehr zu erfahren, lesen Sie Azure Policy als Code mit GitHub verwalten, und um auf die Funktion zuzugreifen, wechseln Sie zu Azure Policy.

Exportieren Sie eine Richtlinie in GitHub.

Bereitstellen einer ARM-Infrastruktur als Code

Beim Umstieg in die Cloud müssen viele Teams ihre Lösungen wiederholt in der Cloud bereitstellen und sicherstellen, dass ihre Infrastruktur einen zuverlässigen Zustand aufweist. Um diesen Herausforderungen zu begegnen, können Sie die Bereitstellungen automatisieren, indem Sie die Infrastruktur, die als Code bereitgestellt werden muss, mit Azure Resource Management (ARM)-Vorlagen definieren.

Zu diesem Zweck veröffentlichen wir die Aktion Deploy Azure Resource Manager Template (Azure Resource Manager-Vorlage bereitstellen). Mit dieser Aktion können Sie Ihren Workflow zur Bereitstellung von ARM-Vorlagen und zur Verwaltung von Azure-Ressourcen automatisieren. Sie können diese Aktion verwenden, um ARM-Vorlagen in einem beliebigen Bereitstellungsumfang, Abonnement und Verwaltungsgruppenbereich oder in einer beliebigen Ressourcengruppe bereitzustellen. Die Ausgabe dieser ARM-Bereitstellungsaktion kann in nachfolgenden Aktionen innerhalb des Workflows und auch zur weiteren Verarbeitung verwendet werden.

Bereitstellen von ARM-Vorlagen

Erstellen von Azure-VM-Images für eine unveränderliche Infrastruktur

Mit der neu eingeführten Aktion Build Azure Virtual Machine Image (Azure-VM-Image erstellen) wurde das Anpassen, Erstellen und Verteilen von Images virtueller Computer (VM-Images) noch einfacher. Sie können diese Aktion jetzt verwenden, um benutzerdefinierte VM-Images mit Artefakten zu erstellen, die in Ihren Continuous Delivery-Workflows erstellt wurden, diese als Shared Image Gallery-Version, als verwaltetes Image oder als virtuelle Festplatte (VHD) zu verteilen und von einer vollständigen Nachverfolgbarkeit zwischen GitHub und dem Azure-Portal zu profitieren.

VM-Image-Katalog

Nachverfolgen von Kubernetes-Änderungen vom Azure-Portal bis zu GitHub-Commits

Die Aktion Für einen Kubernetes-Cluster bereitstellen wurde erweitert. Ab jetzt wird im Azure-Portal ein Änderungsprotokoll angezeigt, das die Möglichkeit bietet, jede Bereitstellung für einen Azure Kubernetes Service (AKS)-Cluster nachzuverfolgen, und zwar von den exakten GitHub-Commits und -Issues, die bereitgestellt wurden, bis hin zum spezifischen GitHub-Workflow, der zum Bereitstellen der Änderungen verwendet wurde.

Ansicht eines Änderungsprotokolls im Azure-Portal

Überprüfen von Containerimages als Teil von Pull Request-Workflows

Sie können Ihren Workflows jetzt die Aktion zum Überprüfen von Containern hinzufügen und zusätzliche Prüfungen ausführen, um die Docker-Images, die als Teil von Continuous Integration (CI)- oder Pull Request (PR)-Workflows erstellt wurden, zu schützen. So können sich Entwickler absichern und ihre Docker-Images auf allgemeine Sicherheitsrisiken überprüfen, bevor sie diese per Push in eine Containerregistrierung übertragen oder für eine Container-Web-App oder einen Kubernetes-Cluster bereitstellen.

Ergebnisse der Aktion zum Überprüfen von Containern

 

Erste Schritte

Informieren Sie sich in der Dokumentation zur Integration von Azure Policy und GitHub und in den Themen zu Azure-VM-Bereitstellungen, zur Aktion zum Bereitstellen von ARM-Vorlagen und zur Aktion zum Überprüfen von Containern, um loszulegen.

Sie können sich auch die verbesserte Funktion DevOps Starter ansehen, die jetzt GitHub Actions als CI/CD-Anbieter unterstützt. Dank dieser neuen Erweiterung können Entwickler mit nur vier einfachen Schritten einen durchgängigen GitHub-Workflow für eine Beispielanwendung einrichten.

Wenn Sie Änderungswünsche oder Vorschläge für diese Funktionen haben, können Sie uns Feedback geben oder Beiträge zu den GitHub Actions-Repositorys übermitteln – wir akzeptieren auch Pull Requests. Wenn ein Problem mit einer bestimmten Aktion auftritt, können Sie ein Issue im Repository für die jeweilige Aktion öffnen.