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.

Kommentar

Om du vill ha en mer allmän jämförelse mellan Azure Functions och andra Beräkningsalternativ för Azure:

För en sammanfattning och jämförelse av automatiseringstjänstalternativ i Azure:

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

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

Power Automate bygger på Azure Logic Apps-plattformen. Båda tillhandahåller liknande arbetsflödesdesigners och anslutningsappar.

Power Automate ger alla kontorsarbetare möjlighet att utföra enkla integreringar (till exempel en godkännandeprocess i ett SharePoint-dokumentbibliotek) utan att gå igenom 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.

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

Power Automate Logic Appss
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, Visual Studio Code och Visual Studio med tillgänglig kodvy
Hantering av programlivscykel (ALM) Power Platform tillhandahåller verktyg som integreras med DevOps och GitHub Actions så att du kan skapa automatiserade pipelines i ALM-cykeln. 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-portalen
Säkerhet Microsoft 365-säkerhetsgranskningsloggar, DLP, kryptering i vila för känsliga data Säkerhetsgaranti för Azure: Azure-säkerhet, Microsoft Defender för molnet, 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 är en serverlös arbetsflödesintegreringsplattform. Båda kan skapa komplexa orkestreringar. En orkestrering är en samling funktioner eller å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 ett GUI eller redigering av konfigurationsfiler.

Du kan blanda och matcha tjänster när du skapar en orkestrering, 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:

Bestående funktioner Azure Logic Program-program
Utveckling Kod först (imperativt) Design först (deklarativt)
Anslutning Ett dussintal inbyggda bindningstyper, skriv kod för anpassade bindningar Stor samling anslutningsprogram, Enterprise-integrationspaket för B2B-scenarier, skapa egna anslutningsprogram
Å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-portalen, Azure Monitor-loggar, Microsoft Defender för molnet
Hantering REST API, Visual Studio Azure Portal, REST API, PowerShell, Visual Studio
Körningskontext Kan köras lokalt eller i molnet Körs i Azure, lokalt eller lokalt. Mer information finns i Vad är Azure Logic Apps.

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 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 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, 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.

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, logikapparbetsflöde eller funktionsapp. Välj någon av följande länkar: