Azure Functions i Azure Logic Apps to platformy bezserwerowe (serverless) w Microsoft Azure pozwalające uruchamiać kod i procesy automatyzacji bez zarządzania infrastrukturą serwerową. Azure Functions wykonuje kod w dowolnym języku (C#, Python, JavaScript, Java) wyzwolony zdarzeniem – żądaniem HTTP, wiadomością kolejkową, timererem lub zdarzeniem z innych usług Azure. Logic Apps oferuje wizualnego projektanta przepływów z setnami konektorów, zbliżony do Power Automate, ale przeznaczony dla scenariuszy integracji B2B i API. Oba modele rozliczają się za rzeczywiste użycie, bez opłat za bezczynność.
Azure Functions – kod na żądanie
Azure Functions uruchamiają krótkie fragmenty kodu w odpowiedzi na zdarzenie bez dedykowanego serwera aplikacji. Deweloper pisze funkcję obsługującą jedno zadanie – przetwarzanie zamówienia, wysyłanie powiadomienia, transformacja pliku – i wdraża ją do Azure bez konfigurowania VM, systemu operacyjnego czy frameworka webowego. Skalowanie jest automatyczne i natychmiastowe – Function App obsługuje 1 lub 10 000 równoczesnych wywołań bez ręcznej interwencji, płacąc tylko za czas wykonania i liczbę wywołań. To model idealny dla sporadycznych, niejednorodnych obciążeń o zmiennym wolumenie.
Wyzwalacze i bindowania
Każda Azure Function definiuje wyzwalacz (trigger) określający, co uruchamia wykonanie – HTTP Request (webhook lub REST API), Timer (harmonogram Cron), Azure Queue Storage, Service Bus, Event Hub, Blob Storage lub zdarzenia z Dataverse. Bindowania wejściowe i wyjściowe pozwalają deklaratywnie odczytywać i zapisywać dane do Azure Storage, CosmosDB, Service Bus i innych usług bez ręcznego zarządzania klientami SDK. Taka deklaratywna integracja znacząco redukuje kod boilerplate i upraszcza architekturę mikroserwisową.
Azure Logic Apps – integracja API i B2B
Logic Apps oferują wizualnego projektanta przepływów integracyjnych z setnami konektorów do usług SaaS (Salesforce, SAP, Oracle, Office 365) i protokołów B2B (AS2, EDIFACT, X12). Scenariusze Logic Apps obejmują orkiestrację długotrwałych procesów biznesowych (Durable Logic Apps), integrację systemów ERP przez API, automatyczne przetwarzanie przesyłanych plików EDI i konwersję formatów danych. Logic Apps Standard jest oparty na tym samym silniku co Power Automate, ale jest bardziej konfigurowalny i przeznaczony dla programistów zamiast obywatelskich deweloperów.
Durable Functions – długotrwałe przepływy bezserwerowe
Durable Functions rozszerzają Azure Functions o zarządzanie stanem w długotrwałych procesach – orkiestracja, wachlarze fanout/fanin i monitorowanie wzorców. Workflow obejmujący zatwierdzenie przez człowieka (które może nastąpić po godzinach lub dniach) jest naturalnie obsługiwany przez Durable Functions bez konieczności utrzymywania stanu na serwerze. Monitor patterns czekają na zmianę stanu zewnętrznego systemu bez stałego odpytywania – np. sprawdzają status przesyłki co 30 minut aż do dostarczenia, po czym wyzwalają powiadomienie do klienta.
DevOps i wdrażanie Azure Functions
Azure Functions wdrażane są przez Azure DevOps, GitHub Actions lub za pomocą Azure CLI. Slot deployment (Production/Staging) pozwala wdrożyć nową wersję funkcji do slotu staging, przetestować i przeprowadzić bezproblemową wymianę z produkcją. Wersjonowanie funkcji i możliwość szybkiego rollbacku do poprzedniej wersji są kluczowe w systemach produkcyjnych wymagających ciągłości działania. Application Insights zintegrowany z Function App dostarcza telemetrię błędów, wydajności i wywołań bez konieczności własnego instrumentowania kodu.