Kies de juiste integratie- en automatiseringsservices in Azure

In dit artikel worden de volgende Microsoft-cloudservices vergeleken:

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.

Zie De Automation-services in Azure kiezen voor een goed overzicht en een goede vergelijking van automatiseringsserviceopties in Azure.

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.

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 de browser, Visual Studio Code en Visual Studio met de 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 Beveiliging van Azure: Azure-beveiliging, Microsoft Defender voor Cloud, auditlogboeken

Azure Functions en Azure Logic Apps vergelijken

Functions en Logic Apps zijn Azure-services waarmee serverloze werkbelastingen mogelijk worden gemaakt. Azure Functions een serverloze rekenservice is, terwijl Azure Logic Apps een serverloze werkstroomintegratieplatform is. Met beide kunnen complexe indelingen worden gemaakt. Een indeling is een verzameling functies of acties in Azure Logic Apps die u kunt uitvoeren om een complexe taak te voltooien. 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. Voor Azure Logic Apps maakt u indelingen met behulp van een GUI of het bewerken van configuratiebestanden.

U kunt services combineren en vergelijken wanneer u een indeling bouwt, zoals het aanroepen van functies vanuit werkstromen voor logische apps en het aanroepen van werkstromen voor logische apps 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 bevat enkele belangrijke verschillen tussen deze services:

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, Microsoft Defender voor Cloud
Beheer REST API, Visual Studio Azure Portal, REST API, PowerShell, Visual Studio
Context voor uitvoering Kan lokaal of in de cloud worden uitgevoerd Wordt uitgevoerd in Azure, lokaal of on-premises. Zie Wat is Azure Logic Apps voor meer informatie.

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) ondersteunt talen zoals C#, Java, JavaScript, Bash, .cmd, .bat, PowerShell, PHP, TypeScript, Python en meer. 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 om JobHost-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 met elkaar en met externe services.

Een Power Automate-stroom kan een Azure Logic Apps-werkstroom aanroepen. Een Azure Logic Apps-werkstroom kan een functie aanroepen in Azure Functions en omgekeerd. Zie Bijvoorbeeld Een functie maken die is geïntegreerd met Azure Logic Apps.

Tussen Power Automate, Logic Apps en Functions blijft de integratie-ervaring tussen deze services in de loop van de tijd verbeteren. U kunt een onderdeel bouwen in de ene service en dat onderdeel gebruiken in de andere services.

Gebruik deze koppelingen voor meer informatie over integratieservices:

Volgende stappen

Ga aan de slag door uw eerste stroom, werkstroom voor logische apps of functie-app te maken. Selecteer een van de volgende koppelingen: