Seznámení se službou Azure Functions

Dokončeno

Azure Functions je bezserverové řešení, které umožňuje psát méně kódu, udržovat menší infrastrukturu a šetřit náklady. Cloudová infrastruktura nabízí veškeré aktuální prostředky potřebné k zajištění provozu vašich aplikací, a vy se tak nemusíte starat o nasazování a údržbu serverů.

Často vytváříme systémy pro reakci na řadu kritických událostí. Bez ohledu na to, jestli vytváříte webové rozhraní API, reagujete na změny databáze, zpracováváte datové streamy IoT nebo dokonce spravujete fronty zpráv – každá aplikace potřebuje způsob, jak spustit nějaký kód, když k těmto událostem dojde.

Azure Functions podporuje triggery, které představují jeden ze způsobů spuštění provádění kódu, a vazby, které zjednodušují kódování u vstupních a výstupních dat. V Azure jsou další integrační a automatizační služby a všechny můžou řešit problémy s integrací a automatizovat obchodní procesy. Všechny můžou definovat vstup, akce, podmínky a výstup.

Porovnání služeb Azure Functions a Azure Logic Apps

Functions i Logic Apps jsou služby Azure, které umožňují 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í nebo kroků (v Logic Apps se nazývají akce), jejichž spouštěním se provede složitý úkol.

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

Následující tabulka uvádí některé klíčové rozdíly mezi službami Functions a Logic Apps:

Téma Azure Functions Logic Apps
Vývoj Založeno na kódu (imperativní) Založeno na návrháři (deklarativní)
Připojení Více než desítka 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 Web Azure Portal, protokoly Azure Monitor
Správa REST API, Visual Studio Web Azure Portal, REST API, PowerShell, Visual Studio
Kontext spuštění Běží v Azure nebo místně Běží v Azure, místně nebo místně.

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

Faktor Funkce Služba WebJobs se sadou WebJobs SDK
Model bezserverové aplikace s automatickým škálováním Yes No
Vývoj a testování v prohlížeči Yes No
Ceny s platbami za použití Yes No
Integrace s Logic Apps Yes No
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)
Časová rezerva)
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ů

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.