Seznámení se službou Azure Functions
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.