Volba správných služeb integrace a automatizace v Azure
Tento článek porovnává tyto cloudové služby společnosti Microsoft:
- Microsoft Power Automate (Microsoft Flow)
- Azure Logic Apps
- Azure Functions
- Azure App Service WebJobs
Všechny tyto služby dokáží řešit problémy s integrací a automatizovat obchodní procesy. Všechny můžou definovat vstup, akce, podmínky a výstup. Každou z nich můžete spouštět podle plánu nebo triggerem. Každá služba má jedinečné výhody a tento článek vysvětluje rozdíly.
Pokud hledáte obecnější srovnání mezi Azure Functions a dalšími možnostmi služby Azure COMPUTE, přečtěte si téma kritéria pro výběr služby COMPUTE Azure a Výběr možnosti Azure COMPUTE pro mikroslužby.
porovnat Microsoft Power Automate a Azure Logic Apps
Power Automate a Logic Apps jsou jak první integrační služby pro návrháře , které můžou vytvářet pracovní postupy. Obě tyto služby se integrují s různými aplikacemi SaaS a podnikovými aplikacemi.
Power Automate je postaven nad Logic Apps. Sdílejí stejného návrháře pracovních postupů a stejné konektory.
Power Automate dá libovolnému pracovníkovi office provádět jednoduché integrace (například proces schvalování v knihovně dokumentů SharePoint) bez toho, aby procházeli vývojáři nebo IT. Logic Apps taky můžou povolit pokročilou integraci (například procesy B2B), kde se vyžadují postupy zabezpečení na podnikové úrovni Azure DevOps a zabezpečení. U obchodních pracovních postupů je typické, že se jejich složitost v průběhu času zvyšuje. Proto můžete začít s tokem v prvním a pak ho převést na aplikaci logiky podle potřeby.
následující tabulka vám pomůže určit, jestli je pro určitou integraci nejvhodnější Power Automate nebo Logic Apps:
| Power Automate | Logic Apps | |
|---|---|---|
| Uživatelé | Administrativní pracovníci, podnikoví uživatelé, správci služby SharePoint | Profesionální integrátoři a vývojáře, IT profesionálové |
| Scénáře | Samoobsluha | Pokročilé integrace |
| Nástroj pro návrh | V prohlížeči a mobilní aplikaci, pouze uživatelské rozhraní | V prohlížeči a sadě Visual Studio, k dispozici je zobrazení kódu |
| Správa životního cyklu aplikací (ALM) | Návrh a testování v neprodukčních prostředích po připraveném zvýšení úrovně na produkční | Azure DevOps: správa zdrojového kódu, testování, podpora, automatizace a možnosti správy v Azure Resource Manager |
| Prostředí pro správu | správa zásad ochrany před únikem informací Power Automate prostředí a prevence ztráty dat, sledování licencování: centrum pro správu | Správa skupin prostředků, připojení, správy přístupu a protokolování: Azure Portal |
| Zabezpečení | Microsoft 365 protokoly auditu zabezpečení, DLP, šifrování v klidovém umístění pro citlivá data | Security Assurance pro Azure: zabezpečení Azure, Microsoft Defender pro Cloud, protokoly auditu |
Porovnání služeb Azure Functions a Azure Logic Apps
Functions a Logic Apps jsou služby Azure, které umožňují provádění úloh bez serveru. Azure Functions je služba compute bez serveru, zatímco Azure Logic Apps poskytuje pracovní postupy bez serveru. Oba můžou vytvářet složitá orchestrace. Orchestrace je kolekce funkcí nebo kroků (v Logic Apps se nazývají akce), jejichž spouštěním se provede složitý úkol. Například pro zpracování dávky objednávek můžete spustit mnoho instancí funkce paralelně, počkat na dokončení všech instancí a potom spustit funkci, která vypočítá výsledek agregace.
K vývoji orchestrací pro Azure Functions se používá zápis kódu a rozšíření Durable Functions. K vytváření orchestrací pro Logic Apps se používá grafické rozhraní (GUI) nebo úprava konfiguračních souborů.
Při sestavování orchestrace lze služby kombinovat, takže je možné volat funkce z aplikací logiky a volat aplikace logiky z funkcí. Způsob sestavování orchestrace volte na základě možností těchto služeb nebo podle svých potřeb. Následující tabulka uvádí některé z klíčových rozdílů mezi těmito:
| Odolná služba Functions | Logic Apps | |
|---|---|---|
| Vývoj | Založeno na kódu (imperativní) | Založeno na návrháři (deklarativní) |
| Připojení | O tucet vestavěných typů vazeb, psaní kódu pro vlastní vazby | velká kolekce konektorů, Enterprise Integration Pack pro scénáře B2B, sestavení vlastních konektorů |
| Akce | Každá aktivita je funkce Azure; zápis kódu pro funkce aktivity | Rozsáhlá kolekce předdefinovaných akcí |
| Monitorování | Application Insights Azure | Azure Portal, protokoly Azure monitor |
| správy | REST API Visual Studio | Azure Portal, REST API, PowerShell, Visual Studio |
| Kontext spuštění | Může běžet místně nebo v cloudu. | Spouští se jenom v cloudu. |
Porovnání služeb Functions a WebJobs
Podobně jako Azure Functions je služba Azure App Service WebJobs se sadou WebJobs SDK integrační služba založená na kódu a navržená pro vývojáře. Obě jsou postavené na službě Azure App Service a podporují funkce, jako jsou integrace správy zdrojového kódu, ověřování a integrace monitorování pomocí Application Insights.
Služba WebJobs a sada WebJobs SDK
Funkci WebJobs App Service můžete použít ke spuštění skriptu nebo kódu v kontextu webové aplikace App Service. Sada WebJobs SDK je architektura navržená pro službu WebJobs, která zjednodušuje psaní kódu pro reakci na události ve službách Azure. například můžete reagovat na vytvoření objektu blob obrázku v Azure Storage vytvořením obrázku miniatury. Sada WebJobs SDK se spouští jako konzolová aplikace .NET, kterou nasadíte do webové úlohy.
Služba WebJobs a sada WebJobs SDK fungují nejlépe společně, ale můžete použít i službu WebJobs bez sady WebJobs SDK a naopak. Ve službě WebJobs je možné spustit jakýkoli program nebo skript, který se spouští v sandboxu služby App Service. Konzolovou aplikaci WebJobs SDK je možné spustit kdekoli, kde se konzolová aplikace spouští, například na místních serverech.
Srovnávací tabulka
Služba Azure Functions je postavená na sadě WebJobs SDK, takže sdílí řadu stejných aktivačních událostí a připojení k dalším službám Azure. Tady je několik faktorů, které je potřeba vzít v úvahu při výběru mezi Azure Functions a WebJobs se sadou WebJobs SDK:
| Functions | Služba WebJobs se sadou WebJobs SDK | |
|---|---|---|
| Model aplikace bez serveru s automatickým škálováním | ✔ | |
| Vývoj a testování v prohlížeči | ✔ | |
| Ceny s platbami za použití | ✔ | |
| Integrace s Logic Apps | ✔ | |
| Aktivační události | Časovač Fronty a objekty blob služby Azure Storage Fronty a témata služby Azure Service Bus Azure Cosmos DB Azure Event Hubs HTTP/Webhook (GitHub, Slack) Azure Event Grid |
Časovač Fronty a objekty blob služby Azure Storage Fronty a témata služby Azure Service Bus Azure Cosmos DB Azure Event Hubs Systém souborů |
| Podporované jazyky | C# F# JavaScript Java Python PowerShell |
C#1 |
| Správci balíčků | NPM a NuGet | NuGet2 |
1 Služba WebJobs (bez sady WebJobs SDK) podporuje jazyky C#, Java, JavaScript, Bash, .cmd, .bat, PowerShell, PHP, TypeScript, Python a další. Toto není vyčerpávající seznam. Ve webové úloze je možné spustit jakýkoli program nebo skript, který je možné spustit v sandboxu služby App Service.
2 Webové úlohy (bez sady WebJobs SDK) podporují NPM a NuGet.
Souhrn
Azure Functions nabízí vyšší produktivitu vývojářů než Azure App Service webjobs. Nabízí také více možností pro programovací jazyky, vývojová prostředí, integraci služeb Azure a ceny. Pro většinu scénářů se jedná o nejlepší volbu.
Tady jsou dva scénáře, pro které může být nejlepší volbou služba WebJobs:
- Potřebujete větší kontrolu nad kódem objektu
JobHost, který naslouchá událostem. Služba Functions nabízí omezené možnosti přizpůsobení chování objektuJobHostv souboru host.json. Někdy potřebujete provádět operace, které není možné zadat řetězcem v souboru JSON. Například vlastní zásadu opakování pro službu Azure Storage umožňuje vytvořit pouze sada WebJobs SDK. - Máte aplikaci App Service, pro kterou chcete spouštět fragmenty kódu, a chcete je spravovat společně ve stejném Azure DevOps prostředí.
Pro jiné scénáře, kdy chcete spouštět fragmenty kódu pro integraci služeb Azure nebo třetích stran, místo služby WebJobs se sadou WebJobs SDK zvolte Azure Functions.
Power Automate, Logic Apps, Functions a WebJobs
Nemusíte vybírat jen jednu z těchto služeb. Integrují se navzájem stejně jako s externími službami.
Tok může volat aplikaci logiky. Aplikace logiky může volat funkci a funkce může volat aplikaci logiky. Viz například Vytvoření funkce, která se integruje s Azure Logic Apps.
Integrace mezi Power Automate, Logic Apps a Functions se v průběhu času neustále vylepšuje. Můžete něco vytvořit v jedné službě a používat to v ostatních službách.
Další informace o integračních službách můžete získat pomocí následujících odkazů:
- Leveraging Azure Functions & Azure App Service for integration scenarios by Christopher Anderson (Využití služeb Azure Functions a Azure App Service pro scénáře integrace, autor: Christopher Anderson)
- Integrations Made Simple by Charles Lamanna (Zjednodušená integrace, autor: Charlese Lamanna)
- Logic Apps živého webového vysílání
- Power Automate nejčastější dotazy
Další kroky
Začněte vytvořením svého prvního toku, aplikace logiky nebo aplikace funkcí. Vyberte některý z následujících odkazů: