Określanie opcji technologii
Nie masz dużo czasu, aby prawidłowo zintegrować procesy biznesowe między istniejącym systemem wypożyczania rowerów a systemem używanym w drugim kampusie. Chcesz jak najlepiej wykorzystać swoją istniejącą wiedzę na temat platformy Azure i wiesz, że platforma Azure obejmuje kilka różnych technologii, których można użyć do rozwiązywania takich problemów.
W tej lekcji zapoznamy się z dostępnymi opcjami technologii platformy Azure w celu zautomatyzowania i zintegrowania procesów biznesowych.
Typowe problemy biznesowe
W firmie jednym ze sposobów zagwarantowania wysokiej jakości produktów i usług dla klientów jest projektowanie i implementowanie rygorystycznych procesów biznesowych. Takie procesy mogą obejmować wiele kroków, osób i pakietów oprogramowania. Każdy proces może działać w prostej linii działań wykonywanych przez pracowników po drugim lub mogą rozgałęzić lub pętlę. Każdy proces może działać szybko lub potrwać kilka dni lub tygodni.
Firma często napotyka problemy podczas scalania z drugą firmą lub integruje się z organizacją partnerów. W jaki sposób administratorzy mogą zintegrować oddzielne procesy używane w dwóch organizacjach, które mogły zostać zaimplementowane przy użyciu innego oprogramowania?
Procesy biznesowe modelowane w oprogramowaniu są często nazywane przepływami pracy. Platforma Azure dysponuje czterema różnymi technologiami, których można używać do tworzenia i implementowania przepływów pracy integrujących wiele systemów:
- Azure Logic Apps
- Microsoft Power Automate
- Zadania WebJob
- Azure Functions
Te cztery technologie mają pewne podobieństwa. Na przykład:
- Wszystkie mogą akceptować dane wejściowe. Dane wejściowe to fragment danych lub plik dostarczony do przepływu pracy.
- Wszystkie mogą uruchamiać akcje. Akcja jest prostą operacją uruchamianą przez przepływ pracy i może często modyfikować dane lub powodować wykonanie innej akcji.
- Wszystkie mogą uwzględniać warunki. Warunek to test, często uruchamiany względem danych wejściowych, który może zdecydować, która akcja ma zostać uruchomiona dalej.
- Wszystkie mogą generować dane wyjściowe. Dane wyjściowe to dane lub plik utworzony przez przepływ pracy.
Ponadto przepływy pracy utworzone za pomocą tych technologii mogą być uruchamiane zgodnie z harmonogramem lub niektóre zdarzenia zewnętrzne mogą je wyzwalać.
Technologie bazujące na projekcie
Gdy analitycy biznesowi omawiają i planują proces biznesowy, mogą narysować schemat blokowy na papierze. W przypadku usług Azure Logic Apps i Microsoft Power Automate można stosować podobne podejście do projektowania przepływu pracy. Oba te elementy obejmują interfejsy użytkownika, w których można wyciągnąć przepływ pracy. Nazywamy to podejściem bazującym na projekcie.
Azure Logic Apps
Azure Logic Apps to usługa platformy Azure służąca do automatyzowania, organizowania i integrowania różnych składników aplikacji rozproszonej. Korzystając z podejścia opartego na projekcie w usłudze Azure Logic Apps, można rysować złożone przepływy pracy modelujące złożone procesy biznesowe. Poniższy zrzut ekranu przedstawia projektanta przepływu pracy i kanwę projektu, która służy do definiowania przepływu pracy.
Jeśli wolisz pracować z kodem, możesz utworzyć lub edytować przepływ pracy w notacji JSON, korzystając z widoku kodu, jak pokazano na poniższym zrzucie ekranu.
Jednym z powodów, dla których usługa Azure Logic Apps jest tak dobra w integracji, jest to, że uwzględniono ponad 1000 łączników. Łącznik to składnik aplikacji logiki, który udostępnia interfejs dla usługi zewnętrznej. Na przykład łącznik X umożliwia wysyłanie i pobieranie krótkich wpisów, a łącznik usługi Office 365 Outlook umożliwia zarządzanie pocztą e-mail, kalendarzem i kontaktami. Usługa Azure Logic Apps udostępnia setki wstępnie utworzonych łączników, których można użyć do tworzenia aplikacji. Jeśli masz nietypowy lub unikatowy system, który chcesz wywołać z usługi Azure Logic Apps, możesz utworzyć własny łącznik , jeśli system uwidacznia interfejs API REST.
Microsoft Power Automate
Microsoft Power Automate to usługa służąca do tworzenia przepływów pracy nawet wtedy, gdy nie masz środowiska programistycznego ani informatycznego. Możesz tworzyć przepływy pracy, które integrują i organizują wiele różnych składników przy użyciu witryny internetowej lub aplikacji mobilnej Power Automate.
Można utworzyć cztery typy przepływów:
- Zautomatyzowane: uruchamia się przez wyzwalacz z jakiegoś zdarzenia. Na przykład zdarzenie może być nadejściem nowego krótkiego wpisu lub przekazania nowego pliku.
- Przycisk: uruchamia powtarzające się zadanie za pomocą jednego naciśnięcia na urządzeniu przenośnym.
- Zaplanowane: działa regularnie. Na przykład raz w tygodniu, w określonej dacie lub po 10 godzinach.
- Proces biznesowy: modeluje proces biznesowy, taki jak proces zamawiania zapasów lub procedura składania skarg. Proces przepływu może mieć: powiadomienia dla wymaganych osób; z ich zatwierdzenia zarejestrowane; daty kalendarza dla kroków; i zarejestrowano czas kroków przepływu.
Usługa Microsoft Power Automate udostępnia łatwą w użyciu powierzchnię projektową służącą do tworzenia tego typu przepływów. Jak pokazano na poniższym zrzucie ekranu, projektant przepływu ułatwia projektowanie i układanie procesu.
Usługa Microsoft Power Automate jest oparta na usłudze Azure Logic Apps. Oznacza to, że usługa Power Automate obsługuje ten sam zakres łączników i akcji co usługa Azure Logic Apps. W usłudze Microsoft Power Automate można również używać łączników niestandardowych.
Porównanie technologii bazujących na projekcie
Jak widać w poniższej tabeli, usługa Microsoft Power Automate jest bardziej odpowiednia dla personelu nietechnicznego do użycia. Jeśli projektanci przepływów pracy są specjalistami IT, deweloperami lub praktykami DevOps, usługa Azure Logic Apps jest zwykle lepszym rozwiązaniem.
Microsoft Power Automate | Azure Logic Apps | |
---|---|---|
Docelowi użytkownicy | Pracownicy biurowi i analitycy biznesowi | Deweloperzy i informatycy |
Zamierzone scenariusze | Tworzenie samoobsługowego przepływu pracy | Zaawansowane projekty integracji |
Narzędzia do projektowania | Tylko graficzny interfejs użytkownika. Przeglądarka i aplikacja mobilna | Projektant przepływu pracy w przeglądarce, programie Visual Studio Code i programie Visual Studio. Edytowanie kodu jest możliwe. |
Zarządzanie cyklem życia aplikacji | Usługa Power Automate obejmuje środowiska testowe i produkcyjne. | Kod źródłowy usługi Azure Logic Apps można uwzględnić w repozytoriach usługi Azure DevOps lub w innych systemach zarządzania kodem źródłowym, takich jak GitHub. |
Technologie bazujące na kodzie
Jeśli deweloperzy wchodzący w skład Twojego zespołu będą chcieli zorganizować i zintegrować różne aplikacje biznesowe w pojedynczym przepływie pracy, prawdopodobnie w tym celu napiszą odpowiedni kod. Dzięki temu możesz mieć więcej kontroli nad wydajnością przepływu pracy, a także możesz napisać niestandardowy kod będący częścią procesu biznesowego. Dla tych właśnie osób na platformie Azure udostępniono usługi WebJobs i Functions.
Usługa WebJobs i zestaw WebJobs SDK
Azure App Service to usługa oferująca hosting w chmurze dla aplikacji internetowych, zapleczy mobilnych i interfejsów API RESTful. Te aplikacje muszą często wykonywać pewnego rodzaju zadania w tle. Na przykład w systemie wypożyczania rowerów, gdy użytkownik przekaże zdjęcie roweru, może być konieczne wygenerowanie mniejszej miniatury zdjęcia.
Zadania WebJob są częścią usługi Azure App Service. Można ich używać do automatycznego uruchamiania programu lub skryptu. Istnieją dwa rodzaje zadań WebJob:
- Ciągły: uruchamia się natychmiast po utworzeniu zadania WebJob i uruchomieniu w pętli ciągłej. Można na przykład użyć ciągłego zadania WebJob do sprawdzania folderu udostępnionego pod kątem nowego zdjęcia.
- Wyzwalane: uruchamia się na podstawie zdarzenia powiązania, zgodnie z harmonogramem lub po jego ręcznym wyzwoleniu (na żądanie).
Aby określić, jakie akcje wykonuje usługa WebJob, możesz napisać kod w kilku różnych językach. Na przykład możesz utworzyć skrypt zadania WebJob przez napisanie kodu w skrypcie powłoki (Windows, PowerShell, Bash). Alternatywnie możesz napisać program w języku PHP, Python, Java lub JavaScript.
Można również programować zadania WebJob przy użyciu platformy .NET i języka .NET, takiego jak C# lub VB.NET. Aby ułatwić sobie pracę, w tym przypadku możesz również skorzystać z zestawu WebJobs SDK. Ten zestaw SDK zawiera szereg klas, takich jak JobHostConfiguration
i HostBuilder
, które zmniejszają ilość kodu wymaganego do obsługi interakcji z usługą Azure App Service.
Zestaw WebJobs SDK obsługuje tylko język C# i menedżera pakietów NuGet.
Azure Functions
Funkcja platformy Azure to prosty sposób uruchamiania małych fragmentów kodu w chmurze bez konieczności martwienia się o infrastrukturę wymaganą do hostowania tego kodu. Funkcję można napisać w języku C#, Java, JavaScript, PowerShell, Python lub dowolnym z języków wymienionych w artykule Obsługiwane języki w usłudze Azure Functions . Ponadto w przypadku opcji planu Zużycie płacisz tylko za czas, w którym działa kod. Platforma Azure automatycznie skaluje Twoją funkcję w odpowiedzi na zapotrzebowanie użytkowników.
Tworzenie funkcji platformy Azure można rozpocząć od napisania jej kodu w portalu. Alternatywnie, jeśli potrzebujesz zarządzania kodem źródłowym, możesz użyć repozytoriów GitHub lub Azure DevOps.
Aby utworzyć funkcję platformy Azure, wybierz jeden z wielu dostępnych szablonów. Poniższa lista to przykład niektórych dostępnych szablonów:
- Wyzwalacz HTTP: jeśli chcesz, aby kod był wykonywany w odpowiedzi na żądanie wysyłane za pośrednictwem protokołu HTTP.
- Wyzwalacz czasomierza: jeśli chcesz, aby kod był wykonywany zgodnie z harmonogramem.
- Wyzwalacz usługi Blob Storage: jeśli chcesz, aby kod był wykonywany po dodaniu nowego obiektu blob do konta usługi Azure Storage.
- Wyzwalacz usługi Cosmos DB: jeśli chcesz, aby kod był wykonywany w odpowiedzi na nowe lub zaktualizowane dokumenty w bazie danych NoSQL.
Usługa Azure Functions może integrować się z wieloma różnymi usługami, zarówno na platformie Azure, jak i z innych firm. Te usługi mogą wyzwalać funkcję, wysyłać dane wejściowe do funkcji lub odbierać dane wyjściowe z funkcji.
Porównanie technologii bazujących na kodzie
W większości przypadków prosta administracja i bardziej elastyczny model kodowania usługi Azure Functions mogą prowadzić do wybrania ich w preferencjach zadań WebJob. Jednak z następujących powodów możesz wybrać zadania WebJob:
- Chcesz, aby kod był częścią istniejącej aplikacji usługi App Service i być zarządzany w ramach tej aplikacji; na przykład w tym samym środowisku usługi Azure DevOps.
- Wymagasz ścisłej kontroli nad obiektem nasłuchującym zdarzeń, które wyzwalają kod. Ten obiekt to klasa
JobHost
. W usłudze WebJobs masz większą elastyczność w modyfikowaniu jej zachowania.
Azure WebJobs | Azure Functions | |
---|---|---|
Obsługiwane języki | C# jeśli używasz zestawu SDK usługi WebJobs | C#, Java, JavaScript, PowerShell i inne |
Automatyczne skalowanie | Nie. | Tak |
Programowanie i testowanie w przeglądarce | Nie. | Tak |
Płatność za użycie | Nie. | Tak |
Integracja z usługą Azure Logic Apps | Nie. | Tak |
Menedżerowie pakietów | NuGet, jeśli używasz zestawu SDK usługi WebJobs | Narzędzia NuGet i npm |
Może być częścią aplikacji usługi App Service | Tak | Tak (hostowane w ramach planu usługi App Service) |
Zapewnia ścisłą kontrolę nad JobHost |
Tak | Nie. |
Teraz już wiesz, jakie technologie bazujące na projekcie i kodzie są dostępne dla Ciebie. W jaki sposób można zawęzić wybór odpowiedniego rozwiązania? Omówimy to pytanie w następnej lekcji.