Dynamics 365 Business Central und Integrationsworkflows: Warum Azure Logic Apps oft die bessere Wahl sind als Power Automate

Wenn ich über Integrationen zwischen Dynamics 365 Business Central und externen Anwendungen spreche, sehe ich in vielen realen Projekten, dass Low-Code-Ansätze eine der bevorzugten Methoden dafür sind. Obwohl ich kein großer Fan davon bin, alles mit Low-Code-Technologien zu erledigen, denke ich, dass in vielen Situationen ein Integrations-Workflow, der mit einem Low-Code-Ansatz erstellt wurde, die Geschäftsanforderungen erfüllen kann.

Aber was ist der beste Low-Code-Ansatz für die Erstellung eines Integrationsworkflows zwischen Dynamics 365 Business Central und einer externen Anwendung?

In der Welt von Microsoft gibt es hauptsächlich zwei Low-Code-Technologien, die nützlich sein können, um Integrationsworkflows zu erstellen: Macht automatisiert und Azure-Logik-Apps.

Ich habe in der Vergangenheit einige Posts über die Hauptunterschiede zwischen den beiden Plattformen geschrieben (den nützlichsten Artikel, den ich zu diesem Thema geschrieben habe, um die beiden Plattformen aus BC-Perspektive zu vergleichen, ist meiner Meinung nach hier) und ich habe zuletzt auch eine vollständige Sitzung durchgeführt Jahr bei Directions EMEA in Mailand, wo die serverlosen Low-Code- und Full-Code-Workflow-Plattformen in Aktion gezeigt wurden, aber ich sehe oft, dass in der Community darüber diskutiert wird.

Zu oft denke ich, dass Business Central-Partner wissen, dass es eine Low-Code-Technologie zum Erstellen serverloser Workflows gibt und dass diese Technologie heißt Macht automatisiert. Sie wissen oder ignorieren einfach nicht, dass es noch eine andere Technologie namens gibt Azure-Logik-Apps.

Azure Logic Apps ist ein Super-Set von Power Automate (ja, Power Automate basiert auf dieser Technologie) und ist absolut besser geeignet, um Integrationsaufgaben zu erstellen, die nicht an einen Benutzer gebunden sind (keine benutzerzentrierten Aufgaben).

Die Methode zum Erstellen von Workflows (Workflow-Designer) ist auf beiden Plattformen absolut gleich. Wenn Sie also ein Power Automate-Experte sind, können Sie innerhalb von Minuten mit der Erstellung eines Workflows mit Logic Apps beginnen:

Wenn Sie eine Integrationsaufgabe zwischen Dynamics 365 Business Central und einer externen Anwendung erstellen müssen, sind die Anforderungen normalerweise (oder sollten es zumindest sein):

  • Die Aufgabe muss mit S2S-Authentifizierung ausgeführt werden
  • Die Aufgabe muss skalierbar sein
  • Die Aufgabe muss gesichert werden
  • Die Aufgabe sollte die Protokollierung und Überwachung unterstützen

Azure-Logik-Apps ist absolut eine bessere Wahl zum Erstellen von Low-Code-Integrationsaufgaben als Power Automate, wenn Sie die oben genannten Anforderungen haben, und ich denke, dass mein vorheriger Artikel zu diesem Thema erklärt, warum. Aber hier möchte ich noch etwas hinzufügen …

Mit Macht automatisiertbei dem Sie sich anmelden https://powerautomate.microsoft.com/ und dann können Sie mit der Erstellung Ihres Integrationsworkflows im Portal beginnen. Der erstellte Workflow:

  • ist mit dem Benutzer verknüpft, der sie erstellt hat
  • Der Eigentümer des Workflows muss ihn in der gesamten Organisation freigeben (es wird empfohlen, mindestens einen zweiten Eigentümer zu erstellen).
  • es läuft in Ihrem Power Automate-Plan (Sie können es nicht skalieren)
  • Die Überwachung ist begrenzt
  • Sie können keine Redundanz des Flusses haben
  • Sie können keine Load Balancer verwenden
  • Sie können keine erweiterten Sicherheitsrichtlinien für Ihre Flows erstellen
  • Um den Business Central-Konnektor zu verwenden, benötigen Sie eine Power Automate Premium-Lizenz (Festpreis für Benutzer)

Mit Azure-Logik-Apps Sie haben folgende Möglichkeiten:

  • Der Workflow ist mit einer Azure-Ressourcengruppe verknüpft. Sie können es in der gewünschten Azure-Region bereitstellen.
  • Sie können verschiedene Bereitstellungsmodelle haben (dazu später mehr)
  • Sie können Redundanz und hohe Verfügbarkeit haben
  • Voller Nutzen von Azure Monitor mit Application Insights, um eine umfassende Überwachung, Protokollierung und Warnung bei Ausnahmen und Leistungsproblemen bereitzustellen
  • Sie können Load Balancer verwenden
  • Sie können Azure API Management für erweiterte Sicherheitsrichtlinien für Ihre Flows verwenden
  • Entwicklungstools mit Visual Studio Code und lokale Bereitstellung/Tests
  • Sie können die vollständigen SCM- und CI/CD-Funktionen für Ihre Workflows nutzen
  • Sie können Ihre Workflows als ARM-Vorlagen oder Bicep-Vorlagen bereitstellen
  • Mehr Konnektoren, insbesondere für Unternehmensintegrationen (Logic Apps bietet einige spezifische Konnektoren, wie sie für B2B-Integrationen wie EDI, X12 und AS2 verwendet werden)

Azure Logic Apps-Bereitstellungsmodelle

Azure-Logik-Apps hat zwei Hauptbereitstellungsmodelle: Verbrauch und Standard.

Logik-Apps (Verbrauch) ist im Wesentlichen ein Pay-per-Use-Modell. Bei diesem Modell kann eine einzelne Logik-App-Ressource nur einen Workflow haben. In dem Verbrauch Modell haben Sie dann die folgenden zwei Möglichkeiten:

  • Vollständig verwaltete Umgebung (Mehrinstanzenfähige Azure Logic Apps): Logik-Apps über Azure Active Directory-Mandanten hinweg teilen sich die gleiche Verarbeitung (Rechenleistung), den gleichen Speicher, das gleiche Netzwerk usw. Es unterstützt Geo-Redundanz.
  • Integration Service-Umgebung (ISE): vollständig isoliert und dedizierte Umgebung für alle Integrationen im Unternehmensmaßstab, die Sie benötigen. Dieses Modell hat eine vorhersehbare Preisgestaltung mit inbegriffener Nutzung und kundengesteuerter Skalierung. Logik-Apps in derselben Umgebung teilen sich die gleiche Verarbeitung (Rechenleistung), den gleichen Speicher, das gleiche Netzwerk usw. Mit diesem Modell verfügen Sie auch über ISE-spezifische Konnektoren, die eine direkte Verbindung zu virtuellen Netzwerken herstellen.

Logik-Apps (Standard) ist vielmehr ein computergestütztes Angebot. Sie können Ihre Workflows in einem bereitstellen App Service-Hostingplan in Azure (Hosting-Plan mit einer ausgewählten Preisstufe) oder in einen Docker-Container oder auch selbst hosten. Mit diesem neuen Modell hat Microsoft die Logic Apps-Laufzeit überarbeitet und auf der Azure Functions-Laufzeit neu plattformiert, sodass Sie Ihre Workflows selbst hosten können (wie bei der Azure Functions-Laufzeit können Sie Ihre Workflows idealerweise überall ausführen). Bei diesem Modell kann eine einzelne Logik-App mehrere haben Staatsbürgerlich und staatenlos Arbeitsabläufe. Das Logik-App (Standard) Ressourcentyp und Single-Tenant-Azure Logic Apps-Laufzeit bieten eine weitere deutliche Verbesserung, indem sie die beliebteren verwalteten Konnektoren als integrierte Vorgänge verfügbar machen (Konnektoren für Azure-Ressourcen sind beispielsweise in die Laufzeit integriert).

Überlegungen zur Skalierbarkeit

Wenn Sie über Integrationsworkflows verfügen, die als geschäftskritisch gelten, können Sie mit Logic Apps Zonenredundanz und Hochverfügbarkeit erzielen (nicht möglich mit Power Automate).

Zonenredundanz befindet sich derzeit in der Vorschau für Verbrauchslogik-Apps, die in mehrinstanzenfähigen Azure Logic Apps ausgeführt werden, und ist allgemein für Standard-Logik-Apps verfügbar, die auf der Erweiterbarkeit von Azure Functions basieren.

Sie können die Zonenredundanz während der Erstellung der Logik-App aktivieren:

Wie bereits erwähnt, können Sie mit Logic Apps Geschäftskontinuitätsszenarien unterstützen, wie beispielsweise die Bereitstellung Ihres Workflows an verschiedenen Standorten (Region). Dazu können Sie Ihren Workflow definieren, dann die ARM-Vorlage exportieren und diese Vorlage an einem anderen Ort bereitstellen (mit Parameterdateien für die verbundenen Ressourcen):

Sie können auch den Lastenausgleich auf Aktiv/Aktiv-Instanzen unterstützen, bei denen N Logik-App-Instanzen Anfragen oder Nachrichten von externen Systemen aktiv verarbeiten:

Sicherheitsüberlegungen

Eine Sorge vieler Sicherheitsexperten im Zusammenhang mit Cloud-Workflows betrifft das Erstellen und Verwenden von Dienstkonten. Häufige Benutzer von Macht automatisiert Erstellen Sie ein Dienstkonto mit zugewiesener Lizenz und verwenden Sie es dann, um Power Automate-Flows zu besitzen und auszuführen. Dieses Dienstkonto wird häufig auch auf verschiedenen Systemen verwendet. Dies stellt Sicherheitslücken und Bedrohungen dar und in vielen Organisationen ist die Verwendung von Dienstkonten aufgrund der Sicherheitsrisiken verpönt. Darüber hinaus verwenden viele diese Praxis des Diensttyp-Benutzerkontos, um die Auswirkungen und die Anzahl der Lizenzen zu begrenzen, die ein Premium-Level erfordern.

Logik-Apps kann stattdessen aktiviert werden, um als verwaltete Identität. Dadurch kann der Logik-App-Workflow als er selbst authentifiziert werden und nicht als Dienstprinzipal, Dienstkonto oder unter Verwendung von Kennwörtern. Dies ermöglicht die direkte Authentifizierung bei anderen Diensten wie Azure Key Vault, wo alle Geheimnisse sicher gespeichert werden können, um auf Partner oder andere Systeme zuzugreifen, was eine zusätzliche Schutzebene gegen den Diebstahl von Anmeldeinformationen und unbefugten Zugriff auf diese Systeme bietet.

Eine vom System zugewiesene verwaltete Identität ist auf eine pro Ressource beschränkt und an den Lebenszyklus dieser Ressource gebunden. Sie können der verwalteten Identität Berechtigungen erteilen, indem Sie die rollenbasierte Zugriffssteuerung von Azure (Azure RBAC) verwenden. Die verwaltete Identität wird mit Azure AD authentifiziert, sodass Sie keine Anmeldeinformationen im Code speichern müssen:

Was ist mit den Kosten?

Ich glaube nicht, dass die Kosten der Hauptgrund für die Wahl einer Technologie sind, wenn es um zuverlässige Integrationen geht, aber es ist etwas, das in einer serverlosen Welt immer evaluiert werden sollte.

Macht automatisiert Workflows sind im Wesentlichen kostenlos, wenn Sie keine Premium-Konnektoren benötigen, aber Sie werden ziemlich bald an die Kontingentgrenzen stoßen. Bei Power Automate erfordern viele Funktionen Premium-Konnektoren, und dafür haben Sie zwei Möglichkeiten:

  • Pro-Benutzer-Plan: ab 15 $ pro Benutzer
  • Pro-Flow-Plan: 100 $ pro Flow/Monat mit mindestens 5 Flows (also ab 500 $).

Logik-Apps Stattdessen haben sie keine Premium-Konnektoren, aber einige Enterprise-Konnektoren. Logic Apps bietet zwei Arten von Preisplänen:

  • Standard: Sie zahlen für zugewiesene Ressourcen (Festpreis), kein Aufpreis für Unternehmenskonnektoren.
  • Verbrauch: Sie zahlen pro Aktionsausführung (ca. 0,000025 USD pro Aktion für jede Ausführung) und pro Enterprise Connector-Aktionsausführung (ca. 0,001 USD pro Ausführung).

Das heißt, wenn wir die Kosten prüfen müssen, sollten Sie prüfen, was für Sie kostengünstiger ist. In vielen Szenarien ist Logic Apps billiger. Ein Beispiel, das ich immer verwende: Stellen Sie sich einen Workflow vor, der jede Woche Daten lesen und ein Word-Dokument für die Unternehmensleitung generieren muss (also 4 Ausführungen pro Monat). Der Word-Connector wird als Premium-Connector aufgeführt. Wenn Sie also Power Automate nur für diese Aufgabe haben, zahlen Sie 15 $ für Benutzer, wenn Sie Logic Apps verwenden, zahlen Sie nur 4 * 0,000025 $ = 0,00001 $.

Schlussfolgerungen

Nach diesem zweiten Beitrag über einen „Vergleich“ zwischen Power Automate und Azure Logic Apps zum Erstellen von Low-Code-Workflows für die Integration hoffe ich, dass Sie einen klaren Überblick über beide Plattformen haben und Vor- und Nachteile bewerten können.

Ich bin nicht hier, um zu sagen, dass „Sie immer Azure Logic Apps für Ihre Integrationen verwenden müssen“, denn das stimmt nicht. Es gibt Workflow-Szenarien, in denen Power Automate angemessen ist, andere, in denen die Verwendung von Power Automate ein Missbrauch und ein Architekturfehler ist.

Mein Senf zu diesem Thema: Wenn Sie darüber nachdenken, eine Integrationsaufgabe mit einem Low-Code-Workflow zu lösen, stellen Sie Ihnen einige Fragen:

  • Ist dieser Workflow benutzerzentriert und wird von einem Benutzer ausgeführt? Power Automate könnte die Wahl sein.
  • Handelt es sich bei diesem Workflow um einen stillen Prozess, der zuverlässig sein und ohne Benutzerkontext ausgeführt werden muss? Logic Apps ist eine bessere Wahl.
  • Benötigen Sie einen zuverlässigen, skalierbaren und sicheren Integrations-Workflow? Logic Apps ist die Wahl.
  • Benötigen Sie geschäftskritische Workflows mit hohem Durchsatz und geringer Latenz? Power Automat vergessen. Logic Apps ist eine gute Wahl, aber oft ist ein Full-Code-Ansatz hier besser (Durable Functions sind dafür geboren, erinnern Sie sich an meine letztjährige Sitzung bei Directions EMEA?  ).

.

Author: admin

Leave a Reply

Your email address will not be published. Required fields are marked *