Identifizieren der Technologieoptionen

Abgeschlossen

Sie haben nicht viel Zeit, um die Geschäftsprozesse zwischen Ihrem vorhandenen Fahrradverleihsystem und dem auf dem zweiten Campus verwendeten System richtig zu integrieren. Sie möchten das Beste aus Ihrer vorhandenen Azure-Expertise herausholen und haben gelesen, dass Azure mehrere verschiedene Technologien enthält, die Sie zur Lösung solcher Probleme einsetzen können.

In dieser Einheit untersuchen wir die Azure-Technologieoptionen, die Ihnen zur Automatisierung und Integration Ihrer Geschäftsprozesse Verfügung stehen.

Häufige Geschäftsprobleme

Im Geschäftsleben besteht eine Möglichkeit der Gewährleistung von qualitativ hochwertigen Produkten und Diensten für Kunden darin, strenge Geschäftsprozesse zu entwerfen und zu implementieren. Solche Prozesse können mehrere Schritte, Personen und Softwarepakete umfassen. Prozesse können in einer einfachen Reihe von Tätigkeiten ausgeführt werden, die die Mitarbeiter nacheinander durchführen, oder sie können sich verzweigen oder Schleifen bilden. Prozesse können außerdem schnell ablaufen oder Tage oder sogar Wochen in Anspruch nehmen.

Häufig stößt ein Unternehmen auf Probleme, wenn es mit einem zweiten Unternehmen fusioniert oder in eine Partnerorganisation integriert wird. Wie können Administratoren die in beiden Unternehmen verwendeten separaten Prozesse integrieren, die möglicherweise mit unterschiedlicher Software implementiert wurden?

In Software modellierte Geschäftsprozesse werden häufig als Workflows bezeichnet. Azure enthält vier verschiedene Technologien, mit denen Sie Workflows erstellen und implementieren können, die mehrere Systeme integrieren:

  • Logic Apps
  • Microsoft Power Automate
  • WebJobs
  • Azure Functions

Diese vier Technologien weisen einige Ähnlichkeiten auf. Beispiel:

  • Sie alle können Eingaben akzeptieren. Eine Eingabe ist ein Datenelement oder eine Datei, das oder die für den Workflow bereitgestellt wird.
  • Sie alle können Aktionen ausführen. Eine Aktion ist ein einfacher Vorgang, den der Workflow ausführt und der oftmals Daten ändert oder eine andere Aktion auslöst.
  • Sie alle können Bedingungen enthalten. Eine Bedingung ist ein Test, der häufig für eine Eingabe ausgeführt wird. Er kann entscheiden, welche Aktion als nächstes ausgeführt werden soll.
  • Sie alle können Ausgaben generieren. Eine Ausgabe ist ein Datenelement oder eine Datei, das oder die vom Workflow erstellt wird.

Darüber hinaus können Workflows, die mit diesen Technologien erstellt wurden, entweder nach einem Zeitplan gestartet oder durch ein externes Ereignis ausgelöst werden.

Design-First-Technologien

Wenn Business Analysts einen Geschäftsprozess erörtern und planen, erstellen sie ggf. ein Flussdiagramm auf Papier. Mit Logic Apps und Microsoft Power Automate können Sie einen ähnlichen Ansatz beim Entwerfen eines Workflows verfolgen. Beide Dienste beinhalten Benutzeroberflächen, in denen Sie den Workflow grafisch ausarbeiten können. Wir bezeichnen diesen Ansatz als einen Design-First-Ansatz.

Logic Apps

Logic Apps ist ein Azure-Dienst, mit dem Sie unterschiedliche Komponenten einer verteilten Anwendung automatisieren, orchestrieren und integrieren können. Indem Sie den Design-First-Ansatz in Logic Apps verwenden, können Sie komplexe Workflows zur Modellierung komplexer Geschäftsprozesse ausarbeiten. Der folgende Screenshot zeigt den Logic Apps-Designer und den Entwurfsbereich, in dem Sie Ihren Workflow definieren.

Screenshot of the Logic Apps workflow designer in the Azure portal.

Wenn Sie lieber mit Code arbeiten, können Sie alternativ einen Workflow in JSON-Notation erstellen oder bearbeiten, indem Sie wie im folgenden Screenshot gezeigt die Codeansicht verwenden.

Screenshot of the Logic Apps code editor in the Azure portal.

Logic Apps ist für die Integration unter anderem deshalb optimal geeignet, weil mehr als 200 Connectors enthalten sind. Ein Connector ist eine Logic Apps-Komponente, die eine Schnittstelle zu einem externen Dienst bereitstellt. So können Sie beispielsweise mit dem X-Connector kurze Beiträge senden und abrufen, während Sie mit dem Office 365 Outlook-Connector Ihre E-Mails, Kontakte und Ihren Kalender verwalten können. Logic Apps bietet Hunderte von vorkonfigurierten Connectors, mit denen Sie Ihre Apps erstellen können. Wenn Sie ein ungewöhnliches oder einzigartiges System haben, das Sie über Logic Apps aufrufen möchten, können Sie einen eigenen Connector erstellen, wenn Ihr System eine REST-API verfügbar macht.

Microsoft Power Automate

Microsoft Power Automate ist ein Dienst, mit dem Sie Workflows erstellen können, auch wenn Sie kein Entwickler oder IT-Experte sind. Sie können Workflows erstellen, die viele verschiedene Komponenten integrieren und orchestrieren, indem Sie die Website oder die mobile Microsoft Power Automate-App verwenden.

Es gibt vier verschiedene Arten von Flows, die Sie erstellen können:

  • Automatisiert: Startet durch einen Trigger von einem Ereignis. Das Ereignis kann beispielsweise das Eintreffen eines neuen kurzen Beitrags oder das Hochladen einer neuen Datei sein.
  • Schaltfläche: Führt eine sich wiederholende Aufgabe mit einem einzigen Klick von Ihrem mobilen Gerät aus aus.
  • Geplant: Wird regelmäßig ausgeführt. Beispielsweise ein Mal pro Woche, an einem bestimmten Datum oder nach 10 Stunden.
  • Geschäftsprozess: Modelliert einen Geschäftsprozess wie den Lagerauftragsprozess oder das Reklamationsverfahren. Der Flowprozess kann folgende Dinge enthalten: Benachrichtigung an erforderliche Personen (mit deren aufgezeichneter Genehmigung), Kalenderdaten für Schritte und die aufgezeichnete Zeit der Flowschritte.

Microsoft Power Automate bietet eine einfach zu verwendende Entwurfsoberfläche, um diese Typen von Flows zu erstellen. Wie der folgende Screenshot zeigt, erleichtert Ihnen der Flow-Designer das Entwerfen und Gestalten Ihres Prozesses.

Screenshot of the Microsoft Power Automate designer showing a workflow with a file trigger, an Office action to get a user's profile and an Outlook action to send an email.

Im Grunde baut Microsoft Power Automate auf Logic Apps auf. Das bedeutet, dass Power Automate die gleichen Connectors und Aktionen wie Logic Apps unterstützt. Sie können auch benutzerdefinierte Connectors in Microsoft Power Automate verwenden.

Design-First-Technologien im Vergleich

Wie Sie der folgenden Tabelle entnehmen können, ist Microsoft Power Automate besser für die Verwendung durch nichttechnische Mitarbeiter geeignet. Wenn Ihre Workflow-Designer IT-Experten, Entwickler oder DevOps-Programmierer sind, ist Logic Apps in der Regel besser geeignet:

Microsoft Power Automate Logic Apps
Richtet sich an Mitarbeiter im Büro und Business Analysts Entwickler und IT-Experten
Geeignete Szenarien Self-Service-Workflowerstellung Erweiterte Integrationsprojekte
Entwurfstools Nur GUI. Browser und mobile App Browser und Visual Studio-Designer. Codebearbeitung möglich
Application Lifecycle Management Power Automate umfasst Test- und Produktionsumgebungen. Logic Apps-Quellcode kann in Azure DevOps und Quellcodeverwaltungssysteme integriert werden.

Code-First-Technologien

Die Entwickler in Ihrem Team werden es wahrscheinlich vorziehen, Code zu schreiben, wenn sie verschiedene Geschäftsanwendungen in einem einzigen Workflow orchestrieren und integrieren möchten. Dies ist der Fall, wenn Sie mehr Kontrolle über die Leistung Ihres Workflows benötigen oder benutzerdefinierten Code als Teil des Geschäftsprozesses schreiben müssen. Für solche Benutzer stellt Azure WebJobs und Functions zur Verfügung.

WebJobs und das WebJobs SDK

Azure App Service ist ein cloudbasierter Hostingdienst für Webanwendungen, mobile Back-Ends und RESTful-APIs. Diese Anwendungen müssen häufig Aufgaben im Hintergrund ausführen. Wenn ein Benutzer beispielsweise in Ihrem Fahrradverleihsystem ein Foto von einem Fahrrad hochlädt, müssen Sie möglicherweise ein kleineres Miniaturfoto erstellen.

WebJobs ist ein Teil von Azure App Service, mit dem Sie ein Programm oder Skript automatisch ausführen können. Es gibt zwei Arten von WebJob:

  • Fortlaufend Wird sofort gestartet, wenn der WebJob erstellt und in einer fortlaufenden Schleife ausgeführt wird. Beispielsweise können Sie einen fortlaufenden WebJob verwenden, um einen freigegebenen Ordner auf ein neues Foto zu überprüfen.
  • Ausgelöst. Wird basierend auf einem Bindungsereignis, nach einem Zeitplan oder bei manuellem Auslösen (bedarfsgesteuert) gestartet.

Um zu bestimmen, welche Aktionen Ihre WebJobs ausführen, können Sie Code in verschiedenen Sprachen schreiben. Sie können den WebJob beispielsweise skripten, indem Sie Code in einem Shellskript (Windows, PowerShell, Bash) schreiben. Alternativ können Sie ein Programm in PHP, Python, Java oder JavaScript schreiben.

Sie können einen WebJob auch mithilfe von .NET und einer .NET-Sprache wie C# oder VB.NET programmieren. In diesem Fall können Sie auch das WebJobs SDK verwenden, um sich die Aufgabe zu erleichtern. Das SDK enthält eine Reihe von Klassen wie JobHostConfiguration und HostBuilder, die die Codemenge reduzieren, die für die Interaktion mit Azure App Service erforderlich ist.

Das WebJobs SDK unterstützt nur C# und den NuGet-Paket-Manager.

Azure-Funktionen

Eine Azure-Funktion stellt eine einfache Möglichkeit dar, kleine Codeausschnitte in der Cloud auszuführen, ohne sich um die für das Hosting dieses Codes erforderliche Infrastruktur kümmern zu müssen. Sie können die Funktion in C#, Java, JavaScript, PowerShell, Python oder einer anderen Sprache schreiben, die im Artikel Unterstützte Sprachen in Azure Functions aufgeführt ist. Außerdem zahlen Sie bei der Verbrauchsplanoption nur für die Zeit, in der der Code ausgeführt wird. Azure skaliert Ihre Funktion automatisch als Reaktion auf die Anforderung von Benutzern.

Wenn Sie eine Azure-Funktion erstellen, können Sie damit beginnen, den Code dafür im Portal zu schreiben. Wenn Sie Quellcodeverwaltung benötigen, können Sie alternativ auch GitHub oder Azure DevOps Services verwenden.

Wählen Sie zum Erstellen einer Azure-Funktion aus einer umfangreichen Vorlagensammlung. Die folgende Liste ist ein Beispiel für einige der Ihnen zur Verfügung stehenden Vorlagen:

  • HTTP-Trigger. Wenn Sie möchten, dass der Code als Reaktion auf eine über das HTTP-Protokoll gesendete Anforderung ausgeführt wird.
  • Timertrigger: Wenn Sie möchten, dass der Code nach einem Zeitplan ausgeführt wird.
  • Azure Blob Storage-Trigger. Wenn Sie möchten, dass der Code ausgeführt wird, wenn einem Azure Storage-Konto ein neues Blob hinzugefügt wird.
  • Cosmos DB-Trigger. Wenn Sie möchten, dass der Code als Reaktion auf neue oder aktualisierte Dokumente in einer NoSQL-Datenbank ausgeführt wird.

Azure Functions kann in viele verschiedene Dienste integriert werden, sowohl innerhalb von Azure als auch in Dienste von Drittanbietern. Diese Dienste können Ihre Funktion auslösen, Dateneingaben an Ihre Funktion senden oder Datenausgaben von Ihrer Funktion empfangen.

Code-First-Technologien im Vergleich

In den meisten Fällen werden die einfache Verwaltung und das flexiblere Codierungsmodell von Azure Functions dazu führen, dass Sie diesen Dienst anstelle von WebJobs auswählen. Allerdings könntn Sie WebJobs aus den folgenden Gründen auswählen:

  • Sie möchten, dass der Code Teil einer vorhandenen App Service-Anwendung ist und als Teil dieser Anwendung verwaltet wird, z.B. in derselben Azure DevOps-Umgebung.
  • Sie benötigen eine genaue Kontrolle über das Objekt, das auf Ereignisse lauscht, die den Code auslösen. Bei diesem Objekt handelt es sich um die JobHost-Klasse, und es besteht eine größere Flexibilität, ihr Verhalten in WebJobs zu ändern.
Azure WebJobs Azure Functions
Unterstützte Sprachen C#, wenn Sie das WebJobs SDK verwenden C#, Java, JavaScript, PowerShell, usw.
Autoskalierung Nein Ja
Entwickeln und Testen in einem Browser Nein Ja
Nutzungsbasierte Bezahlung Nein Ja
Integration in Logic Apps Nein Ja
Paket-Manager NuGet, wenn Sie das WebJobs SDK verwenden NuGet und NPM
Kann Teil einer App Service-Anwendung sein Ja Ja (gehostet unter App Service-Plan)
Bietet eine genaue Kontrolle über JobHost Ja Nein

Da Sie jetzt wissen, welche Design-First- und Code-First-Technologien Ihnen zur Verfügung stehen, wie schränken Sie Ihre Auswahl ein? Wir werden dieser Frage in der nächsten Einheit nachgehen.