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 (byl 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.
Poznámka:
Pokud hledáte obecnější porovnání mezi Službami Azure Functions a dalšími možnostmi výpočetních prostředků Azure, projděte si následující články:
Souhrn a porovnání možností služby Automation v Azure najdete v tématu Volba služeb Automation v Azure.
Porovnání Azure Logic Apps a Microsoft Power Automate
Tyto služby jsou platformami pro integraci první návrháře , kde můžete vytvářet a spouštět automatizované pracovní postupy. Obě platformy se integrují s různými aplikacemi SaaS (Software jako služba) a podnikovými aplikacemi. Obě poskytují podobné návrháře pracovních postupů a zatímco jejich konektory sdílejí určité překrývající se, každá platforma také nabízí vlastní jedinečné konektory.
Power Automate umožňuje podnikovým uživatelům, pracovníkům kanceláře a vývojářům občanů vytvářet jednoduché integrace bez nutnosti pracovat s IT nebo vývojáři nebo psát kód. Jedním z příkladů může být pracovní postup schválení knihovny dokumentů SharePointu. Azure Logic Apps podporuje integrace od scénářů bez použití kódu až po pokročilejší, kódové a složité pracovní postupy. Mezi příklady patří procesy nebo scénáře B2B, které vyžadují interakce na podnikové úrovni s Azure DevOps. Obchodní pracovní postup se také může v průběhu času rozšiřovat od jednoduchého k dokončení.
Pomoc s určením, jestli chcete použít Azure Logic Apps nebo Power Automate pro konkrétní integraci, najdete v tabulce porovnání schopností.
Porovnání služeb Azure Functions a Azure Logic Apps
Tyto služby Azure umožňují vytvářet a spouštět bezserverové úlohy. Azure Functions je bezserverová výpočetní služba, zatímco Azure Logic Apps je bezserverová platforma pro integraci pracovních postupů. Oba můžou vytvářet složité orchestrace. Orchestrace je kolekce funkcí, které se označují jako akce v Azure Logic Apps, které můžete spustit a dokončit složitý úkol. Pokud například chcete zpracovat dávku objednávek, můžete paralelně spustit mnoho instancí funkce, počkat na dokončení všech instancí a pak 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. Pro Azure Logic Apps vytvoříte orchestrace pomocí vizuálního návrháře nebo úpravou šablon Azure Resource Manageru.
Při vytváření orchestrace můžete kombinovat a shodovat služby. Můžete například volat funkce z pracovních postupů aplikace logiky a volat pracovní postupy 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ěkolik klíčových rozdílů mezi těmito službami:
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
Pomocí funkce WebJobs služby App Service můžete spustit skript nebo kód 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. Můžete například reagovat na vytvoření objektu blob obrázku ve službě Azure Storage vytvořením 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. Při výběru mezi službami Azure Functions a WebJobs pomocí sady WebJobs SDK je potřeba vzít v úvahu několik faktorů:
Funkce | 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 |
Jazyk C#1 |
Správci balíčků | npm a NuGet | NuGet2 |
1 WebJobs (bez sady WebJobs SDK) podporuje jazyky, jako jsou C#, Java, JavaScript, Bash, .cmd, .bat, PowerShell, PHP, TypeScript, Python a další. Ve webové úloze je možné spustit jakýkoli program nebo skript, který je možné spustit v sandboxu služby App Service.
2 WebJobs (bez sady WebJobs SDK) podporuje npm a NuGet.
Shrnutí
Azure Functions nabízí vyšší produktivitu vývojářů, než Aplikace Azure služba WebJobs. Nabízí také další možnosti 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ůžou být nejlepší volbou webové úlohy:
- 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í objektuJobHost
v souboru host.json. Někdy potřebujete udělat věci, které nemůžete zadat pomocí řetězce 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 prostředí Azure DevOps.
V jiných scénářích, ve kterých chcete spouštět fragmenty kódu pro integraci Azure nebo externích služeb, zvolte Službu Azure Functions přes WebJobs se sadou WebJobs SDK.
Power Automate, Logic Apps, Functions a WebJobs společně
Nemusíte si vybírat jenom jednu z těchto služeb. Vzájemně se integrují a s externími službami.
Tok Power Automate může volat pracovní postup Azure Logic Apps. Pracovní postup Azure Logic Apps může volat funkci ve službě Azure Functions a naopak. Podívejte se například na článek Vytvoření funkce, která se integruje s Azure Logic Apps.
Mezi Power Automate, Azure Logic Apps a Functions se prostředí integrace mezi těmito službami neustále vylepšuje. Komponentu můžete sestavit v jedné službě a tuto komponentu použít v ostatních službách.
Další informace o integračních službách najdete v následujících článcích:
- 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)
- Živé webové vysílání Azure Logic Apps
- Nejčastější dotazy k Power Automate
Další kroky
Začněte vytvořením prvního toku, pracovního postupu aplikace logiky nebo aplikace funkcí. Vyberte některý z následujících odkazů: