De technologische opties identificeren

Voltooid

U hebt niet veel tijd om de bedrijfsprocessen in uw bestaande fietsverhuursysteem en het systeem dat op de tweede campus in gebruik is op de juiste wijze met elkaar te integreren. U wilt optimaal profiteren van uw bestaande Azure-expertise en hebt gelezen dat Azure verschillende technologieën biedt waarmee u problemen als deze kunt oplossen.

In deze les verkennen we de verschillende technologische opties die beschikbaar voor u zijn in Azure om uw bedrijfsprocessen te automatiseren en te integreren.

Veelvoorkomende zakelijke problemen

In het bedrijfsleven is het ontwerpen en implementeren van strikte bedrijfsprocessen een manier om hoogwaardige producten en service aan klanten te garanderen. Dergelijke processen kunnen meerdere stappen, personen en softwarepakketten omvatten. Elk proces kan worden uitgevoerd in een eenvoudige regel met activiteiten die werknemers na elkaar uitvoeren, of ze kunnen vertakking of lus uitvoeren. Elk proces kan snel worden uitgevoerd of het duurt dagen of weken om te voltooien.

Een bedrijf ondervindt vaak problemen wanneer het wordt samengevoegd met een tweede bedrijf of wordt geïntegreerd met een partnerorganisatie. Hoe kunnen beheerders de afzonderlijke processen integreren die worden gebruikt in de twee organisaties, die mogelijk zijn geïmplementeerd met behulp van verschillende software?

Bedrijfsprocessen die in software zijn gemodelleerd, worden vaak werkstromen genoemd. Azure bevat vier verschillende technologieën die u kunt gebruiken om werkstromen te maken en te implementeren om meerdere systemen te integreren:

  • Azure Logic-apps
  • Microsoft Power Automate
  • WebJobs
  • Azure Functions

Deze vier technologieën hebben bepaalde overeenkomsten. Voorbeeld:

  • In alle technologieën kan invoer worden geaccepteerd. Invoer is een aantal gegevens of een bestand dat wordt doorgegeven aan de werkstroom.
  • Met alle technologieën kunnen acties worden uitgevoerd. Een actie is een eenvoudige bewerking die door de werkstroom wordt uitgevoerd en kan vaak gegevens wijzigen of ertoe leiden dat een andere actie wordt uitgevoerd.
  • Alle technologieën kunnen voorwaarden bevatten. Een voorwaarde is een test, die vaak wordt uitgevoerd op basis van een invoer, die kan bepalen welke actie er vervolgens moet worden uitgevoerd.
  • Met alle technologieën kan uitvoer worden geproduceerd. Uitvoer is een aantal gegevens of een bestand dat door de werkstroom wordt gemaakt.

Verder kunnen werkstromen die met deze technologieën zijn gemaakt, volgens van een planning worden gestart of door een externe gebeurtenis worden geactiveerd.

Design-first technologieën

Wanneer bedrijfsanalisten een bedrijfsproces bespreken en plannen, kunnen ze een stroomdiagram op papier tekenen. Met Azure Logic Apps en Microsoft Power Automate kunt u een vergelijkbare benadering hanteren voor het ontwerpen van een werkstroom. Ze bevatten beide gebruikersinterfaces waar u de werkstroom kunt tekenen. We noemen deze aanpak design-first.

Azure Logic-apps

Azure Logic Apps is een service in Azure voor het automatiseren, organiseren en integreren van verschillende onderdelen van een gedistribueerde toepassing. Met behulp van de ontwerp-eerste benadering in Azure Logic Apps kunt u complexe werkstromen tekenen die complexe bedrijfsprocessen modelleren. In de volgende schermopname ziet u het ontwerpcanvas van de werkstroom en het ontwerpcanvas dat u gebruikt om uw werkstroom te definiëren.

Schermopname van azure Logic Apps-werkstroomontwerper in Azure Portal.

Als u liever in code werkt, kunt u een werkstroom in JSON-notatie maken of bewerken met behulp van de codeweergave, zoals geïllustreerd in de volgende schermopname.

Schermopname van de Code-editor van Azure Logic Apps in Azure Portal.

Een van de redenen waarom Azure Logic Apps zo goed is bij de integratie, is dat er meer dan 200 connectors zijn opgenomen. Een connector is een onderdeel van een logische app dat een interface biedt voor een externe service. Met de X-connector kunt u bijvoorbeeld korte berichten verzenden en ophalen, terwijl u met de Office 365 Outlook-connector uw e-mail, agenda en contactpersonen kunt beheren. Azure Logic Apps biedt honderden vooraf gemaakte connectors die u kunt gebruiken om uw apps te maken. Als u een ongebruikelijk of uniek systeem hebt dat u wilt aanroepen vanuit Azure Logic Apps, kunt u uw eigen connector maken als uw systeem een REST API beschikbaar maakt.

Microsoft Power Automate

Microsoft Power Automate is een service voor het maken van werkstromen, zelfs als u geen ervaring hebt met ontwikkelen of IT-professionals. Met behulp van de website of de mobiele Microsoft Power Automate-app kunt u werkstromen maken om allerlei verschillende onderdelen te integreren en te organiseren.

Er zijn vier verschillende stroomtypen die u kunt maken:

  • Geautomatiseerd: begint met een trigger van een bepaalde gebeurtenis. De gebeurtenis kan bijvoorbeeld de komst zijn van een nieuw kort bericht of een nieuw bestand dat wordt geüpload.
  • Knop: Voert een terugkerende taak uit met één tik op uw mobiele apparaat.
  • Gepland: wordt regelmatig uitgevoerd. Bijvoorbeeld één keer per week, op een specifieke datum of na 10 uur.
  • Bedrijfsproces: Modellen van een bedrijfsproces, zoals het voorraadbestellingsproces of de klachtenprocedure. Het stroomproces kan beschikken over: meldingen aan vereiste personen; met hun goedkeuring geregistreerd; kalenderdatums voor stappen; en vastgelegde tijd van stroomstappen.

Microsoft Power Automate biedt een eenvoudig te gebruiken ontwerpoppervlak voor het maken van deze typen stromen. Zoals in de volgende schermopname wordt geïllustreerd, kunt u met de stroomontwerper eenvoudig uw proces ontwerpen en opmaken.

Schermopname van de Microsoft Power Automate-ontwerper met een werkstroom en bestandstrigger, een Office-actie om het profiel van een gebruiker op te halen en een Outlook-actie om een e-mail te verzenden.

Onder de schermen is Microsoft Power Automate gebouwd op Azure Logic Apps. Dit betekent dat Power Automate hetzelfde scala aan connectors en acties ondersteunt als Azure Logic Apps. U kunt ook aangepaste connectors gebruiken in Microsoft Power Automate.

Vergelijking van design-first technologieën

Zoals u in de volgende tabel kunt zien, is Microsoft Power Automate geschikter voor gebruik door niet-technisch personeel. Als uw werkstroomontwerpers IT-professionals, ontwikkelaars of DevOps-professionals zijn, is Azure Logic Apps meestal beter geschikt:

Microsoft Power Automate Azure Logic-apps
Beoogde gebruikers Kantoorpersoneel en bedrijfsanalisten Ontwikkelaars en IT-professionals
Beoogde scenario 's Het maken van selfservicewerkstromen Geavanceerde integratieprojecten
Ontwerphulpprogramma's Alleen GUI. Browser en mobiele app Werkstroomontwerper in de browser, Visual Studio Code en Visual Studio. Bewerken van code is mogelijk
Beheer van toepassingslevenscyclus Power Automate bevat test- en productieomgevingen Azure Logic Apps-broncode kan worden opgenomen in Azure DevOps-opslagplaatsen of andere broncodebeheersystemen, zoals GitHub

Code-first technologieën

De ontwikkelaars in uw team schrijven waarschijnlijk liever code als ze verschillende bedrijfstoepassingen in één werkstroom willen organiseren en integreren. Dit is het geval wanneer u meer controle wilt over de prestaties van uw werkstroom of als u aangepaste code moet schrijven als onderdeel van het bedrijfsproces. Voor zulke personen bevat Azure WebJobs en Functions.

WebJobs en de WebJobs-SDK

De Azure App Service is een cloudhostingservice voor webtoepassingen, mobiele back-ends en RESTful API's. Met deze toepassingen moet vaak een achtergrondtaak worden uitgevoerd. Wanneer een gebruiker bijvoorbeeld een foto van een fiets uploadt in uw fietsverhuursysteem, moet u mogelijk een kleinere miniatuurfoto genereren.

WebJobs, onderdeel van Azure App Service, zijn webtaken waarmee u automatisch een programma of script kunt uitvoeren. Er zijn twee soorten webtaken:

  • Doorlopend. Wordt onmiddellijk gestart wanneer de webtaak wordt gemaakt en wordt uitgevoerd in een doorlopende lus. U kunt een doorlopende webtaak bijvoorbeeld gebruiken om te controleren of een gedeelde map een nieuwe foto bevat.
  • Geactiveerd. Begint op basis van een bindingsevenement, volgens een planning of wanneer u deze handmatig activeert (op aanvraag).

Als u wilt bepalen welke acties uw webtaak uitvoert, kunt u code schrijven in verschillende talen. U kunt bijvoorbeeld een script voor de webtaak maken door code te schrijven in een Shellscript (Windows, PowerShell, Bash). U kunt ook een programma schrijven in PHP, Python, Java of JavaScript.

U kunt een webtaak ook programmeren met behulp van .NET en een .NET-taal zoals C# of VB.NET. In dit geval kunt u ook de WebJobs SDK gebruiken om de taak te vereenvoudigen. De SDK bevat allerlei klassen, zoals JobHostConfiguration en HostBuilder, waardoor er minder code nodig is om te communiceren met Azure App Service.

De WebJobs SDK ondersteunt alleen C# en NuGet-pakketbeheer.

Azure Functions

Met Azure Functions kunt u eenvoudig kleine stukjes code uitvoeren in de cloud, zonder dat u zich zorgen hoeft te maken over de infrastructuur die nodig is om die code te hosten. U kunt de functie schrijven in C#, Java, Javascript, PowerShell, Python of een van de talen die worden vermeld in het artikel Ondersteunde talen in Azure Functions. Daarnaast betaalt u met de optie voor het verbruiksabonnement uitsluitend voor de tijd waarop de code wordt uitgevoerd. Uw functie wordt automatisch geschaald in Azure om te reageren op de vraag van gebruikers.

Wanneer u een Azure-functie maakt, kunt u in de portal beginnen met het schrijven van code ervoor. Als u broncodebeheer nodig hebt, kunt u ook GitHub- of Azure DevOps-opslagplaatsen gebruiken.

Kies uit de beschikbare sjablonen om een Azure-functie te maken. De volgende lijst is een voorbeeld van een aantal sjablonen die voor u beschikbaar zijn:

  • HTTP-trigger. Wanneer u wilt dat de code wordt uitgevoerd als reactie op een aanvraag die via het HTTP-protocol wordt verzonden.
  • Timertrigger. Wanneer u wilt dat de code volgens een schema wordt uitgevoerd.
  • Blob Storage-trigger. Wanneer u de code wilt uitvoeren wanneer een nieuwe blob wordt toegevoegd aan een Azure Storage-account.
  • Cosmos DB-trigger. Wanneer u wilt dat de code wordt uitgevoerd als reactie op nieuwe of bijgewerkte documenten in een NoSQL-database.

Azure Functions is te integreren met veel verschillende services, zowel binnen Azure als van derden. Met deze services kan uw functie worden geactiveerd, invoer naar uw functie worden verzonden of uitvoer van uw functie worden ontvangen.

Vergelijking van code-first technologieën

In de meeste gevallen kan het eenvoudige beheer en flexibelere coderingsmodel van Azure Functions ertoe leiden dat u ze in voorkeur kiest voor WebJobs. U kunt echter om de volgende redenen webtaken kiezen:

  • U wilt dat de code deel uitmaakt van een bestaande App Service-toepassing en dat deze wordt beheerd als onderdeel van die toepassing, bijvoorbeeld in dezelfde Azure DevOps-omgeving.
  • U wilt nauwe controle over het object dat luistert naar gebeurtenissen die de code activeren. Dit object in kwestie is de JobHost-klasse, en in WebJobs hebt u meer flexibiliteit om het gedrag ervan te wijzigen.
Azure WebJobs Azure Functions
Ondersteunde talen C# als u de WebJobs SDK gebruikt C#, Java, JavaScript, PowerShell en meer
Automatisch schalen Nr. Ja
Ontwikkelen en testen in een browser Nr. Ja
Betalen per gebruik Nr. Ja
Integratie met Azure Logic Apps Nr. Ja
Pakketbeheer NuGet als u de WebJobs SDK gebruikt NuGet en npm
Kan deel uitmaken van een App Service-toepassing Ja Ja (gehost onder App Service-plan)
Biedt een close-control van JobHost Ja Nr.

Nu u weet welke design-first en code-first technologieën er voor u beschikbaar zijn, hoe verfijnt u dan uw keuzen? Deze vraag komt in de volgende les aan de orde.