Odnajdywanie usługi Azure Functions
Usługa Azure Functions to rozwiązanie bezserwerowe, które pozwala pisać mniej kodu, utrzymywać mniejszą infrastrukturę i zmniejszać koszty. 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:
Temat | Azure Functions | Logic Apps |
---|---|---|
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:
Współczynnik | 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 | Czasomierz 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 |
Czasomierz 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.