Odnajdywanie usługi Azure Functions

Ukończone

Usługa Azure Functions to rozwiązanie bezserwerowe, które umożliwia pisanie mniejszej ilości kodu, utrzymywanie mniejszej infrastruktury i oszczędność kosztów. Infrastruktura chmury udostępnia wszystkie aktualne zasoby potrzebne do utrzymania działania aplikacji bez martwienia się o wdrażanie i konserwowanie serwerów.

Często tworzymy systemy reagujące na serię zdarzeń krytycznych. Niezależnie od tego, czy tworzysz internetowy interfejs API, odpowiadasz na zmiany bazy danych, przetwarzasz strumienie danych IoT, czy nawet zarządzasz kolejkami komunikatów — każda aplikacja potrzebuje sposobu uruchamiania kodu w miarę występowania tych zdarzeń.

Środowisko usługi Azure Functions obsługuje wyzwalacze, czyli metody uruchamiania wykonywania kodu, i powiązania, czyli metody upraszczania kodowania danych wejściowych i wyjściowych. Istnieją inne usługi integracji i automatyzacji na platformie Azure. Wszystkie te usługi mogą rozwiązywać problemy z integracją i automatyzować procesy biznesowe. Mogą one definiować dane wejściowe, akcje, warunki i dane wyjściowe.

Porównanie usług Azure Functions i Azure Logic Apps

Usługi Functions i Logic Apps to usługi platformy Azure, które umożliwiają bezserwerowe obciążenia. Azure Functions to bezserwerowa usługa obliczeniowa, natomiast usługa Azure Logic Apps to bezserwerowa platforma integracji przepływu pracy. Obie umożliwiają tworzenie złożonych orkiestracji. Aranżacja to zbiór funkcji i kroków, nazywanych akcjami w usłudze Logic Apps, które są wykonywane w celu wykonywania złożonego zadania.

W przypadku usługi Azure Functions tworzenie aranżacji odbywa się przez pisanie kodu i używanie rozszerzenia funkcji trwałych. Na potrzeby usługi Logic Apps aranżacje są tworzone za pomocą graficznego interfejsu użytkownika lub przez edycję plików konfiguracyjnych.

W poniższej tabeli wymieniono niektóre kluczowe różnice między usługami Functions i Logic Apps:

Azure Functions Aplikacje logiki
Opracowywanie zawartości Najpierw kod (imperatywne) Najpierw projektant (deklaratywne)
Łączność Około dwunastu wbudowanych typów powiązań, pisanie kodu dla powiązań niestandardowych Duża kolekcja łączników, pakiet integracyjny dla przedsiębiorstw dla scenariuszy B2B, tworzenie łączników niestandardowych
Akcje Każde działanie jest funkcją platformy Azure; pisanie kodu dla funkcji działań Duża kolekcja gotowych do użycia akcji
Monitorowanie Azure Application Insights Witryna Azure Portal, dzienniki usługi Azure Monitor
Zarządzanie Interfejs API REST, program Visual Studio Witryna Azure Portal, interfejs API REST, program PowerShell, program Visual Studio
Kontekst wykonywania Działa na platformie Azure lub lokalnie Działa na platformie Azure, lokalnie lub lokalnie

Porównanie usług Functions i WebJobs

Podobnie jak usługa Azure Functions, usługa Azure App Service WebJobs z zestawem SDK usługi WebJobs jest usługą integracji typu najpierw kod przeznaczoną dla deweloperów. Obie bazują na usłudze Azure App Service i obsługują funkcje, takie jak integracja kontroli kodu źródłowego, uwierzytelnianie i monitorowanie z integracją usługi Application Insights.

Usługa Azure Functions bazuje na zestawie SDK usługi WebJobs, dlatego współużytkuje z innymi usługami platformy Azure liczne wyzwalacze i połączenia. Poniżej przedstawiono kilka czynników, które należy wziąć pod uwagę, wybierając między usługą Azure Functions a usługą WebJobs z zestawem WebJobs SDK:

Funkcje Usługa WebJobs z zestawem SDK usługi WebJobs
Model aplikacji bezserwerowych z automatycznym skalowaniem Tak Nie.
Programowanie i testowanie w przeglądarce Tak Nie.
Płatność za użycie Tak Nie.
Integracja z usługą Logic Apps Tak Nie.
Zdarzenia wyzwalacza Minutnik
Kolejki i obiekty blob usługi Azure Storage
Kolejki i tematy usługi Azure Service Bus
Azure Cosmos DB
Azure Event Hubs
HTTP/WebHook (GitHub)
Slack)
Azure Event Grid
Minutnik
Kolejki i obiekty blob usługi Azure Storage
Kolejki i tematy usługi Azure Service Bus
Azure Cosmos DB
Azure Event Hubs
System plików

Usługa Azure Functions zapewnia większą efektywność pracy deweloperów niż usługa Azure App Service WebJobs. Udostępnia ona także więcej opcji dotyczących języków programowania, środowisk programistycznych, integracji usług platformy Azure i cen. W przypadku większości scenariuszy jest najlepszym wyborem.