Freigeben über


Empfehlungen für die Gestaltung einer Lieferkette für die Workload-Entwicklung

Hierfür gilt die Empfehlung der Power Platform Well-Architected Operational Excellence-Checkliste:

OE:06 Bauen Sie eine Workload-Lieferkette auf, die vorgeschlagene Änderungen durch vorhersehbare, automatisierte Pipelines vorantreibt. Die Pipelines testen und fördern diese Änderungen in allen Umgebungen. Optimieren Sie ein Lieferkette, um Ihre Arbeitslast zuverlässig, sicher, kostengünstig und leistungsfähig zu machen.

Dieser Leitfaden enthält Empfehlungen zum Gestalten einer Lieferkette für die Workload-Entwicklung, die auf Continuous Integration und Continuous Delivery (CI/CD)-Pipelines basiert. In Cloud-Workloads ist eine Lieferkette eine standardisierte Sammlung von Tools und Prozessen, mit denen Sie Konfigurations- und Workloadänderungen in verschiedenen Umgebungen vornehmen können. Entwickeln Sie eine Lieferkette, um sicherzustellen, dass Sie über eine vorhersehbare, standardisierte Methode für die Pflege Ihrer Workload verfügen. CI/CD-Pipelines sind die Manifestation der Lieferkette, aber Sie sollten nur eine Lieferkette haben. Sie haben möglicherweise mehrere Pipelines, die folgen dieselben Prozesse ausführen und dieselben Tools verwenden.

Integrieren Sie eine Lieferkette, um Ihre Workload vor Schäden zu schützen, die auftreten können, wenn Sie Änderungen an der Workload nicht richtig verwalten. Behalten Sie den Status Ihrer Arbeitsbelastung stets im Auge, damit Sie nicht Gefahr laufen, unvorhersehbares Verhalten zu erleben. Dieses Risiko wird noch größer, wenn Sie bei auftretenden Problemen viel Zeit mit der Nachverfolgung nicht berücksichtigter Änderungen verbringen müssen. Standardisieren Sie die Prozesse und Tools, die Ihre Lieferkette definieren, um diese Risiken zu minimieren, und stellen Sie sicher, dass Ihr Workload-Team diese auch nutzt.

Wichtige Designstrategien

Die folgenden Empfehlungen können Ihnen dabei helfen, die Kernprinzipien Ihrer Lieferkette zu definieren.

Nehmen Sie geplante Änderungen an der Workload über die Prozesse und Tools der Lieferkette vor. Setzen Sie eine strikte Richtlinie für automatisierte, vorlagenbasierte Bereitstellungen durch. Auf diese Weise stellen Sie sicher, dass die Konfiguration Ihrer Workload in allen Umgebungen standardisiert, klar definiert und streng kontrolliert ist. Führen Sie für Umgebungen in einer Code-Heraufstufungs-Kette keine Aktualisierungen mithilfe manueller Prozesse oder menschlicher Interaktion durch. Integrieren Sie alle Änderungen an der Umgebung über eine Pipeline, indem Sie die von Ihnen definierten Bereitstellungsverfahren befolgen. Um die Durchsetzung dieser Richtlinie zu erleichtern, können Sie den Zugriff standardmäßig auf schreibgeschützten Zugriff beschränken und ein Zugriffsberechtigungs-Gate für die Gewährung von Schreibrechten verwenden.

Ein wichtiger Aspekt dieses Prinzips besteht darin, dass alle Änderungen geplante Änderungen sind, bis sie in der Produktion eingesetzt werden. Durch automatisierte Tests, wie Integrationstests und Feuerproben, ermöglichen Sie Ihrer Lieferkette, Änderungen automatisch abzulehnen.

Verwenden Sie einen Satz an Coderessourcen und Artefakten für alle Umgebungen und Pipelines. Für Unternehmen ist es ein häufiges Problem, wenn sich Nichtproduktionsumgebungen von Produktionsumgebungen unterscheiden. Das manuelle Erstellen von Produktions- und Nichtproduktionsumgebungen kann zu nicht übereinstimmenden Konfigurationen zwischen den Umgebungen führen. Diese Nichtübereinstimmung verlangsamt die Tests und erhöht die Wahrscheinlichkeit, dass Änderungen einem Produktionssystem schaden.

Spiegeln Sie Ihre Organisationsstruktur in Ihren Lieferketten- und Pipeline-Designs wider. Ihre Organisation ist möglicherweise in Teams aufgeteilt. Jedes Team verwaltet möglicherweise einen Teil der Lieferkette. Viele Organisationen verfügen beispielsweise über Teams, die Sicherheits- und Compliance-Einstellungen oder Umgebungskonfigurationen verwalten. Diese Teams sind von den Entwicklungsteams getrennt, die die Anwendungsentwicklung, das Testen und die Bereitstellung verwalten. Es gibt viele Möglichkeiten, die an einer Lieferkette beteiligten Teams zu organisieren. Ihre Lieferkette ist auf die reibungslose Zusammenarbeit aller Teams angewiesen. Stellen Sie sicher, dass alle Teams Standardprozesse befolgen und Standardtools verwenden, um die Lieferkette so effizient wie möglich zu gestalten.

Ihr Lieferkette ist möglicherweise auf Drittanbieter angewiesen, wenn Sie Teile des Workload-Lebenszyklus auslagern. Diese Anbieter sind für den Erfolg Ihres Lieferkette genauso wichtig wie interne Ressourcen. Stellen Sie sicher, dass in allen Teams Einigkeit über die von Ihnen verwendeten Prozesse und Tools besteht.

Standardisieren Sie Ihre Bereitstellungsmethode. Sprechen Sie mit dem Produktbesitzer über die akzeptable Produktionsausfallzeit für Ihre Workload. Je nachdem, wie viel Ausfallzeit (wenn überhaupt) akzeptabel ist, können Sie die Bereitstellungsmethode auswählen, die Ihren Anforderungen entspricht. Um Komplexität und Risiko zu reduzieren, sollten Sie Bereitstellungen idealerweise während eines Wartungsfensters durchführen.

Planen Sie eine ganzheitliche Teststrategie. Ein zentraler Grundsatz der Systemzuverlässigkeit ist das „Shift-Left“-Prinzip. Das Entwickeln und Bereitstellen einer Anwendung ist ein Prozess, der als eine Reihe von Schritten von links nach rechts dargestellt wird. Sie sollten die Tests nicht auf das Ende des Prozesses beschränken. Verschieben Sie die Tests so weit wie möglich an den Anfang bzw. nach links. Die Behebung von Fehlern ist günstiger, je eher sie erkannt werden. Sie können später im Lebenszyklus der Anwendung teuer oder gar nicht mehr zu beheben sein.

Verwenden Sie, wenn möglich, automatisierte Tests, um die Konsistenz sicherzustellen. Integrieren Sie die folgenden Testarten in Ihre Lieferkette:

  • Unit-Tests: Unit-Tests werden normalerweise als Teil einer kontinuierlichen Integrationsroutine ausgeführt. Komponententests sollten umfangreich und schnell sein. Im Idealfall decken sie 100 Prozent des Codes ab. Wenden Sie Komponententests auf alle Coderessourcen, einschließlich Vorlagen und Skripts, an.

  • Smoke-Test: Smoke-Tests überprüfen, ob eine Arbeitslast in einem Test Umgebung standhält und wie erwartet funktioniert. Feuerproben überprüfen nicht die Interoperabilität von Komponenten. Mithilfe von Feuerproben wird überprüft, ob die Bereitstellungsmethode für die Infrastruktur und die Anwendung funktioniert und ob das System nach Abschluss des Prozesses wie vorgesehen reagiert.

  • Integrationstests: Integrationstests stellen sicher, dass die Anwendungskomponenten einzeln funktionieren, und ermitteln dann, ob die Komponenten wie vorgesehen miteinander interagieren können. Das Ausführen einer großen Integrationstestfolge kann viel Zeit in Anspruch nehmen. Aus diesem Grund empfiehlt es sich, das Shift-Left-Prinzip zu berücksichtigen und Tests bereits in einem frühen Stadium der Softwareentwicklung durchzuführen. Planen Sie Integrationstests für Szenarien, die Sie nicht mit einer Feuerprobe oder einem Komponententest testen können. Sie können lang dauernde Testprozesse bei Bedarf in regelmäßigen Abständen ausführen. Ein regelmäßiges Intervall bietet einen guten Kompromiss und erkennt Interoperabilitätsprobleme zwischen Anwendungskomponenten spätestens einen Tag nach ihrer Einführung. Für einige Testszenarien sind manuelle Durchläufe sinnvoll. Verwenden Sie manuelle Tests, wenn Sie Elemente der menschlichen Interaktivität in Tests einführen müssen.

  • Abnahmetests: Je nach Kontext können Sie Abnahmetests manuell durchführen. Sie können teilweise oder vollständig automatisiert werden. Mit Akzeptanztests wird festgestellt, ob das Softwaresystem die Anforderungsspezifikationen erfüllt. Der Hauptzweck dieses Tests besteht darin, die Konformität des Systems mit den Geschäftsanforderungen zu bewerten und festzustellen, ob das System die erforderlichen Kriterien für die Auslieferung an die Benutzer erfüllt.

Implementieren Sie durch Tests Qualitätskontrollen während des gesamten Code-Promotion-Prozesses. Stellen Sie Ihren Code in niedrigeren Umgebungen bereit, beispielsweise für die Qualitätssicherung und Tests, und in höheren Umgebungen, beispielsweise für Staging und Produktion. Stellen Sie beim Durchlaufen Ihrer Bereitstellung der Qualitäts-Gates sicher, dass Ihre Bereitstellung Ihre Qualitätsziele erfüllt, bevor Änderungen in die Produktion gehen. Ihre Geschäftsanforderungen bestimmen, worauf Sie bei Ihren Qualitäts-Gates den Schwerpunkt legen. Berücksichtigen Sie auch die grundlegenden Power Platform Well-Architected-Prinzipien: Sicherheit, Zuverlässigkeit und Leistungseffizienz.

Integrieren Sie auch Genehmigungsworkflows in Ihre Qualitäts-Gates. Definieren Sie Genehmigungsworkflows klar und automatisieren Sie sie bei Bedarf. Definieren Sie Qualitätsakzeptanzkriterien für Ihre Automatisierung, damit Sie Ihre Tore effizient und sicher passieren können.

Umsetzung in Power Platform

Pipelines zielen darauf ab, das Application Lifecycle Management (ALM) für Power Platform und Dynamics 365-Kunden zu demokratisieren, indem ALM-Automatisierung sowie Funktionen für kontinuierliche Integration und kontinuierliche Bereitstellung (CI/CD) in den Dienst integriert werden. Power Platform

Microsoft Power Platform Mit Build Tools für Azure DevOps können allgemeine Build- und Bereitstellungsaufgaben im Zusammenhang mit auf Power Platform erstellten Apps automatisiert werden.

GitHub Actions ermöglicht es Entwicklern, automatisierte Workflows für den Softwareentwicklungslebenszyklus zu erstellen. Power Platform Mit GitHub-Aktionen für Microsoft Power Platform können Sie Workflows in Ihrem Repository erstellen, um Apps zu erstellen, zu testen, zu paketieren, freizugeben und bereitzustellen, Automatisierungen durchzuführen und Bots und andere Komponenten zu verwalten, die auf Power Platform erstellt wurden.

ALM Accelerator ist ein Open-Source-Tool, das aus einer Reihe von Anwendungen, Skripten und Pipelines besteht, die zur Automatisierung des kontinuierlichen Integrations-/Lieferprozesses entwickelt wurden.

Automatisieren Sie Tests mit Azure Pipelines.

Power Apps Die Checker-Web-API bietet einen Mechanismus zum Ausführen statischer Analyseprüfungen für Anpassungen und Erweiterungen der Microsoft Dataverse Plattform.

Microsoft Power Platform CLI (PAC CLI) ist ein Befehlszeilentool, das den Import und Export von Power Platform Lösungen sowie das Packen und Entpacken aus Power Platform Lösungsquelldateien unterstützt. PAC CLI ist als eigenständiges Befehlszeilentool oder als Erweiterung für Visual Studio Code verfügbar.

Sie können Terraform, Bicep und Azure Resource Manager für unveränderliche Infrastruktur als Code-Bereitstellungen (IaC) verwenden. Abhängig von Ihren Anforderungen und der Vertrautheit Ihres Teams mit den Tools können Sie eines oder mehrere dieser Tools für Ihre Bereitstellungen und die Verwaltung der Ressourcen verwenden.

Organisationsausrichtung

Cloud Adoption Framework bietet zentralen Teams Anleitungen zum Bereitstellen von Workload-Zielzonen. Die Workload-Landezonen sind der Ort, an dem das benutzerdefinierte Lieferkette des Workloads Anwendungen bereitstellt.

Weitere Informationen finden Sie unter Was ist eine Azure-Landezone? und in den Entwurfsprinzipien der Azure-Landezone.

Nächste Schritte,