Volba správných služeb integrace a automatizace v Azure

Tento článek porovnává tyto cloudové služby společnosti Microsoft:

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:

Shrnutí a porovnání možností služby Automation v Azure:

Porovnání Microsoft Power Automate a Azure Logic Apps

Power Automate i Azure Logic Apps jsou služby pro integraci první 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 založená na platformě Azure Logic Apps. Oba poskytují podobné návrháře pracovních postupů a konektory.

Power Automate umožňuje všem pracovníkům office provádět jednoduché integrace (například schvalovací proces v knihovně dokumentů SharePointu), aniž by museli procházet vývojáři nebo IT. Logic Apps může také povolit pokročilé integrace (například procesy B2B), ve kterých se vyžadují Azure DevOps na podnikové úrovni a postupy zabezpečení. U obchodních pracovních postupů je typické, že se jejich složitost v průběhu času zvyšuje.

Následující tabulka vám pomůže určit, jestli je pro konkrétní 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 Samoobslužná služba Pokročilé integrace
Návrhový nástroj V prohlížeči a mobilní aplikaci, pouze uživatelské rozhraní V prohlížeči, Visual Studio Code a Visual Studio s dostupným zobrazením kódu
Správa životního cyklu aplikací (ALM) Power Platform poskytuje nástroje , které se integrují s DevOps a GitHub Actions a umožňují vytvářet automatizované kanály v cyklu ALM. Azure DevOps: Správa zdrojového kódu, testování, podpora, automatizace a možnosti správy v Azure Resource Manageru
Prostředí pro správu Správa prostředí Power Automate a zásad ochrany před únikem informací, 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í Protokoly auditu zabezpečení Microsoftu 365, ochrana před únikem informací, šifrování neaktivních uložených dat Zajištění zabezpečení 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 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í nebo akcí 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 vytváříte orchestrace pomocí grafického uživatelského rozhraní nebo úprav konfiguračních souborů.

Služby můžete kombinovat a shodovat při vytváření orchestrace, například volání funkcí z pracovních postupů aplikací logiky a volání pracovních postupů 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:

Odolná služba Functions Azure Logic Apps
Vývoj Založeno na kódu (imperativní) Založeno na návrháři (deklarativní)
Připojení Zhruba tucet předdefinovaných typů vazeb, zápis kódu pro vlastní vazby Rozsáhlá 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í Azure Application Insights Azure Portal, protokoly služby Azure Monitor, Microsoft Defender for Cloud
Správa REST API, Visual Studio Azure Portal, REST API, PowerShell, Visual Studio
Kontext spuštění Může běžet místně nebo v cloudu. Běží v Azure, místně nebo místně. Další informace najdete v tématu Co je Azure Logic Apps.

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ůž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í objektu JobHost v 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 prostředí Azure DevOps.

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 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, Logic Apps a Functions se prostředí integrace mezi těmito službami postupně 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 získáte pomocí následujících odkazů:

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ů: