Wybieranie odpowiednich usług integracji i automatyzacji na platformie Azure

W tym artykule porównano następujące usługi w chmurze firmy Microsoft:

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:

Podsumowanie i porównanie opcji usługi automatyzacji na platformie Azure:

Porównanie usług Microsoft Power Automate i Azure Logic Apps

Usługi Power Automate i Azure Logic Apps to usługi integracji oparte na projektancie, które mogą tworzyć przepływy pracy. Obie te usługi służą do integracji z różnymi aplikacjami SaaS i aplikacjami dla przedsiębiorstw.

Usługa Power Automate jest oparta na platformie Azure Logic Apps. Oba zapewniają podobnych projektantów i łączników przepływu pracy.

Usługa Power Automate umożliwia każdemu pracownikowi biurowemu wykonywanie prostych integracji (na przykład proces zatwierdzania w bibliotece dokumentów programu SharePoint) bez przechodzenia przez deweloperów lub dział IT. Usługa Logic Apps umożliwia także korzystanie z zaawansowanych integracji (na przykład procesów B2B) wymagających usługi Azure DevOps i rozwiązań dotyczących zabezpieczeń na poziomie przedsiębiorstwa. Typowe dla biznesowego przepływu pracy jest zwiększanie się stopnia skomplikowania wraz z upływem czasu.

Poniższa tabela ułatwia określenie, czy usługa Power Automate czy Logic Apps jest najlepsza w przypadku określonej integracji:

Power Automate Logic Apps
Użytkownicy Pracownicy biurowi, użytkownicy biznesowi, administratorzy programu SharePoint Profesjonalni integratorzy i programiści, informatycy
Scenariusze Samoobsługa Zaawansowane integracje
Narzędzie do projektowania Aplikacja w przeglądarce i aplikacja mobilna, tylko interfejs użytkownika W przeglądarce, programie Visual Studio Code i programie Visual Studio z dostępnym widokiem kodu
Zarządzanie cyklem życia aplikacji (ALM) Platforma Power Platform udostępnia narzędzia zintegrowane z usługami DevOps i GitHub Actions , aby umożliwić tworzenie zautomatyzowanych potoków w cyklu ALM. Usługa Azure DevOps: kontrola kodu źródłowego, testowanie, pomoc techniczna, automatyzacja oraz możliwości zarządzania w usłudze Azure Resource Manager
środowisko Administracja Zarządzanie środowiskami usługi Power Automate i zasadami ochrony przed utratą danych (DLP), śledzenie licencjonowania: centrum Administracja Zarządzanie grupami zasobów, połączeniami, zarządzaniem dostępem i rejestrowaniem: Witryna Azure Portal
Bezpieczeństwo Dzienniki inspekcji zabezpieczeń platformy Microsoft 365, DLP, szyfrowanie magazynowane dla poufnych danych Zapewnienie bezpieczeństwa platformy Azure: zabezpieczenia platformy Azure, Microsoft Defender dla Chmury, dzienniki inspekcji

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

Usługi Functions i Logic Apps to usługi platformy Azure umożliwiające użycie obciążeń bezserwerowych. 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 kolekcja funkcji lub akcji w usłudze Azure Logic Apps, którą 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 orkiestracje są tworzone przy użyciu graficznego interfejsu użytkownika lub edytowania plików konfiguracji.

Usługi można mieszać i dopasowywać podczas tworzenia aranżacji, takich jak wywoływanie funkcji z przepływów pracy aplikacji logiki i wywoływanie przepływów 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:

Trwałe funkcje Azure 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 Microsoft Defender dla Chmury
Zarządzanie interfejs API REST, program Visual Studio witryna Azure Portal, interfejs API REST, program PowerShell, program Visual Studio
Kontekst wykonywania Może działać lokalnie lub w chmurze Działa na platformie Azure, lokalnie lub lokalnie. Aby uzyskać więcej informacji, zobacz Co to jest usługa Azure Logic Apps.

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, w których usługa WebJobs może 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 obiektu JobHost w pliku host.json. Czasami trzeba wykonać czynności, których nie można określić za pomocą 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 innych scenariuszach, w których chcesz uruchamiać fragmenty kodu na potrzeby integracji platformy Azure lub usług innych firm, wybierz usługę Azure Functions, a nie usługę WebJobs z zestawem SDK usługi WebJobs.

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, 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.

Więcej informacji na temat tych usług integracji możesz uzyskać, korzystając z następujących linków:

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: