Wybieranie odpowiednich usług integracji i automatyzacji na platformie Azure
W tym artykule porównano następujące usługi w chmurze firmy Microsoft:
- Microsoft Power Automate (to Microsoft Flow)
- Azure Logic Apps
- Azure Functions
- Azure App Service WebJobs
Wszystkie te usługi umożliwiają rozwiązywanie problemów z integracją i automatyzację procesów biznesowych. Mogą one definiować dane wejściowe, akcje, warunki i dane wyjściowe. Każdą z nich można uruchomić zgodnie z harmonogramem lub za pomocą wyzwalacza. Każda usługa ma unikatowe zalety, a w tym artykule opisano różnice między nimi.
Uwaga
Jeśli szukasz bardziej ogólnego porównania między usługą Azure Functions i innymi opcjami obliczeniowymi platformy Azure, zobacz następujące artykuły:
- Kryteria wyboru usługi obliczeniowej platformy Azure
- Wybieranie opcji obliczeń platformy Azure dla mikrousług
Aby zapoznać się z podsumowaniem i porównaniem opcji usługi automatyzacji na platformie Azure, zobacz Wybieranie usług automatyzacji na platformie Azure.
Porównanie usług Azure Logic Apps i Microsoft Power Automate
Te usługi to platformy integracji oparte na projektancie, na których można tworzyć i uruchamiać zautomatyzowane przepływy pracy. Obie platformy integrują się z różnymi aplikacjami typu oprogramowanie jako usługa (SaaS) i aplikacjami dla przedsiębiorstw. Oba zapewniają podobnych projektantów przepływów pracy, a ich łączniki współdzielą pewne nakładające się na siebie, każda platforma oferuje również własne unikatowe łączniki.
Usługa Power Automate umożliwia użytkownikom biznesowym, pracownikom biurowym i deweloperom obywatelskim tworzenie prostych integracji bez konieczności pracy z it lub deweloperami ani pisania kodu. Przykładem może być przepływ pracy zatwierdzania dla biblioteki dokumentów programu SharePoint. Usługa Azure Logic Apps obsługuje integracje, począwszy od scenariuszy z małą ilością kodu do bardziej zaawansowanych, kodowych i złożonych przepływów pracy. Przykłady obejmują procesy lub scenariusze B2B, które wymagają interakcji na poziomie przedsiębiorstwa z usługą Azure DevOps. Przepływ pracy biznesowej może również rosnąć od prostego do kompletnego w czasie.
Aby ułatwić określenie, czy chcesz używać usługi Azure Logic Apps, czy Power Automate do określonej integracji, zobacz tabelę porównanie możliwości.
Porównanie usług Azure Functions i Azure Logic Apps
Te usługi platformy Azure umożliwiają tworzenie i uruchamianie obciążeń bezserwerowych. Azure Functions to bezserwerowa usługa obliczeniowa, a usługa Azure Logic Apps to bezserwerowa platforma integracji przepływu pracy. Obie umożliwiają tworzenie złożonych orkiestracji. Aranżacja to kolekcja funkcji, które są nazywane akcjami w usłudze Azure Logic Apps, które można uruchomić w celu wykonania złożonego zadania. Na przykład w celu przetworzenia partii zamówień możesz równolegle wykonać wiele wystąpień funkcji, poczekać na zakończenie wszystkich wystąpień, a następnie wykonać funkcję, która obliczy zagregowany wynik.
W przypadku usługi Azure Functions tworzenie aranżacji odbywa się przez pisanie kodu i używanie rozszerzenia funkcji trwałych. W przypadku usługi Azure Logic Apps tworzysz aranżacje przy użyciu projektanta wizualnego lub edytując szablony usługi Azure Resource Manager.
Usługi można mieszać i dopasowywać podczas tworzenia aranżacji. Można na przykład wywoływać funkcje z przepływów pracy aplikacji logiki i wywoływać przepływy pracy aplikacji logiki z funkcji. Wybierz sposób tworzenia poszczególnych aranżacji na podstawie możliwości usług lub własnych preferencji. W poniższej tabeli wymieniono niektóre kluczowe różnice między tymi usługami:
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 WebJobs i zestaw WebJobs SDK
Funkcja WebJobs usługi App Service umożliwia uruchamianie skryptu lub kodu w kontekście aplikacji internetowej usługi App Service. Zestaw SDK usługi WebJobs to struktura przeznaczona dla usługi WebJobs, która upraszcza kod pisany w celu reagowania na zdarzenia w usługach platformy Azure. Na przykład możesz zareagować na utworzenie obiektu blob obrazu w usłudze Azure Storage, tworząc obraz miniatury. Zestaw SDK usługi WebJobs działa jako aplikacja konsoli .NET, którą można wdrożyć w zadaniu WebJob.
Usługa WebJobs i zestaw SDK usługi WebJobs najlepiej działają razem, ale można używać usługi WebJobs bez zestawu SDK usługi WebJobs i na odwrót. Zadanie WebJob może uruchomić dowolny program lub skrypt działający w piaskownicy usługi App Service. Aplikację konsolową zestawu SDK usługi WebJobs można uruchomić w każdym miejscu, w którym jest uruchomiona aplikacja konsolowa, np. na serwerach lokalnych.
Tabela porównawcza
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 bez użycia serwera z automatycznym skalowaniem | ✔ | |
Programowanie i testowanie w przeglądarce | ✔ | |
Płatność za użycie | ✔ | |
Integracja z usługą Logic Apps | ✔ | |
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 |
Obsługiwane języki | C# F# JavaScript Java Python PowerShell |
C#1 |
Menedżerowie pakietów | npm i NuGet | NuGet2 |
1 zadania WebJob (bez zestawu SDK usługi WebJobs) obsługują języki, takie jak C#, JavaScript, Bash, .cmd, .bat, PowerShell, PHP, TypeScript, Python i inne. Zadanie WebJob może uruchomić dowolny program lub skrypt, który można uruchomić w piaskownicy usługi App Service.
2 zadania WebJob (bez zestawu SDK usługi WebJobs) obsługują narzędzia npm i NuGet.
Podsumowanie
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.
Poniżej przedstawiono dwa scenariusze, dla których zadania WebJob mogą być najlepszym wyborem:
- Potrzebujesz większej kontroli nad kodem nasłuchującym zdarzeń, obiektem
JobHost
. Usługa Functions oferuje ograniczoną liczbę sposobów dostosowywania zachowania obiektuJobHost
w pliku host.json. Czasami trzeba wykonać czynności, których nie można określić przy użyciu ciągu w pliku JSON. Na przykład tylko zestaw SDK usługi WebJobs pozwala skonfigurować niestandardowe zasady ponawiania dla usługi Azure Storage. - Masz aplikację usługi App Service, dla której chcesz uruchamiać fragmenty kodu, i chcesz zarządzać nimi razem w tym samym środowisku usługi Azure DevOps.
W przypadku innych scenariuszy, w których chcesz uruchamiać fragmenty kodu na potrzeby integracji usług platformy Azure lub usług zewnętrznych, wybierz pozycję Azure Functions za pośrednictwem zadań WebJob z zestawem SDK zadań WebJob.
Usługi Power Automate, Logic Apps, Functions i WebJobs razem
Nie trzeba wybierać tylko jednej z tych usług. Integrują się ze sobą i z usługami zewnętrznymi.
Przepływ usługi Power Automate może wywoływać przepływ pracy usługi Azure Logic Apps. Przepływ pracy usługi Azure Logic Apps może wywoływać funkcję w usłudze Azure Functions i na odwrót. Na przykład zobacz Tworzenie funkcji zintegrowanej z usługą Azure Logic Apps.
Między usługami Power Automate, Azure Logic Apps i Functions środowisko integracji między tymi usługami stale się poprawia w miarę upływu czasu. Składnik można utworzyć w jednej usłudze i użyć tego składnika w innych usługach.
Aby uzyskać więcej informacji na temat usług integracji, zobacz następujące artykuły:
- Korzystanie z usług Azure Functions i Azure App Service w scenariuszach integracji (autor: Christopher Anderson)
- Uproszczone integracje (autor: Charles Lamanna)
- Emisja internetowa usługi Azure Logic Apps Na żywo
- Często zadawane pytania dotyczące usługi Power Automate
Następne kroki
Rozpocznij od utworzenia pierwszego przepływu, przepływu pracy aplikacji logiki lub aplikacji funkcji. Wybierz dowolny z następujących linków: