Azure Pipelines-Architektur für IaaS

Wichtig

CI/CD für IaaS-Anwendungen ist eine Variante der CI/CD-Baselinearchitektur mit Azure Pipelines. Dieser Artikel konzentriert sich auf die Besonderheiten der Bereitstellung von Webanwendungen in Azure Virtual Machines.

Microsoft Azure Virtual Machines ist eine Option zum Hosten benutzerdefinierter Anwendungen, wenn Sie eine flexible und präzise Verwaltung Ihrer Berechnung wünschen. Virtuelle Computer (VMs) sollten der gleichen Technischen Rigorität unterliegen wie Platform-as-a-Service (PaaS)-Angebote während des gesamten Entwicklungslebenszyklus. Implementieren sie beispielsweise automatisierte Build- und Freigabepipelinen, um Änderungen an die virtuellen Computer zu übertragen.

DevOps-Workflow auf hoher Ebene zum Bereitstellen von Anwendungsänderungen auf VMs mithilfe von CI-Methoden (Continuous Integration) und kontinuierlicher Bereitstellung (CD) mithilfe von Azure Pipelines.

Aufbau

Architekturdiagramm einer CI/CD-Pipeline, die Azure Pipelines verwendet.

Laden Sie eine Visio-Datei dieser Architektur herunter.

Datenfluss

In diesem Abschnitt wird vorausgesetzt, dass Sie den Abschnitt Datenfluss des Artikels „CI/CD-Baselinearchitektur mit Azure Pipelines“ gelesen haben, und es werden lediglich die Besonderheiten der Bereitstellung einer Workload in Azure Virtual Machines behandelt.

  1. PR-Pipeline - Identisch mit der Baseline

  2. CI-Pipeline: Identisch mit der Baseline – mit einer Ausnahme: Bei den Buildartefakten, die für die Bereitstellung einer Web-App in IaaS erstellt werden, handelt es sich um ein Web Deploy-Paket.

  3. CD-Pipelinetrigger - Identisch mit der Baseline

  4. CD-Freigabe für Staging: Identisch mit der Baseline – mit zwei Ausnahmen: Das heruntergeladene Buildartefakt ist das Web Deploy-Paket, und das Paket wird auf einem virtuellen Azure-Stagingcomputer bereitgestellt.

  5. CD-Freigabe für die Produktion: Identisch mit der Baseline – mit zwei Ausnahmen:

    a. Die Freigabe für die Produktion erfolgt durch Aktualisieren von Azure Traffic Manager, um Staging und Produktion auszutauschen. Diese Strategie kann durch ein Traffic Manager-Profil mit zwei Endpunkten erreicht werden, bei den die Produktion aktiviert und Staging deaktiviert ist. Deaktivieren Sie die Produktion, und aktivieren Sie Staging, um Staging und Produktion auszutauschen.
    b. Für ein Rollback können Sie Azure Traffic Manager aktualisieren, um Produktion und Staging zurückzutauschen.

  6. Überwachung - Identisch mit der Baseline

Komponenten

In diesem Abschnitt wird vorausgesetzt, dass Sie den Abschnitt Komponenten des Artikels „CI/CD-Baselinearchitektur mit Azure Pipelines“ gelesen haben, und es werden lediglich die Besonderheiten der Bereitstellung einer Workload in Azure Virtual Machines behandelt.

  • Azure Virtual Machines stellt eine auf Windows- oder Linux-Servern basierende hochgradig skalierbare, sichere, virtualisierte On-Demand-Infrastruktur bereit. Virtual Machines wird in dieser Architektur zum Hosten von Workloads verwendet.

  • Mit VM-Skalierungsgruppen können Sie eine Gruppe identischer virtueller Computer mit Lastenausgleich erstellen und verwalten. Die Anzahl von VM-Instanzen kann automatisch erhöht oder verringert werden, wenn sich der Bedarf ändert, oder es kann ein Zeitplan festgelegt werden. Skalierungsgruppen können ebenfalls zum Hosten von Workloads verwendet werden.

  • Azure Traffic Manager ist ein DNS-basierter Lastenausgleich für Datenverkehr, mit dem Sie Datenverkehr an konfigurierte Endpunkte verteilen können. In dieser Architektur ist Traffic Manager der einzige Einstiegspunkt für Clients und wird mit mehreren Endpunkten konfiguriert, die den virtuellen Produktionscomputer und den virtuellen Stagingcomputer darstellen. Der Endpunkt des virtuellen Produktionscomputers ist aktiviert, und Staging ist deaktiviert.

Alternativen

Dieser Artikel konzentriert sich auf die Verwendung von Azure Traffic Manager als Lastenausgleich. Azure bietet verschiedene Optionen für den Lastenausgleich, die Sie in Betracht ziehen können.

Überlegungen

In diesem Abschnitt wird vorausgesetzt, dass Sie den Abschnitt Überlegungen des Artikels „CI/CD-Baselinearchitektur mit Azure Pipelines“ gelesen haben, und es werden lediglich die besonderen Aspekte der Bereitstellung einer Workload in Azure Virtual Machines behandelt.

Optimaler Betrieb

  • Da Traffic Manager DNS-basiert ist, führt die clientseitige Zwischenspeicherung von IP-Adressen zu einer Latenz. Auch wenn Sie in Traffic Manager einen Endpunkt aktivieren und einen anderen deaktivieren, verwenden Clients weiterhin die zwischengespeicherte IP-Adresse, bis die DNS-Gültigkeitsdauer (Time-To-Live, TTL) abläuft. Erwägen Sie Optionen für den Lastenausgleich, die auf der Ebene 4 oder 7 wirken.

  • Erwägen Sie die Implementierung von Umgebungen, die über das reine Staging und die Produktion hinausgehen, um Rollbacks, manuelle Akzeptanztests und Leistungstests zu ermöglichen. Wenn Sie die Stagingumgebung als Rollbackumgebung verwenden, kann die Umgebung nicht für andere Zwecke verwendet werden.

Nächste Schritte