Kiedy należy wybrać usługę Azure Functions do uruchamiania logiki biznesowej
Teraz przyjrzyjmy się innemu procesowi z naszej firmy wypożyczania rowerów i zdecydujmy, jaka technologia najlepiej odpowiada naszym potrzebom. Weźmiemy pod uwagę aspekty techniczne procesu, odbiorców i sposób rozwoju naszego procesu.
Scenariusz
Technicy rowerowi używają obecnie arkusza kalkulacyjnego do rejestrowania akcji, które podejmują w celu naprawy i konserwacji każdego roweru. Wystąpiły trudności, gdy potrzebne są części zamienne, ponieważ personel nie ma możliwości poznania, kiedy rower czeka na naprawy lub części. Ten problem spowodował, że rowery zostały wynajęte klientom z noszonymi klockami hamulcowymi, płaskimi oponami i innymi usterkami, które mogą uszkodzić markę firmy jako wysokiej jakości firmę wypożyczającą rowery.
Chcesz utworzyć system, który zarządza procesem konserwacji i naprawy, i umożliwia wszystkim znalezienie odpowiedzi na następujące pytania:
- Jakie prace zakończono przy rowerze?
- Jakie prace pozostały jeszcze do wykonania, zanim rower będzie znów gotowy do wypożyczenia?
- Które rowery są aktualnie dostępne do wypożyczenia?
- Które rowery są aktualnie niedostępne do wypożyczenia?
- Dla każdego roweru, który jest niedostępny:
- Dlaczego nie możemy go wynająć?
- Czy czekamy na jakieś części, a jeśli tak, to jakie?
- Kiedy rower może być ponownie dostępny do wypożyczenia?
Chcesz zintegrować ten system z procesem rezerwacji i wypożyczania rowerów z ostatniej lekcji. Dzięki temu, gdy pracownicy wypożyczalni będą wyszukiwać dostępne rowery, będą znajdować tylko te, które są obecnie dostępne do wypożyczenia. Kierownik wyznaczył Cię jako dewelopera w tym projekcie.
Proces biznesowy
Chcesz mieć pewność, że technicy zajmujący się rowerami w obu kampusach będą działać zgodnie z następującym przepływem pracy podczas konserwacji roweru po jego wypożyczeniu:
Szczegółowe etapy są następujące:
- Klient zwraca rower w dowolnej lokalizacji. Rozpocznie się proces konserwacji roweru.
- Technik oznacza rower jako niedostępny.
- Technik wykonuje wszystkie czynności znajdujące się na liście kontrolnej. Sprawdza m.in. opony, hamulce, łańcuch i światła.
- Czy wymagane są nowe części?
- Nowe części są wymagane, ale nie mamy ich w magazynie.
- Technik zamawia nowe części.
- Części docierają.
- Technik pasuje do nowych części.
- Nowe części są wymagane, ale nie mamy ich w magazynie.
- Technik dokonuje ostatnich zmian.
- Technik oznacza rower jako dostępny do wypożyczenia.
Wybieranie technologii
Aby zaimplementować proces biznesowy i zintegrować z bazą danych lokalizacji rowerów, rozważmy następujący zestaw technologii.
- Microsoft Power Automate
- Azure Logic Apps
- Azure Functions
- Zadania WebJob aplikacji usługi platformy Azure
Podobnie jak w poprzednim scenariuszu, można użyć dowolnej z tych technologii do utworzenia przepływu pracy. Optymalny wybór zależy jednak od dwóch czynników.
Czy ważniejszy jest projekt, czy kod?
Zaimplementowanie tego przepływu pracy przy użyciu tylko usługi Logic Apps lub Power Automate byłoby trudne. Chociaż nie słyszeliśmy zbyt wielu szczegółów niskiego poziomu, jasne jest, że ten proces musi uzyskać dostęp do systemu zapasów i złożyć zamówienia w firmie zajmującej się częściami innych firm. Jest to nowa logika biznesowa i nie ma potrzeby, aby rozważyć podejście oparte na projekcie. Nasze rozwiązanie możemy opakować w łącznik niestandardowy w celu zintegrowania go z innymi przepływami pracy utworzonymi za pomocą usługi Logic Apps lub Power Automate. Jako deweloperowi największą elastyczność zapewni Ci w tym scenariuszu podejście bazujące na kodzie, więc wypróbujmy je!
Usługa Azure Functions czy Azure Apps Service WebJobs?
Musimy podjąć decyzję dotyczącą wyboru między tymi dwiema technologiami.
- Azure Functions
- Azure App Service WebJobs
Na wybór będą miały wpływ następujące czynniki:
- Koszt: w przypadku zadań WebJob płacisz za całą maszynę wirtualną lub plan usługi App Service hostujący zadanie. Usługa Azure Functions może być uruchamiana w ramach planu zużycia, więc płacisz tylko wtedy, gdy funkcja jest uruchomiona. Ponieważ ten proces rozpoczyna się tylko po powrocie roweru, możemy zaoszczędzić pieniądze, wybierając pozycję Azure Functions.
- Integracje: chcesz zintegrować przepływ pracy konserwacji z aplikacją logiki utworzoną na potrzeby procesu rezerwacji i wypożyczania rowerów w poprzedniej lekcji. Chociaż można wywołać zadanie WebJob z aplikacji logiki, integracja między usługami Logic Apps i Functions jest bliższa. Na przykład możesz łatwiej kontrolować wywołanie funkcji z poziomu projektanta wizualnego usługi Logic Apps.
Z tych powodów wybierzemy usługę Azure Functions, aby zarządzać procesem biznesowym konserwacji rowerów.