Wat is Microsoft Flow, Logic Apps, Functions en WebJobs?What are Microsoft Flow, Logic Apps, Functions, and WebJobs?

In dit artikel worden de volgende Microsoft-cloudservices vergeleken:This article compares the following Microsoft cloud services:

Al deze services kunnen integratieproblemen oplossen en bedrijfsprocessen automatiseren.All of these services can solve integration problems and automate business processes. Ze kunnen allemaal input, acties, voorwaarden en output definiëren.They can all define input, actions, conditions, and output. U kunt ze allemaal uitvoeren volgens een planning of na een trigger.You can run each of them on a schedule or trigger. Elke service biedt unieke voordelen en in dit artikel worden de verschillen uitgelegd.Each service has unique advantages, and this article explains the differences.

Zie criteria voor het kiezen van een Azure compute-service en het kiezen van een Azure Compute-optie voor micro Servicesals u op zoek bent naar een meer algemene vergelijking tussen Azure functions en andere opties voor Azure compute.If you're looking for a more general comparison between Azure Functions and other Azure compute options, see Criteria for choosing an Azure compute service and Choosing an Azure compute option for microservices.

Microsoft Flow en Azure Logic Apps vergelijkenCompare Microsoft Flow and Azure Logic Apps

Microsoft Flow en Azure Logic Apps zijn beide designer-first integratieservices waarmee werkstromen kunnen worden gemaakt.Microsoft Flow and Logic Apps are both designer-first integration services that can create workflows. Beide services integreren met verschillende SaaS- en bedrijfstoepassingen.Both services integrate with various SaaS and enterprise applications.

Microsoft Flow is gebaseerd op Logic Apps.Microsoft Flow is built on top of Logic Apps. Ze hebben dezelfde ontwerpfunctie voor werkstromen en dezelfde connectors.They share the same workflow designer and the same connectors.

Microsoft Flow 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.Microsoft Flow empowers any office worker to perform simple integrations (for example, an approval process on a SharePoint Document Library) without going through developers or IT. Logic Apps maakt het ook mogelijk om geavanceerde integraties te realiseren (zoals B2B-processen) waarvoor Azure DevOps-beveiligingsprocessen op ondernemingsniveau zijn vereist.Logic Apps can also enable advanced integrations (for example, B2B processes) where enterprise-level Azure DevOps and security practices are required. Het is normaal dat een werkstroom voor een bedrijfsproces na verloop van tijd toeneemt in complexiteit.It's typical for a business workflow to grow in complexity over time. U kunt daarom eerst met een stroom beginnen en deze later omzetten in een logische app als dat nodig is.Accordingly, you can start with a flow at first, and then convert it to a logic app as needed.

Raadpleeg de volgende tabel om te bepalen of Microsoft Flow of Logic Apps het meest geschikt is voor een bepaalde integratie:The following table helps you determine whether Microsoft Flow or Logic Apps is best for a particular integration:

Microsoft FlowMicrosoft Flow Logische appsLogic Apps
GebruikersUsers Kantoorpersoneel, zakelijke gebruikers, SharePoint-beheerdersOffice workers, business users, SharePoint administrators Professionele integrators en ontwikkelaars, IT-professionalsPro integrators and developers, IT pros
Scenario'sScenarios Self serviceSelf-service Geavanceerde integratiesAdvanced integrations
OntwerpomgevingDesign tool In browser en mobiele app, alleen UIIn-browser and mobile app, UI only In browser en Visual Studio, codeweergave beschikbaarIn-browser and Visual Studio, Code view available
Application lifecycle management (ALM)Application lifecycle management (ALM) Ontwerpen en testen in niet-productieomgevingen, niveau verhogen naar productie wanneer u klaar bentDesign and test in non-production environments, promote to production when ready Azure DevOps: broncodebeheer, testen, ondersteuning, automatisering en beheersbaarheid in Azure Resource ManagerAzure DevOps: source control, testing, support, automation, and manageability in Azure Resource Manager
BeheerervaringAdmin experience Microsoft Flow omgevingen en beleid voor preventie van gegevens verlies (DLP) beheren, licenties volgen: Microsoft flow beheer centrumManage Microsoft Flow environments and data loss prevention (DLP) policies, track licensing: Microsoft Flow Admin Center Resource groepen, verbindingen, Toegangs beheer en logboek registratie beheren: Azure PortalManage resource groups, connections, access management, and logging: Azure portal
BeveiligingSecurity Office 365-beveiliging en auditlogboeken voor naleving, preventie van gegevensverlies, inactieve versleuteling voor gevoelige gegevensOffice 365 Security and Compliance audit logs, DLP, encryption at rest for sensitive data Beveiligings zekerheid van Azure: Azure-beveiliging, Azure Security Center, audit logboekenSecurity assurance of Azure: Azure security, Azure Security Center, audit logs

Azure Functions en Azure Logic Apps vergelijkenCompare Azure Functions and Azure Logic Apps

Functions en Logic Apps zijn Azure-services waarmee serverloze werkbelastingen mogelijk worden gemaakt.Functions and Logic Apps are Azure services that enable serverless workloads. Azure Functions is een serverloze rekenservice, terwijl Azure Logic Apps serverloze werkstromen biedt.Azure Functions is a serverless compute service, whereas Azure Logic Apps provides serverless workflows. Met beide kunnen complexe indelingen worden gemaakt.Both can create complex orchestrations. Een indeling bestaat uit een verzameling functies of stappen, acties genoemd, in Logic Apps, die worden uitgevoerd om een complexe taak te volbrengen.An orchestration is a collection of functions or steps, called actions in Logic Apps, that are executed to accomplish a complex task. 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.For example, to process a batch of orders, you might execute many instances of a function in parallel, wait for all instances to finish, and then execute a function that computes a result on the aggregate.

Met Azure Functions ontwikkelt u indelingen door code te schrijven en de extensie Durable Functions te gebruiken.For Azure Functions, you develop orchestrations by writing code and using the Durable Functions extension. Met Logic Apps maakt u indelingen door gebruik te maken van een GUI of door configuratiebestanden te bewerken.For Logic Apps, you create orchestrations by using a GUI or editing configuration files.

U kunt services combineren en matchen als u een indeling bouwt, waarbij u functies aanroept vanuit logische apps en logische apps aanroept vanuit functies.You can mix and match services when you build an orchestration, calling functions from logic apps and calling logic apps from functions. U kunt kiezen hoe u elke indeling bouwt op basis van de mogelijkheden van de services of van uw persoonlijke voorkeur.Choose how to build each orchestration based on the services' capabilities or your personal preference. In de volgende tabel worden de belangrijkste verschillen tussen deze services vermeld:The following table lists some of the key differences between these services:

Durable FunctionsDurable Functions Logische appsLogic Apps
OntwikkelingDevelopment Code-first (imperatief)Code-first (imperative) Designer-first (declaratief)Designer-first (declarative)
ConnectiviteitConnectivity Circa 15 bindingstypen; code schrijven voor aangepaste bindingenAbout a dozen built-in binding types, write code for custom bindings Grote verzameling connectors, Enterprise Library Integration Pack voor B2B-scenario's; aangepaste bindingen ontwikkelenLarge collection of connectors, Enterprise Integration Pack for B2B scenarios, build custom connectors
ActiesActions Elke activiteit is een Azure-functie; code schrijven voor de activiteitsfunctiesEach activity is an Azure function; write code for activity functions Grote verzameling kant-en-klare actiesLarge collection of ready-made actions
ControlerenMonitoring Azure Application InsightsAzure Application Insights Azure Portal, Azure Monitor-LogboekenAzure portal, Azure Monitor logs
BeheerManagement REST API, Visual StudioREST API, Visual Studio Azure Portal, REST API, PowerShell, Visual StudioAzure portal, REST API, PowerShell, Visual Studio
Context voor uitvoeringExecution context Kan lokaal of in de cloud worden uitgevoerdCan run locally or in the cloud Wordt alleen in de cloud uitgevoerdRuns only in the cloud

Functions en WebJobs vergelijkenCompare Functions and WebJobs

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.Like Azure Functions, Azure App Service WebJobs with the WebJobs SDK is a code-first integration service that is designed for developers. Beide zijn gebaseerd op Azure App Service en ondersteunen functies zoals integratie van broncodebeheer, verificatie en bewaking met Application Insights-integratie.Both are built on Azure App Service and support features such as source control integration, authentication, and monitoring with Application Insights integration.

WebJobs en de WebJobs-SDKWebJobs and the 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.You can use the WebJobs feature of App Service to run a script or code in the context of an 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.The WebJobs SDK is a framework designed for WebJobs that simplifies the code you write to respond to events in Azure services. U kunt bijvoorbeeld reageren op een afbeeldingsblob die in Azure Storage is gemaakt door een miniatuurafbeelding te maken.For example, you might respond to the creation of an image blob in Azure Storage by creating a thumbnail image. De WebJobs SDK wordt uitgevoerd als een .NET-consoletoepassing die u op een WebJob kunt implementeren.The WebJobs SDK runs as a .NET console application, which you can deploy to a WebJob.

WebJobs en de WebJobs SDK werken samen het beste, maar u kunt WebJobs ook zonder de WebJobs SDK gebruiken en vice versa.WebJobs and the WebJobs SDK work best together, but you can use WebJobs without the WebJobs SDK and vice versa. Een WebJob kan elk programma of script uitvoeren dat in de App Service-sandbox wordt uitgevoerd.A WebJob can run any program or script that runs in the App Service sandbox. Een WebJobs SDK-consoletoepassing kan overal worden uitgevoerd waar consoletoepassingen worden uitgevoerd, zoals op on-premises servers.A WebJobs SDK console application can run anywhere console applications run, such as on-premises servers.

VergelijkingstabelComparison table

Azure Functions is gebaseerd op de WebJobs SDK en deelt daarom veel triggers en verbindingen met andere Azure-services.Azure Functions is built on the WebJobs SDK, so it shares many of the same event triggers and connections to other Azure services. Hier volgt een aantal factoren om te overwegen als u kiest tussen Azure Functions en WebJobs met de WebJobs SDK:Here are some factors to consider when you're choosing between Azure Functions and WebJobs with the WebJobs SDK:

FunctiesFunctions WebJobs met WebJobs SDKWebJobs with WebJobs SDK
App-model zonder server met automatisch schalenServerless app model with automatic scaling
Ontwikkelen en testen in de browserDevelop and test in browser
Betalen per gebruikPay-per-use pricing
Integratie met Logic AppsIntegration with Logic Apps
Trigger-gebeurtenissenTrigger events TimerTimer
Azure Storage-wachtrijen en -blobsAzure Storage queues and blobs
Azure Service Bus-wachtrijen en -onderwerpenAzure Service Bus queues and topics
Azure Cosmos DBAzure Cosmos DB
Azure Event HubsAzure Event Hubs
HTTP/WebHook (GitHub, Slack)HTTP/WebHook (GitHub, Slack)
Azure Event GridAzure Event Grid
TimerTimer
Azure Storage-wachtrijen en -blobsAzure Storage queues and blobs
Azure Service Bus-wachtrijen en -onderwerpenAzure Service Bus queues and topics
Azure Cosmos DBAzure Cosmos DB
Azure Event HubsAzure Event Hubs
BestandssysteemFile system
Ondersteunde talenSupported languages C#C#
F#F#
JavascriptJavaScript
JavaJava
PythonPython
C#1C#1
PakketbeheerPackage managers NPM en NuGetNPM and NuGet NuGet2NuGet2

1 webjobs (zonder de webjobs SDK) ondersteunt C#, Java, java script, bash,. cmd,. bat, Power shell, PHP, type script, python en meer.1 WebJobs (without the WebJobs SDK) supports C#, Java, JavaScript, Bash, .cmd, .bat, PowerShell, PHP, TypeScript, Python, and more. Dit is geen allesomvattende lijst.This is not a comprehensive list. Een WebJob kan elk programma of script uitvoeren dat in de App Service-sandbox kan worden uitgevoerd.A WebJob can run any program or script that can run in the App Service sandbox.

2 WebJobs (zonder de WebJobs SDK) ondersteunt NPM en NuGet.2 WebJobs (without the WebJobs SDK) supports NPM and NuGet.

SamenvattingSummary

Azure Functions biedt ontwikkelaars meer productiviteit dan Azure App Service WebJobs.Azure Functions offers more developer productivity than Azure App Service WebJobs does. Het biedt tevens meer opties voor programmeertalen, ontwikkelomgevingen, Azure-service-integratie en prijzen.It also offers more options for programming languages, development environments, Azure service integration, and pricing. Deze oplossing is voor de meeste scenario's de beste keuze.For most scenarios, it's the best choice.

Hier volgen twee scenario's waarvoor WebJobs de beste keuze kan zijn:Here are two scenarios for which WebJobs may be the best choice:

  • U hebt meer controle nodig over de code die naar gebeurtenissen luistert, het JobHost-object.You need more control over the code that listens for events, the JobHost object. Functions biedt een beperkt aantal manieren om JobHost-gedrag aan te passen in het host.json-bestand.Functions offers a limited number of ways to customize JobHost behavior in the host.json file. Soms moet u acties uitvoeren die niet met een tekenreeks in een JSON-bestand kunnen worden opgegeven.Sometimes you need to do things that can't be specified by a string in a JSON file. U kunt bijvoorbeeld alleen met de WebJobs SDK een aangepast beleid voor opnieuw proberen voor Azure Storage configureren.For example, only the WebJobs SDK lets you configure a custom retry policy for Azure Storage.
  • U hebt een App Service-app waarvoor u codefragmenten wilt uitvoeren en u wilt deze gezamenlijk beheren in dezelfde Azure DevOps-omgeving.You have an App Service app for which you want to run code snippets, and you want to manage them together in the same Azure DevOps environment.

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.For other scenarios where you want to run code snippets for integrating Azure or third-party services, choose Azure Functions over WebJobs with the WebJobs SDK.

Microsoft Flow, Logic Apps, Functions en WebJobs samenMicrosoft Flow, Logic Apps, Functions, and WebJobs together

U hoeft niet slechts een van deze services te kiezen.You don't have to choose just one of these services. Ze integreren net zo goed met elkaar als met externe services.They integrate with each other as well as they do with external services.

Een stroom kan een logische app aanroepen.A flow can call a logic app. Een logische app kan een functie aanroepen en een functie kan een logische app aanroepen.A logic app can call a function, and a function can call a logic app. Zie bijvoorbeeld Een functie maken die kan worden geïntegreerd met Azure Logic Apps.See, for example, Create a function that integrates with Azure Logic Apps.

De integratie tussen Microsoft Flow, Logic Apps en Functions wordt alleen maar beter.The integration between Microsoft Flow, Logic Apps, and Functions continues to improve over time. U kunt iets bouwen in de ene service en gebruiken in de andere services.You can build something in one service and use it in the other services.

Gebruik deze koppelingen voor meer informatie over integratieservices:You can get more information on integration services by using the following links:

Volgende stappenNext steps

Begin met het maken van uw eerste stroom, logische app of functie-app.Get started by creating your first flow, logic app, or function app. Selecteer een van de volgende koppelingen:Select any of the following links: