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 Beräkningsalternativ för Azure:
- Kriterier för val av en Azure-beräkningstjänst
- Välja ett Azure-beräkningsalternativ för mikrotjänster
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 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, 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 Portal |
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 Portal, 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 anpassaJobHost
-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:
- 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 med Logic Apps
- 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: