Kies de juiste integratie- en automatiseringsservices in Azure
In dit artikel worden de volgende Microsoft-cloudservices vergeleken:
- Microsoft Power Automate (vroeger Microsoft Flow)
- Azure Logic Apps
- Azure Functions
- Azure App Service WebJobs
Al deze services kunnen integratieproblemen oplossen en bedrijfsprocessen automatiseren. Ze kunnen allemaal input, acties, voorwaarden en output definiëren. U kunt ze allemaal uitvoeren volgens een planning of na een trigger. Elke service biedt unieke voordelen en in dit artikel worden de verschillen uitgelegd.
Zie Criteria voor het kiezen van een Azure-rekenservice en Een Azure-rekenoptie kiezen voor microservices als u een meer algemene vergelijking wilt tussen Azure Functions en Azure-rekenopties.
Microsoft Power Automate en Azure Logic Apps vergelijken
Power Automate en Azure Logic Apps zijn beide designer-first integratieservices waarmee werkstromen kunnen worden gemaakt. Beide services integreren met verschillende SaaS- en bedrijfstoepassingen.
Power Automate is gebaseerd op Logic Apps. Ze hebben dezelfde ontwerpfunctie voor werkstromen en dezelfde connectors.
Power Automate stelt kantoormedewerkers in staat om eenvoudige integraties tot stand te brengen (bijvoorbeeld een goedkeuringsproces voor een documentbibliotheek in SharePoint) zonder tussenkomst van ontwikkelaars of IT. Logic Apps maakt het ook mogelijk om geavanceerde integraties te realiseren (zoals B2B-processen) waarvoor Azure DevOps-beveiligingsprocessen op ondernemingsniveau zijn vereist. Het is normaal dat een werkstroom voor een bedrijfsproces na verloop van tijd toeneemt in complexiteit. U kunt daarom eerst met een stroom beginnen en deze later omzetten in een logische app als dat nodig is.
Raadpleeg de volgende tabel om te bepalen of Power Automate of Logic Apps het meest geschikt is voor een bepaalde integratie:
| Power Automate | Logic Apps | |
|---|---|---|
| Gebruikers | Kantoorpersoneel, zakelijke gebruikers, SharePoint-beheerders | Professionele integrators en ontwikkelaars, IT-professionals |
| Scenario's | Selfservice | Geavanceerde integraties |
| Ontwerpomgeving | In browser en mobiele app, alleen UI | In browser en Visual Studio, codeweergave beschikbaar |
| Application lifecycle management (ALM) | Ontwerpen en testen in niet-productieomgevingen, niveau verhogen naar productie wanneer u klaar bent | Azure DevOps: broncodebeheer, testen, ondersteuning, automatisering en beheersbaarheid in Azure Resource Manager |
| Beheerervaring | Beleidsregels voor Power Automate-omgevingen en preventie van gegevensverlies beheren, licenties bijhouden: Beheercentrum | Resourcegroepen, verbindingen, toegangsbeheer en logboekregistratie beheren: Azure-portal |
| Beveiliging | Microsoft 365-logboeken voor beveiligingscontrole, preventie van gegevensverlies, inactieve versleuteling voor gevoelige gegevens | Beveiligingsgarantie van Azure: Azure-beveiliging, Microsoft Defender for Cloud, auditlogboeken |
Azure Functions en Azure Logic Apps vergelijken
Functions en Logic Apps zijn Azure-services waarmee serverloze werkbelastingen mogelijk worden gemaakt. Azure Functions is een serverloze rekenservice, terwijl Azure Logic Apps serverloze werkstromen biedt. Met beide kunnen complexe indelingen worden gemaakt. Een indeling bestaat uit een verzameling functies of stappen, acties genoemd, in Logic Apps, die worden uitgevoerd om een complexe taak te volbrengen. Als u bijvoorbeeld een reeks orders wilt verwerken, kunt u een aantal instanties van een functie parallel uitvoeren, wachten tot alle instanties zijn voltooid en vervolgens een functie uitvoeren die het resultaat voor de combinatie berekent.
Met Azure Functions ontwikkelt u indelingen door code te schrijven en de extensie Durable Functions te gebruiken. Met Logic Apps maakt u indelingen door gebruik te maken van een GUI of door configuratiebestanden te bewerken.
U kunt services combineren en matchen als u een indeling bouwt, waarbij u functies aanroept vanuit logische apps en logische apps aanroept vanuit functies. U kunt kiezen hoe u elke indeling bouwt op basis van de mogelijkheden van de services of van uw persoonlijke voorkeur. De volgende tabel vermeldt de belangrijkste verschillen tussen:
| Durable Functions | Logic Apps | |
|---|---|---|
| Ontwikkeling | Code-first (imperatief) | Designer-first (declaratief) |
| Connectiviteit | Circa 15 bindingstypen; code schrijven voor aangepaste bindingen | Grote verzameling connectors, Enterprise Library Integration Pack voor B2B-scenario's; aangepaste bindingen ontwikkelen |
| Acties | Elke activiteit is een Azure-functie; code schrijven voor de activiteitsfuncties | Grote verzameling kant-en-klare acties |
| Controle | Azure Application Insights | Azure Portal, Azure Monitor-Logboeken |
| Beheer | REST API, Visual Studio | Azure Portal, REST API, PowerShell, Visual Studio |
| Context voor uitvoering | Kan lokaal of in de cloud worden uitgevoerd | Wordt alleen in de cloud uitgevoerd |
Functions en WebJobs vergelijken
Azure App Service WebJobs met de WebJobs SDK is net als Azure Functions een integratieservice waarbij code op de eerste plaats komt en die is ontworpen voor ontwikkelaars. Beide zijn gebaseerd op Azure App Service en ondersteunen functies zoals integratie van broncodebeheer, verificatie en bewaking met Application Insights-integratie.
WebJobs en de WebJobs-SDK
U kunt de WebJobs-functie van App Service gebruiken om een script of code uit te voeren in de context van een App Service-web-app. De WebJobs SDK is een framework dat is ontworpen voor WebJobs dat de code vereenvoudigt die u schrijft om te reageren op gebeurtenissen in Azure-services. U kunt bijvoorbeeld reageren op een afbeeldingsblob die in Azure Storage is gemaakt door een miniatuurafbeelding te maken. De WebJobs SDK wordt uitgevoerd als een .NET-consoletoepassing die u op een WebJob kunt implementeren.
WebJobs en de WebJobs SDK werken samen het beste, maar u kunt WebJobs ook zonder de WebJobs SDK gebruiken en vice versa. Een WebJob kan elk programma of script uitvoeren dat in de App Service-sandbox wordt uitgevoerd. Een WebJobs SDK-consoletoepassing kan overal worden uitgevoerd waar consoletoepassingen worden uitgevoerd, zoals op on-premises servers.
Vergelijkingstabel
Azure Functions is gebaseerd op de WebJobs SDK en deelt daarom veel triggers en verbindingen met andere Azure-services. Hier volgt een aantal factoren om te overwegen als u kiest tussen Azure Functions en WebJobs met de WebJobs SDK:
| Functions | WebJobs met WebJobs SDK | |
|---|---|---|
| App-model zonder server met automatisch schalen | ✔ | |
| Ontwikkelen en testen in de browser | ✔ | |
| Betalen per gebruik | ✔ | |
| Integratie met Logic Apps | ✔ | |
| Trigger-gebeurtenissen | Timer Azure Storage-wachtrijen en -blobs Azure Service Bus-wachtrijen en -onderwerpen Azure Cosmos DB Azure Event Hubs HTTP/WebHook (GitHub, Slack) Azure Event Grid |
Timer Azure Storage-wachtrijen en -blobs Azure Service Bus-wachtrijen en -onderwerpen Azure Cosmos DB Azure Event Hubs Bestandssysteem |
| Ondersteunde talen | C# F# Javascript Java Python PowerShell |
C#1 |
| Pakketbeheer | NPM en NuGet | NuGet2 |
1 WebJobs (zonder de WebJobs SDK) biedt ondersteuning voor C#, Java, JavaScript, Bash, .cmd, .bat, PowerShell, PHP, TypeScript, Python en meer. Dit is geen allesomvattende lijst. Een WebJob kan elk programma of script uitvoeren dat in de App Service-sandbox kan worden uitgevoerd.
2 WebJobs (zonder de WebJobs SDK) ondersteunt NPM en NuGet.
Samenvatting
Azure Functions biedt ontwikkelaars meer productiviteit dan Azure App Service WebJobs. Het biedt tevens meer opties voor programmeertalen, ontwikkelomgevingen, Azure-service-integratie en prijzen. Deze oplossing is voor de meeste scenario's de beste keuze.
Hier volgen twee scenario's waarvoor WebJobs de beste keuze kan zijn:
- U hebt meer controle nodig over de code die naar gebeurtenissen luistert, het
JobHost-object. Functions biedt een beperkt aantal manieren omJobHost-gedrag aan te passen in het host.json-bestand. Soms moet u acties uitvoeren die niet met een tekenreeks in een JSON-bestand kunnen worden opgegeven. U kunt bijvoorbeeld alleen met de WebJobs SDK een aangepast beleid voor opnieuw proberen voor Azure Storage configureren. - U hebt een App Service-app waarvoor u codefragmenten wilt uitvoeren en u wilt deze gezamenlijk beheren in dezelfde Azure DevOps-omgeving.
Voor andere scenario's waarin u codefragmenten wilt uitvoeren voor de integratie van Azure-services of services van derden, kiest u Azure Functions in plaats van WebJobs en de WebJobs SDK.
Power Automate, Logic Apps, Functions en WebJobs samen
U hoeft niet slechts een van deze services te kiezen. Ze integreren net zo goed met elkaar als met externe services.
Een stroom kan een logische app aanroepen. Een logische app kan een functie aanroepen en een functie kan een logische app aanroepen. Zie bijvoorbeeld Een functie maken die kan worden geïntegreerd met Azure Logic Apps.
De integratie tussen Power Automate, Logic Apps en Functions wordt alleen maar beter. U kunt iets bouwen in de ene service en gebruiken in de andere services.
Gebruik deze koppelingen voor meer informatie over integratieservices:
- Leveraging Azure Functions & Azure App Service for integration scenarios door Christopher Anderson
- Integrations Made Simple door Charles Lamanna
- Logic Apps Live webcast (Live webcast van Logic Apps)
- Veelgestelde vragen over Power Automate-rapporten
Volgende stappen
Begin met het maken van uw eerste stroom, logische app of functie-app. Selecteer een van de volgende koppelingen: