Identifizieren der Technologieoptionen
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 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:
- Azure 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 ändern oder eine andere Aktion auslösen kann.
- 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, zeichnen sie ggf. ein Flussdiagramm auf Papier. Mit Azure 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.
Azure Logic Apps
Azure 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 Azure Logic Apps verwenden, können Sie komplexe Workflows zur Modellierung komplexer Geschäftsprozesse ausarbeiten. Der folgende Screenshot zeigt den Workflow-Designer und den Entwurfszeichenbereich, in dem Sie Ihren Workflow definieren.
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.
Azure Logic Apps ist für die Integration unter anderem deshalb optimal geeignet, weil mehr als 200 Connectors enthalten sind. Ein Connector ist eine Logik-App-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. Azure Logic Apps bietet Hunderte vorkonfigurierter Connectors, mit denen Sie Ihre Apps erstellen können. Wenn Sie ein ungewöhnliches oder einzigartiges System haben, das Sie über Azure 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 Tippen auf Ihrem mobilen Gerät 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.
Im Grunde baut Microsoft Power Automate auf Azure Logic Apps auf. Das bedeutet, dass Power Automate die gleichen Connectors und Aktionen wie Azure 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-Fachleute sind, ist Azure Logic Apps in der Regel besser geeignet:
Microsoft Power Automate | Azure 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 | Workflow-Designer im Browser, Visual Studio Code und Visual Studio. Codebearbeitung möglich |
Application Lifecycle Management | Power Automate umfasst Test- und Produktionsumgebungen. | Azure Logic Apps-Quellcode kann in Azure DevOps-Repositorys oder andere Quellcodeverwaltungssysteme wie GitHub 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-Repositorys 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 führen die einfache Verwaltung und das flexiblere Codierungsmodell von Azure Functions dazu, 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 Azure Logic Apps | No | 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.