ALM-Grundlagen mit Microsoft Power Platform

Dieser Artikel beschreibt die Komponenten, Tools und Prozesse, die zur Implementierung von Application Lifecycle Management (ALM) erforderlich sind.

Umgebungen

Umgebungen sind ein Raum zur Speicherung, Verwaltung und gemeinsamen Nutzung von Geschäftsdaten, Apps und Geschäftsprozessen Ihres Unternehmens. Sie dienen auch als Container zur Trennung von Apps, die unterschiedliche Rollen, Sicherheitsanforderungen oder Zielgruppen haben können. Jede Umgebung kann nur eine Microsoft Dataverse-Datenbank haben. Weitere Informationen: Umgebungsübersicht

Wichtig

Wenn Sie eine Umgebung erstellen, können Sie sich dafür entscheiden, Apps von Dynamics 365 zu installieren, z.B. Dynamics 365 Sales und Dynamics 365 Marketing. Zu diesem Zeitpunkt ist es wichtig festzustellen, ob diese Apps erforderlich sind oder nicht, da sie später nicht deinstalliert oder installiert werden können. Wenn Sie nicht auf diesen Apps aufbauen und sie in Zukunft nicht mehr benötigen, empfehlen wir, sie nicht in Ihren Umgebungen zu installieren. Dies hilft, Komplikationen durch Abhängigkeiten zu vermeiden, wenn Sie Lösungen auf verschiedene Umgebungen verteilen.

Arten der in ALM verwendeten Umgebungen

Mit dem Power Platform-Admin-Center können Sie diese Art von Power Platform-Umgebungen erstellen:

  • Sandbox Eine Sandbox-Umgebung ist eine Nichtproduktionsumgebung von Dataverse. Da sie von der Produktionsumgebung isoliert ist, ist eine Sandboxumgebung ein Ort, um Anwendungsänderungen sicher zu entwickeln und zu testen. Sandbox-Umgebungen enthalten Funktionen, die in einer Produktionsumgebung schädlich wären, wie z.B. Reset-, Lösch- und Kopiervorgänge. Weitere Informationen: Sandbox-Umgebungen verwalten

  • Produktion Die Umgebung, in der Apps und andere Software für die beabsichtigte Verwendung in Betrieb genommen werden.

  • Entwickler (früher Community genannt). Der Power Apps Entwickler-Plan bietet Ihnen Zugriff auf die Power Apps Premium-Funktionalität, Dataverse und Power Automate für den individuellen Gebrauch. Dieser Plan ist in erster Linie zum Erstellen und Testen mit Power Apps, Power Automate und Microsoft Dataverse oder zu Lernzwecken gedacht. Eine Entwicklerumgebung ist eine Einzelbenutzer-Umgebung und kann nicht zum Ausführen oder gemeinsamen Nutzen von Produktions-Apps verwendet werden.

  • Standard Für jeden Mandanten wird automatisch eine einzige Standardumgebung erstellt, die von allen Benutzern in diesem Mandanten gemeinsam genutzt wird. Der Mandant identifiziert den Kunden, der ein oder mehrere Microsoft-Abonnements und damit verbundene Dienste haben kann. Immer wenn sich ein neuer Benutzer für Power Apps anmeldet, wird er automatisch der Erstellerrolle der Standardumgebung hinzugefügt. Die Standardumgebung wird in der Region erstellt, die der Standardregion des Microsoft Entra-Mandanten am nächsten liegt, und heißt: „{Microsoft Entra-Mandantenname} (Standard)“

Erstellen und verwenden Sie eine korrekte Umgebung für einen bestimmten Zweck, z. B. Entwicklung, Test oder Produktion.

Weitere Informationen zu Umgebungen finden Sie unter Umgebungsübersicht

Wer sollte Zugriff haben?

Definieren und verwalten Sie die Sicherheit Ihrer Ressourcen und Daten in Microsoft Dataverse. Microsoft Power Platform bietet Verwaltungsrollen auf Umgebungsebene zur Durchführung von Aufgaben. Dataverse umfasst Sicherheitsrollen, die die Ebene des Zugriffs auf Apps, App-Komponenten und Ressourcen definieren, die Ersteller und Benutzer von Apps innerhalb von Dataverse haben.

Umgebungszweck Rollen, die Zugriff haben Kommentare
Entwicklung Ersteller und Entwickler von Apps. Benutzer von Apps sollten keinen Zugriff haben. Entwickler benötigen mindestens die Sicherheitsrolle des Erstellers der Umgebung, um Ressourcen zu erstellen.
Testen Admins und Personen, die testen. Ersteller von Apps, Entwickler und Benutzer von Produktionsanwendungen sollten keinen Zugriff haben. Testbenutzer sollten gerade genug Berechtigungen haben, um Tests durchzuführen.
Produktion Admins und App-Benutzer. Benutzer sollten gerade genug Zugriff haben, um ihre Aufgaben für die von ihnen verwendeten Apps auszuführen. Ersteller und Entwickler von Apps sollten keinen Zugriff haben oder nur Berechtigungen auf Benutzerebene besitzen.
Standard Standardmäßig kann jeder Benutzer in Ihrem Mandant Apps in einer Standardumgebung Dataverse erstellen und bearbeiten, die über eine Datenbank verfügt. Wir empfehlen Ihnen dringend, Umgebungen für einen bestimmten Zweck zu erstellen und die entsprechenden Rollen und Berechtigungen nur den Personen zu gewähren, die sie benötigen.

Weitere Informationen:

Lösungen

Lösungen werden verwendet, um Apps und Komponenten von einer Umgebung in eine andere zu transportieren oder um eine Reihe von Anpassungen an bestehenden Apps vorzunehmen.

Lösungen haben diese Eigenschaften:

  • Dazu gehören Metadaten und bestimmte Entitäten mit Konfigurationsdaten. Lösungen enthalten keine Geschäftsdaten.

  • Sie können viele verschiedene Microsoft Power Platform-Komponenten enthalten, z.B. Modellbasierte Apps, Canvas-Apps, Sitemaps, Flüsse, Entitäten, Formulare, benutzerdefinierte Konnektoren, Webressourcen, Optionssätze, Diagramme und Felder. Beachten Sie, dass nicht alle Entitäten in eine Lösung aufgenommen werden können. Beispielsweise können die Systemtabellen Anwendungsbenutzer, benutzerdefinierte API und Organisationseinstellungen nicht zu einer Lösung hinzugefügt werden.

  • Sie werden als Einheit gepackt, um exportiert und in andere Umgebungen importiert zu werden, oder dekonstruiert und in die Quellcodekontrolle als Quellcode für Assets eingecheckt. Lösungen werden auch dazu verwendet, Änderungen an bestehenden Lösungen vorzunehmen.

  • Verwaltete Lösungen werden für die Bereitstellung in jeder Umgebung bereitgestellt, die keine Entwicklungsumgebung für diese Lösung ist. Dazu gehören Tests, Benutzerakzeptanztests (UAT), Systemintegrationstests (SIT) und Produktionsumgebungen. Verwaltete Lösungen können unabhängig von anderen verwalteten Lösungen in einer Umgebung gewartet (Upgrade, Patch und Löschen) werden. Als bewährte Methode für ALM sollten verwaltete Lösungen von einem Build-Server generiert und als Build-Artefakt betrachtet werden.

  • Aktualisierungen für eine verwaltete Lösung werden für die vorherige Version der verwalteten Lösung bereitgestellt. Dadurch wird keine zusätzliche Lösungsebene erstellt. Sie können keine Komponenten löschen, indem Sie ein Update verwenden.

  • Ein Patch enthält nur die Änderungen für eine übergeordnete verwaltete Lösung. Sie sollten Patches nur dann verwenden, wenn Sie kleine Updates (ähnlich wie bei einem Hotfix) durchführen und diese eventuell deinstalliert werden müssen. Wenn Patches importiert werden, werden sie über die übergeordnete Lösung gelegt. Sie können keine Komponenten löschen, indem Sie einen Patch verwenden.

  • Beim Upgrade einer Lösung wird eine neue Lösungsschicht unmittelbar über der Basisschicht und allen vorhandenen Patches installiert.

    • Bei der Anwendung von Lösungs-Upgrades werden alle vorhandenen Patches und die Basisschicht gelöscht.

    • Lösungsupgrades löschen vorhandene Komponenten, die jedoch nicht mehr in der aktualisierten Version enthalten sind.

Weitere Informationen: Lösungskonzepte

Quellenkontrolle

Quellcodekontrolle, auch als Versionskontrolle bekannt, ist ein System, das Software-Entwicklungsressourcen verwaltet und sicher speichert und Änderungen an diesen Ressourcen verfolgt. Die Änderungsverfolgung ist besonders wichtig, wenn mehrere Ersteller und Entwickler von Apps an demselben Dateisatz arbeiten. Ein Versionskontrollsystem gibt Ihnen auch die Möglichkeit, Änderungen rückgängig zu machen oder gelöschte Dateien wiederherzustellen.

Ein Versionskontrollsystem hilft Unternehmen, ein gesundes ALM zu erreichen, da die im Versionskontrollsystem verwalteten Assets die „einzige Quelle der Wahrheit“ oder, mit anderen Worten, der einzige Zugangs- und Änderungspunkt für Ihre Lösungen sind.

Branching und Zusammenführungsstrategie

Nahezu jedes Versionskontrollsystem verfügt über irgendeine Form der Unterstützung für Verzweigungen und Zusammenführungen. Branching bedeutet, dass Sie von der Hauptentwicklungslinie abweichen und Ihre Arbeit fortsetzen, ohne die Hauptlinie zu ändern. Der Prozess des Zusammenführens besteht darin, einen Zweig in einen anderen zu kombinieren, z.B. von einem Entwicklungszweig in einen Hauptzweig. Einige übliche Verzweigungsstrategien sind stammbasierte Verzweigung, Versionsverzweigung und Funktionsverzweigung. Weitere Informationen: Eine Git-Verzweigungsstrategie anwenden

Prozess der Versionsverwaltung mit einer Lösung

Es gibt zwei Hauptwege, die Sie bei der Arbeit mit Lösungen in einem Versionsverwaltungssystem verwenden können:

  • Exportieren Sie die unverwaltete Lösung und platzieren Sie sie als ungepackt im Versionsverwaltungssystem. Der Bauprozess importiert die gepackte Lösung als unverwaltet in eine temporäre Bauumgebung (Sandbox-Umgebung). Exportieren Sie dann die Lösung wie verwaltet und speichern Sie sie als Build-Artefakt in Ihrem Versionsverwaltungssystem.
  • Exportieren Sie die Lösung als unverwaltet und exportieren Sie auch die Lösung als verwaltet und platzieren Sie beides im Versionsverwaltungssystem. Obwohl für diese Methode keine Umgebung für die Erstellung erforderlich ist, müssen zwei Kopien aller Komponenten aufbewahrt werden (eine Kopie aller nicht verwalteten Komponenten aus der nicht verwalteten Lösung und eine Kopie aller verwalteten Komponenten aus der verwalteten Lösung).

Quellenkontrolle durch Verwendung einer Lösung

Weitere Informationen: Tool-Aufgaben bauen

Automatisierung

Automatisierung ist ein wichtiger Teil des Anwendungslebenszyklus, der die Produktivität, Zuverlässigkeit, Qualität und Effizienz von ALM verbessert. Automatisierungstools und -aufgaben werden zum Validieren, Exportieren, Packen, Entpacken und Exportieren von Lösungen sowie zum Erstellen und Zurücksetzen von Sandbox-Umgebungen verwendet.

Weitere Informationen: Was sind Microsoft Power Platform Build Tools?

Teamentwicklung mit gemeinsamer Quellcodekontrolle

Es ist wichtig zu überlegen, wie Sie und Ihr Entwicklungsteam bei der Erstellung des Projekts zusammenarbeiten werden. Das Aufbrechen von Silos und die Förderung von Ansichten und Gesprächen kann Ihr Team in die Lage versetzen, bessere Software zu liefern. Einige Tools und Workflowswie die in Git, GitHub und Azure DevOps wurden für den ausdrücklichen Zweck der Verbesserung der Kommunikation und Software-Qualität entwickelt. Beachten Sie, dass die Arbeit mit Konfigurationen in einem Lösungssystem zu Herausforderungen für die Teamentwicklung führen kann. Organisationen müssen Änderungen von mehreren Entwicklern orchestrieren, um Zusammenführungskonflikte so weit wie möglich zu vermeiden, da Quellcode-Kontrollsysteme Beschränkungen hinsichtlich der Art und Weise haben, wie Zusammenführungen stattfinden. Wir empfehlen Ihnen, Situationen zu vermeiden, in denen mehrere Personen gleichzeitig Änderungen an komplexen Komponenten wie Formularen, Flüssen und Canvas Apps vornehmen.

Weitere Informationen: Szenario 5: Unterstützung der Teamentwicklung

Kontinuierliche Integration und Bereitstellung

Sie können jedes beliebige Versionskontrollsystem verwenden und zunächst eine Pipeline für die kontinuierliche Integration und kontinuierliche Bereitstellung (CI/CD) aufbauen. Dieser Leitfaden konzentriert sich jedoch auf GitHub und Azure DevOps. GitHub ist eine Entwicklungsplattform, die von Millionen von Entwicklern verwendet wird. Azure DevOps bietet Entwicklerdienste zur Unterstützung von Teams bei der Arbeitsplanung, der Zusammenarbeit bei der Code-Entwicklung und der Erstellung und Bereitstellung von Anwendungen.

Für den Anfang benötigen Sie:

Weitere Informationen: Erstellen Sie Ihre erste Pipeline

Lizenzierung

Um Apps und Flüsse unter Verwendung von Power Apps bzw. Power Automate zu erstellen oder zu bearbeiten, benötigen Benutzer eine Pro-Benutzer-Lizenz für Power Apps oder Power Automate oder eine entsprechende Lizenz für Dynamics 365 Anwendungen. Weitere Informationen finden Sie unter Lizenzierungsübersicht für Microsoft Power Platform. Wir empfehlen auch, sich mit Ihrem Microsoft-Kundenbetreuer in Verbindung zu setzen, um Ihre Lizenzanforderungen zu besprechen.

ALM Überlegungen

Wenn Sie ALM als einen integralen Bestandteil der Erstellung von Apps auf Microsoft Power Platform betrachten, kann es die Geschwindigkeit, Zuverlässigkeit und Benutzerfreundlichkeit der App drastisch verbessern. Sie stellt auch sicher, dass mehrere Entwickler - sowohl herkömmliche Entwickler, die Code schreiben, als auch Bürger-Entwickler - gemeinsam an der zu erstellenden Anwendung mitwirken können.

Lesen Sie die folgenden Artikel, in denen verschiedene Punkte besprochen werden, die zu Beginn jeder Anwendungsentwicklung zu berücksichtigen sind: