Wann rechnet sich der Einsatz von Logic Apps?

Carsten MeyerCloud Computing, Integration mit Logic Apps, Microsoft Azure

In einem früheren Blog-Post (https://www.sunato.de/2016/11/24/azure-logic-apps-moderne-integration-in-der-cloud/) haben wir Microsofts Integrationstool für Cloud-Szenarien vorgestellt: die Logic Apps. Diese bringen nicht nur eine Vielzahl an sofort einsetzbaren Konnektoren zu unterschiedlichsten Systemen mit, sondern auch ein komplett neues Betriebs- und Bezahlmodell.

Logic App Konnektoren

Logic App Konnektoren

Bei den Logic Apps kümmert sich Microsoft vollständig um den sicheren Betrieb und die Skalierung, der Kunde kann sich also ganz auf die Entwicklung seiner Integrationslösung konzentrieren. Da die Skalierung dynamisch nach Last erfolgt und keine dedizierten Ressourcen benötigt werden, gibt es auch keine festen, verbrauchsunabhängigen Kosten. Stattdessen wird ausschließlich nach Verbrauch abgerechnet.

Die Kosteneinheit der Logic Apps sind die sog. „Actions“. Eine Action bezeichnet einen Schritt in einer Logic App, also z. B. die Ansprache eines externen Systems wie Salesforce oder eine „If-Else“-Verzweigung im Workflow.

Die folgende Logic App stellt einen einfachen Approval-Workflow dar: Wenn eine neue Datei in SharePoint erstellt wird, erhält der Entscheider eine E-Mail, mit der er die Verschiebung der Datei in das Zielverzeichnis gestatten kann.

Logic App Approval-Workflow

Logic App Approval-Workflow

Je nach Ablauf des Workflows werden unterschiedlich viele Actions durchgeführt: 5 im Falle der Erlaubniserteilung, 3 bei einer Ablehnung. Die Kosten pro Action sind der Azure-Website entnehmbar:

Logic App Preisübersicht

Logic App Preisübersicht

Für die oben beschriebene Approval-App könnte sich folgendes Szenario darstellen:

  • 100 Aufrufe pro Tag
  • 50% werden genehmigt -> 50 * 5 Actions
  • 50% werden abgelehnt -> 50 * 3 Actions

Es werden somit 400 Actions pro Tag ausgelöst. Bei 31 Tagen im Monat ergeben sich dadurch Kosten von 8,37 EUR.

Logic App Preisbeispiel (niedriges Volumen)

Logic App Preisbeispiel (niedriges Volumen)

Die Kosten fallen also mit 8,37 EUR im Monat sehr gering aus, wenn man sich vor Augen führt, dass der Logic App-Service von Microsoft komplett verwaltet und mit einem SLA von 99,9 % versehen wird. Insbesondere ist auch der Entwicklungsaufwand für eine solche Lösung durch die bereitgestellten Konnektoren deutlich niedriger als bei einer direkten Ansprache der SharePoint- bzw. Office 365-API.

Ein anderes Bild ergibt sich, wenn eine Logic App häufiger aufgerufen wird. Das folgende Beispiel zeigt die Preiskalkulation bei einer unter Dauerlast stehenden Applikation:

  • 1 Aufruf pro Sekunde
  • 60 Aufrufe pro Minute
  • 3600 Aufrufe pro Stunde
  • 86.400 Aufrufe pro Tag (24 Std.)
  • 4 Actions pro Aufruf

Daraus ergeben sich 345.600 Actions pro Tag, was zu sehr viel höheren Kosten führen würde:

Logic App Preisbeispiel (hohes Volumen)

Logic App Preisbeispiel (hohes Volumen)

Wenn mit einem so hohen Aufrufvolumen zu rechnen ist, kann es sich trotz der höheren Entwicklungskosten lohnen, die APIs der Zielsysteme direkt anzusprechen und auf andere Plattformen als die Logic Apps zu setzen. Dafür kämen die klassischen „App Services“ oder Microsofts neue Serverless Computing-Plattform „Azure Functions“ in Frage. Die Azure Functions bieten dasselbe Betriebs- und Bezahlmodell wie die Logic Apps, sind aber pro Aufruf deutlich günstiger.

Im obigen Logic App-Beispiel wurden 345.600 Actions pro Tag ausgelöst, was bei 31 Tagen 10.713.600 Actions pro Monat ergibt. Unter der Annahme, dass die Ausführungszeit pro Aktion bei 1 Sekunde und der verbrauchte Arbeitsspeicher bei 512 MB liegt, würde sich bei Verwendung der Azure Functions folgendes Bild ergeben:

Azure Functions Preisbeispiel

Azure Functions Preisbeispiel

Der Preisunterschied zwischen Logic Apps und Azure Functions ist in diesem Beispiel eines stark frequentierten Workflows offensichtlich. Der deutlich höhere Entwicklungsaufwand im Falle einer unmittelbaren Kommunikation der Azure Functions mit den REST-APIs der Zielsysteme ist aber in jedem Fall zu berücksichtigen. Die zu implementierende Authentifizierung ggü. den angebundenen  Systemen inkl. Handling / Caching von Tokens und der Einarbeitungsaufwand in unbekannte APIs können dazu führen, dass die Logic Apps trotz höherer monatlicher Kosten als Gesamtsystem günstiger sind.

Logic Apps und Azure Functions lassen sich auch sehr gut gemeinsam verwenden: Ein Logic App-Workflow kann die Custom-Code enthaltenden Azure Functions direkt aufrufen. Über eine Swagger-Definitionsdatei ist es möglich, auf Basis der Azure Functions auch eigene Logic App-Konnektoren („Custom Connectors“) zu erstellen. Diese haben zwar (noch) nicht alle Features der von Microsoft bereitgestellten Konnektoren, können aber die Workflow-Visualisierung deutlich übersichtlicher gestalten.

Wir verwenden in unseren Kundenprojekten bereits erfolgreich die Kombination aus Logic Apps und Azure Functions und haben auch schon Custom Connectors entwickelt. Wenn auch Sie sich für moderne und wirtschaftliche Integrationsarchitekturen auf Basis neuester Cloud-Technologien interessieren, würden wir uns sehr freuen, mit Ihnen ins Gespräch zu kommen.

 

SUNATO verbindet: Wir integrieren Enterprise Applikationen (EAI/ EDI/ API Management), schaffen Apps für den mobilen Zugriff (Mobile Apps) und unterstützen die Digitalisierung unserer Kunden durch Innovationen. Wir sind Azure, BizTalk, .NET und Xamarin Experten an den Standorten Hamburg, München, Stuttgart.