Der Power Automate Monitor: von der Bachelorarbeit zum Software-Service

Das Power Automate Monitor-Logo, entworfen für eine innovative Software-Service-Bachelorarbeit.

Veröffentlicht:

Viele der Kundinnen und Kunden von IOZ verwenden mittlerweile Microsoft Power Automate als Workflow-Engine. Diese Workflows laufen in den meisten Fällen erfolgreich, können aber auch scheitern, aufgrund diverser Probleme nicht ausgeführt oder abgebrochen werden.

Dies kann seine Ursachen in geänderten externen Services, geänderten Microsoft Services oder Datenproblemen haben. Oft wird die Überwachung dieser Flows manuell durchgeführt, oder es werden selbst erstellte «Monitoring-Lösungen» wie E-Mails oder automatische Listeneinträge im Fehlerfall implementiert.

Die von Microsoft angebotenen Standard-Monitoring-Lösungen für Power Automate stellen lediglich eine unzureichende Übersicht zur Verfügung und haben keine unternehmensweite Überwachungsmöglichkeit. Azure Governance & Monitoring Tools sind zwar auf dem Markt verfügbar, aber oft zu umfassend, zu kompliziert oder nicht für den typischen Use Case unserer Kunden geeignet.

Deshalb wurde die Erstellung einer eigenen Monitoring-Plattform in Angriff genommen.

Als ich im Rahmen meines Bachelorstudiums an der Hochschule Luzern – Informatik eine Bachelorarbeit verfassen durfte, sind wir zusammen dieses Projekt angegangen. Ziel war die Erstellung eines einfach zu bedienenden Systems, welches ein Monitoring (primär der fehlerhaften oder fehlgeschlagenen Instanzen) für Power Automate Workflows ermöglicht. Das System soll über ein Web-Interface bedient werden können und modernste Cloud-Technologien verwenden. Das System fokussiert auf Power Automate, stellt eine organisationsweite Übersicht über die Power Automate Workflows der Umgebung zur Verfügung und hebt sich so von den Standardprodukten von Microsoft sowie der Konkurrenz ab.

Den neuen Service haben wir Power Automate Monitor getauft.

Live-Demonstration des Power Automate Monitors

Welchen Problemen mussten wir uns stellen?

Die Power Automate Workflow-Daten werden von der Power Plattform aus Datenschutzgründen lediglich 28 Tage gespeichert. Dies macht eine Datenaggregierung nötig, um die Überwachung auch langfristig über diesen Zeitraum hinaus ausführen zu können. Die Daten werden via API der Power Automate Plattform aggregiert. Die Microsoft Power Automate API ist relativ neu und derzeit undokumentiert. Es gibt aktuell nur ein PowerShell-Modul, welches diese API benutzt und womit typischerweise Administrationsaufgaben erledigt werden sollen. Mittels Reverse-Engineering wurden alle notwendigen Informationen für den API-Zugriff daraus bezogen, geprüft und in der Lösung implementiert. Die grösste Schwierigkeit stellte hierbei die Authentifizierung dar. Zur Aggregierung der Daten von der API musste eine performante, stabile Crawling Lösung in der Azure-Cloud konzipiert und implementiert werden. Für den Zugriff auf die Kundenumgebungen müssen die Zugangsdaten in einem sicheren Keystore abgelegt werden. Dazu musste ein geeigneter Cloud-Service auf Azure evaluiert und in die Lösung eingebaut werden.

Wie wurde die Lösung umgesetzt?

Es wurden ein Crawler mit Microservice-Architektur als Azure Function, eine Datenbank mit Azure Cosmos DB, eine API als .NET Core Web API sowie ein JavaScript Frontend mit Vue.js konzipiert & erstellt.

Lösungsarchitektur des Power Automate Monitors
Architektur des Power Automate Monitors

Der Crawler aggregiert die Daten aus der Zielumgebung, an welcher sich der Crawler via App Authentication authentifiziert. Diese Daten werden periodisch aus der Power Plattform gezogen und in einer Azure Cosmos DB gespeichert. Wir speichern keine personenbezogenen Daten, sondern lediglich die Metadaten der einzelnen Flows und Flow Runs, aber keine Daten der konkreten Executions oder personenbezogene Daten. Diese können nach wie vor auf der Power Plattform analysiert werden, jedoch nur bis 28 Tag nachdem der Workflow-Run durchgeführt wurde. Via Browser kann dann mit einem eigenen Login auf die eigenen Daten in unserem Kundenportal zugegriffen werden. Beim Login-Vorgang wird jedoch nur ein API-Key ausgetauscht, welcher dann für alle weiteren Zugriffe verwendet wird. Via REST-API werden die vom Crawler aggregierten Daten aus der Power Plattform im Frontend angezeigt. Die REST-API kann auch vom Kunden selbst zur Integration in bestehende Tools verwendet werden. Den persönlichen API-Key erhalten sie von der IOZ AG bei Bedarf.

Die Infrastruktur ist fast komplett in der Cloud Region Switzerland North deployed und wird as a service zur Verfügung gestellt. Cosmos DB ist nur Global verfügbar und deshalb davon ausgenommen. Die Infrastruktur as a Service zu beziehen ist ein entscheidender Vorteil bei der Entwicklung von dieser Art von Applikationen. Durch die Verwendung von Standardservices konnte die Plattform mit einem hohen Tempo erstellt und zukünftig auch erweitert werden. Durch die Verwendung von Azure DevOps ist auch die vollautomatische CI/CD Pipeline in Verbindung mit den Azure-Services mit mehreren Stages einfach aufzubauen, zu warten und zu erweitern.

Der Power Automate Monitor lässt sich für CHF 49.- pro Monat und Tenant lizenzieren.

Wie geht es weiter?

Die Grundlage der Plattform wurde im Rahmen meiner Bachelorarbeit an der Hochschule Luzern – Informatik erstellt. Die Plattform soll stark weiterwachsen und kontinuierlich verbessert werden. Die Roadmap sieht aktuell folgendermassen aus:

Roadmap des Power Automate Monitors
Roadmap des Power Automate Montiors
Beitrag teilen
Geschrieben von

Reto Stadelmann

Content Services Developer

Profil anzeigen

2 Kommentare zu „Der Power Automate Monitor: von der Bachelorarbeit zum Software-Service“

  1. Hallo,

    hat sich da etwas bei MS getan bzw. haben Sie heute etwas dafür?

    Werden die Workflows immer noch im Benutzerkontext gespeichert?

    Gruß
    Frank

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

IOZ_LOGO_weiss

Profis für M365-Intranets & digitale Arbeitsplätze, Power Apps, Power Automate Workflows, sowie Managementsysteme.

Angebote

Angebotsübersicht

Zentrale | Verkauf
IOZ AG
  • St. Georg-Strasse 2a
    CH-6210 Sursee

  • +41 41 925 84 00

  • info@ioz.ch

Nach oben scrollen