Välja rätt integrerings- och automationstjänster i Azure
Den här artikeln jämför följande Microsoft-molntjänster:
- Microsoft Power Automate (var Microsoft Flow)
- Azure Logic App-appar
- Azure Functions
- Azure App Service WebJobs
Alla dessa tjänster kan lösa integrationsproblem och automatisera affärsprocesser. Samtliga tjänster definierar indata, åtgärder, villkor och utdata. Du kan välja att köra dem enligt ett schema eller med utlösare. Varje tjänst har unika fördelar, och den här artikeln förklarar skillnaderna.
Kommentar
Om du vill ha en mer allmän jämförelse mellan Azure Functions och andra Azure-beräkningsalternativ kan du läsa följande artiklar:
- Kriterier för val av en Azure-beräkningstjänst
- Välja ett Azure-beräkningsalternativ för mikrotjänster
En sammanfattning och jämförelse av automatiseringstjänstalternativ i Azure finns i Välj Automation-tjänster i Azure.
Jämföra Azure Logic Apps och Microsoft Power Automate
Dessa tjänster är båda designer-första integreringsplattformar där du kan skapa och köra automatiserade arbetsflöden. Båda plattformarna integreras med olika SaaS-program (Software-as-a-Service) och företagsprogram. Båda tillhandahåller liknande arbetsflödesdesigners, och även om deras anslutningsappar delar viss överlappning, erbjuder varje plattform också sina egna unika anslutningsappar.
Power Automate ger företagsanvändare, kontorsarbetare och medborgarutvecklare möjlighet att skapa enkla integreringar utan att behöva arbeta med IT eller utvecklare eller skriva kod. Ett exempel kan vara ett arbetsflöde för godkännande för ett SharePoint-dokumentbibliotek. Azure Logic Apps stöder integreringar som sträcker sig från scenarier med lite till ingen kod till mer avancerade, kodiga och komplexa arbetsflöden. Exempel är B2B-processer eller scenarier som kräver interaktioner på företagsnivå med Azure DevOps. Ett affärsarbetsflöde kan också växa från enkelt till slutfört över tid.
Information om hur du avgör om du vill använda Azure Logic Apps eller Power Automate för en specifik integrering finns i tabellen Kapacitetsjämförelse.
Jämföra Azure Functions och Azure Logic Apps
Med de här Azure-tjänsterna kan du skapa och köra serverlösa arbetsbelastningar. Azure Functions är en serverlös beräkningstjänst, medan Azure Logic Apps är en serverlös arbetsflödesintegreringsplattform. Båda kan skapa komplexa orkestreringar. En orkestrering är en samling funktioner, som kallas åtgärder i Azure Logic Apps, som du kan köra för att slutföra en komplex uppgift. För att till exempel bearbeta en batch med ordrar kör du kanske flera instanser av en funktion parallellt, väntar tills alla instanser har slutförts och kör sedan en funktion som beräknar ett resultat för aggregatet.
Med Azure Functions utvecklar du orkestreringarna genom att skriva kod och använda tillägget Varaktiga funktioner. För Azure Logic Apps skapar du orkestreringar med hjälp av en visuell designer eller genom att redigera Azure Resource Manager-mallar.
Du kan blanda och matcha tjänster när du skapar en orkestrering. Du kan till exempel anropa funktioner från logikapparbetsflöden och anropa logikapparbetsflöden från funktioner. Välj hur du skapar varje orkestrering utifrån tjänsternas funktioner eller vad du föredrar. I följande tabell visas några viktiga skillnader mellan dessa tjänster:
Jämföra Functions och WebJobs
Liksom Azure Functions är Azure App Service WebJobs med WebJobs-SDK:n en kodfokuserad integreringstjänst som är avsedd för utvecklare. Båda bygger på Azure App Service och stöder funktioner som källkontrollsintegration, autentisering och övervakning med Application Insights-integration.
WebJobs och WebJobs-SDK:t
Du kan använda WebJobs-funktionen i App Service för att köra ett skript eller kod i kontexten för en App Service-webbapp. WebJobs-SDK:n är ett ramverk som utformats för WebJobs och som förenklar den kod du skriver för att besvara händelser i Azure-tjänsterna. Till exempel kan du svara på skapandet av en avbildningsblob i Azure Storage genom att skapa en miniatyrbild. WebJobs-SDK:n körs som ett .NET-konsolprogram som du kan distribuera till ett WebJob.
WebJobs och WebJobs-SDK:n fungerar bäst tillsammans, men du kan använda WebJobs utan WebJobs-SDK:n och vice versa. Ett WebJob kan köra vilket program eller skript som helst som körs i App Service-sandboxen. Ett WebJobs-SDK-konsolprogram kan köras var som helst där konsolprogram körs, t.ex. på lokala servrar.
Jämförelsetabell
Azure Functions bygger på WebJobs-SDK:n, och delar därför många händelseutlösare och anslutningsappar med andra Azure-tjänster. Här är några faktorer som du bör tänka på när du väljer mellan Azure Functions och WebJobs med WebJobs-SDK:n:
Funktioner | WebJobs med Webjobs-SDK:n | |
---|---|---|
Serverlös appmodell med automatisk skalning | ✔ | |
Utveckla och testa i webbläsaren | ✔ | |
Betala per användning | ✔ | |
Integrering med Logic Apps | ✔ | |
Utlösarhändelser |
Tidtagare Azure Storage-köer och blobar Azure Service Bus-köer och ämnen Azure Cosmos DB Azure Event Hubs HTTP/WebHook (GitHub, Slack) Azure Event Grid |
Tidtagare Azure Storage-köer och blobar Azure Service Bus-köer och ämnen Azure Cosmos DB Azure Event Hubs Filsystem |
Språk som stöds | C# F# JavaScript Java Python PowerShell |
C#1 |
Pakethanterare | npm och NuGet | NuGet2 |
1 WebJobs (utan WebJobs SDK) stöder språk som C#, Java, JavaScript, Bash, .cmd, .bat, PowerShell, PHP, TypeScript, Python med mera. Ett WebJob kan köra vilket program eller skript som helst som kan köras i App Service-sandboxen.
2 WebJobs (utan WebJobs SDK) stöder npm och NuGet.
Sammanfattning
Azure Functions ger mer produktivitet för utvecklare än Azure App Service WebJobs. Det har även fler alternativ för programmeringsspråk, utvecklingsmiljöer och Azure-tjänstintegrering och priser. I de flesta scenarierna är detta det bästa alternativet.
Här är två scenarier där webbjobb kan vara det bästa valet:
- Du behöver mer kontroll över den kod som lyssnar efter händelser,
JobHost
-objektet. Functions erbjuder ett begränsat antal olika sätt för att anpassaJobHost
-beteendet i host.json-filen. Ibland behöver du göra saker som du inte kan ange med hjälp av en sträng i en JSON-fil. Endast WebJobs-SDK:n låter dig konfigurera din egen återförsöksprincip för Azure Storage. - Du har en App Service-app för vilken du vill köra kodavsnitt, och du vill hantera dem tillsammans i samma Azure DevOps-miljö.
För andra scenarier där du vill köra kodfragment för att integrera Azure eller externa tjänster väljer du Azure Functions framför WebJobs med WebJobs SDK.
Power Automate, Logic Apps, Functions och WebJobs tillsammans
Du behöver inte välja endast en av dessa tjänster. De integreras med varandra och med externa tjänster.
Ett Power Automate-flöde kan anropa ett Azure Logic Apps-arbetsflöde. Ett Azure Logic Apps-arbetsflöde kan anropa en funktion i Azure Functions och vice versa. Se till exempel Skapa en funktion som integreras med Azure Logic Apps.
Mellan Power Automate, Azure Logic Apps och Functions fortsätter integreringsupplevelsen mellan dessa tjänster att förbättras med tiden. Du kan skapa en komponent i en tjänst och använda komponenten i de andra tjänsterna.
Mer information om integrationstjänster finns i följande artiklar:
- Artikel av Christopher Anderson om hur man utnyttjar Azure Functions och Azure App Service i integreringsscenarier
- Artikel av Charles Lamanna om hur man förenklar integreringar
- Webbsändning om Azure Logic Apps Live
- Vanliga frågor och svar om Power Automate
Nästa steg
Kom igång genom att skapa ditt första flöde, logikapparbetsflöde eller funktionsapp. Välj någon av följande länkar: