Välja rätt integrerings- och automationstjänster i Azure

Den här artikeln jämför följande Microsoft-molntjänster:

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.

Om du vill ha en mer allmän jämförelse mellan Azure Functions och andra Beräkningsalternativ i Azure kan du läsa Kriterier för att välja en Azure-beräkningstjänst och Välja ett Azure-beräkningsalternativför mikrotjänster .

Jämför Microsoft Power Automate och Azure Logic Apps

Power Automate och Logic Apps båda integreringstjänster i designern som kan skapa arbetsflöden. Båda tjänsterna integreras med olika SaaS- och företagsprogram.

Power Automate bygger på Logic Apps. De delar samma arbetsflödesdesigner och samma anslutningsappar.

Power Automate kan kontorsarbetare utföra enkla integreringar (till exempel en godkännandeprocess i ett SharePoint-dokumentbibliotek) utan att gå via utvecklare eller IT. Logic Apps kan även användas för att göra avancerade integreringar (till exempel B2B-processer) där Azure DevOps och säkerhetsåtgärder på företagsnivå krävs. Det är vanligt att företagsarbetsflöden växer i komplexitet med tiden. Därför går det bra att börja med ett enkelt flöde och sedan konvertera det till en logikapp efter behov.

Följande tabell hjälper dig att avgöra om Power Automate eller Logic Apps passar bäst för en viss integrering:

Power Automate Logic Apps
Användare Kontorsarbetarna, användare i verksamheten, SharePoint-administratörer Professionella integratörer och utvecklare, IT-proffs
Scenarier Självbetjäning Avancerade integreringar
Designverktyg I webbläsaren och mobilappen, endast användargränssnitt I webbläsaren och Visual Studio, kodvyer är tillgängliga
Application Lifecycle Management (ALM) Utforma och testa i icke-produktionsmiljöer, skicka till produktion när det är klart Azure DevOps: källkontroll, testning, support, automatisering och hanterbarhet i Azure Resource Manager
Administratörsupplevelse Hantera Power Automate miljöer och principer för dataförlustskydd (DLP), spåra licensiering: Administrationscenter Hantera resursgrupper, anslutningar, åtkomsthantering och loggning: Azure Portal
Säkerhet Microsoft 365 säkerhetsgranskningsloggar, DLP, kryptering i vila för känsliga data Säkerhetsgaranti för Azure: Azure-säkerhet, Azure Security Center, granskningsloggar

Jämföra Azure Functions och Azure Logic Apps

Functions och Logic Apps är Azure-tjänster som möjliggör serverlösa arbetsbelastningar. Azure Functions är en serverlös beräkningstjänst, medan Azure Logic Apps tillhandahåller serverlösa arbetsflöden. Båda kan skapa komplexa orkestreringar. En orkestrering är en samling funktioner eller steg, som kallas åtgärder som utförs i Logic Apps, som körs för att utföra en komplicerad 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. Med Logic Apps skapar du orkestreringarna genom att använda ett grafiskt användargränssnitt eller redigera konfigurationsfiler.

Du kan kombinera tjänsterna när du skapar en orkestrering och anropa funktioner från logikappar och logikappar 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 av de viktigaste skillnaderna mellan dessa:

Bestående funktioner Logic Apps
Utveckling Kod först (imperativt) Design först (deklarativt)
Anslutningsmöjligheter Cirka ett dussintal inbyggda bindningstyper, skriv kod för anpassade bindningar Stor samling anslutningsappar,Enterprise-integrationspaket för B2B-scenarier, skapa anpassade anslutningsappar
Åtgärder Varje åtgärd är en Azure-funktion. Skriv kod för åtgärdsfunktioner Stor samling färdiga åtgärder
Övervakning Azure Application Insights Azure Portal, Azure Monitor loggar
Hantering REST API, Visual Studio Azure Portal, REST API, PowerShell, Visual Studio
Körningskontext Kan köras lokalt eller i molnet Körs bara i molnet

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:

Functions WebJobs med Webjobs-SDK:n
Serverlös appmodell med automatisk skalning
Utveckla och testa i webbläsare
Betala per användning
Integrering med Logic Apps
Utlösarhändelser Timer
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
Timer
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 C#, Java, JavaScript, Bash, .cmd, .bat, PowerShell, PHP, TypeScript, Python med mera. Den här listan är inte omfattande. Ett WebJob kan köra vilket program eller skript som helst som kan köras i App Service-sandboxen.

2 WebJobs (utan WebJobsSDK:n) 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 följer två scenarier för vilka WebJobs 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 anpassa JobHost-beteendet i host.json-filen. Ibland måste du behöva göra saker som inte kan anges 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ö.

När det gäller andra scenarier där du vill köra kodfragment för att integrera Azure eller tjänster från tredje part, kan du välja Azure Functions via WebJobs med WebJobs-SDK:n.

Power Automate, Logic Apps, Functions och WebJobs tillsammans

Du behöver inte välja endast en av dessa tjänster. De integreras med varandra lika bra som med externa tjänster.

Ett flöde kan anropa en logikapp. En logikapp kan anropa en funktion, och en funktion kan anropa en logikapp. Läs t.ex. Skapa en funktion som kan integreras med Azure Logic Apps.

Integreringen mellan Power Automate, Logic Apps och Functions fortsätter att förbättras med tiden. Det går bra att skapa något i en tjänst och sedan använda detsamma i de andra tjänsterna.

Det finns mer information om integreringstjänster via följande länkar:

Nästa steg

Kom igång genom att skapa ditt första flöde, din första logikapp eller din första funktionsapp. Välj någon av följande länkar: