Tworzenie nowego interfejsu API w usłudze API Management z poziomu aplikacji funkcji
Usługa Azure API Management umożliwia konstruowanie interfejsu API z zestawu różnych mikrousług.
W sklepie online każda część aplikacji jest implementowana jako mikrousługa — jedna dla szczegółów produktu, jedna dla szczegółów zamówienia itd. Oddzielny zespół zarządza każdą mikrousługą, a każdy zespół regularnie aktualizuje i wdraża kod przy użyciu ciągłego programowania i dostarczania. Chcesz znaleźć sposób, aby utworzyć te mikrousługi w jednym produkcie, a następnie centralnie zarządzać tym produktem.
W tej lekcji dowiesz się, jak usługa Azure API Management jest przydatna w architekturze bezserwerowej, tworząc pojedyncze interfejsy API z poszczególnych mikrousług.
Architektura bezserwerowa i mikrousługi
Mikrousługi to popularne podejście do architektury aplikacji rozproszonych. Podczas kompilowania aplikacji jako kolekcji mikrousług tworzysz wiele różnych małych usług. Każda usługa ma zdefiniowaną domenę odpowiedzialności i jest opracowywana, wdrażana i skalowana niezależnie. Ta architektura modularna powoduje, że aplikacja jest łatwiejsza do zrozumienia, usprawnienia i przetestowania. Ułatwia to również ciągłe dostarczanie, ponieważ zmienia się tylko niewielką część całej aplikacji podczas wdrażania mikrousługi.
Kolejny trend w procesie tworzenia oprogramowania rozproszonego to architektura bezserwerowa. W tym podejściu organizacja hosta publikuje zestaw usług, za pomocą których deweloperzy mogą uruchamiać swój kod. Deweloperzy nie muszą się martwić o sprzęt pomocniczy, systemy operacyjne, oprogramowanie bazowe i inną infrastrukturę. Zamiast tego kod jest uruchamiany w zasobach przetwarzania bezstanowego wyzwalanych przez żądania. Koszty są naliczane tylko wtedy, gdy usługi są wykonywane, więc nie płacisz zbytnio za usługi, które są rzadko używane.
Azure Functions
Azure Functions to usługa, która umożliwia korzystanie z architektur bezserwerowych na platformie Azure. Nie martwiąc się o infrastrukturę pomocniczą można pisać funkcje w wielu różnych językach, takich jak C# Java, JavaScript, PowerShell i Python. Możesz również używać bibliotek z pakietów NuGet i węzłów Menedżer pakietów (npm) oraz uwierzytelniać użytkowników przy użyciu standardu OAuth od dostawców, takich jak Active Directory, Facebook, Google i Konto Microsoft.
Gdy piszesz funkcję, wybierasz szablon do użycia w zależności od tego, w jaki sposób ma być wyzwalany kod. Na przykład jeśli chcesz wykonać funkcję w odpowiedzi na żądanie HTTP, użyj szablonu HTTPTrigger. Możesz użyć innych szablonów do wykonania, jeśli w kolejce, kontenerze magazynu obiektów blob lub we wstępnie zdefiniowanym harmonogramie znajdują się nowe komunikaty.
W przypadku korzystania z usługi Azure Functions w planie zużycia opłaty są naliczane tylko za czas uruchamiania kodu.
Usługa Azure API Management
Azure API Management to w pełni zarządzana usługa w chmurze, która umożliwia publikowanie, zabezpieczanie, przekształcanie, konserwację i monitorowanie interfejsów API. Pomaga ona organizacjom publikować interfejsy API dla deweloperów zewnętrznych, partnerskich i wewnętrznych, aby w pełni wykorzystać potencjał danych i usług. Usługa API Management obsługuje wszystkie zadania związane z pośrednictwom wywołań interfejsu API. Obejmuje to uwierzytelnianie i autoryzację żądań, wymuszanie limitu szybkości i limitu przydziału, przekształcanie żądań i odpowiedzi, rejestrowanie i śledzenie oraz zarządzanie wersjami interfejsu API. Usługa API Management umożliwia tworzenie nowoczesnych bram interfejsów API i zarządzanie nimi dla istniejących usług zaplecza niezależnie od tego, gdzie są hostowane.
Ponieważ można opublikować usługę Azure Functions za pomocą usługi API Management, możesz ich użyć do zaimplementowania architektury mikrousług; każda funkcja implementuje mikrousługę. Dodając kilka funkcji do pojedynczego produktu API Management, można utworzyć te mikrousługi w zintegrowanej aplikacji rozproszonej. Po skompilowaniu aplikacji można użyć zasad usługi API Management, aby zaimplementować buforowanie lub zagwarantować spełnienie wymagań dotyczących zabezpieczeń.
Warstwa użycia usługi API Management
Po wybraniu planu użycia usługi API Management możesz wybrać warstwę zużycia. Warstwa zużycia jest szczególnie odpowiednia dla architektur opartych na mikrousługach i systemach opartych na zdarzeniach. Może być to doskonały wybór na przykład w przypadku naszego internetowego interfejsu API sklepu online.
Warstwa zużycie używa tych samych podstawowych składników usługi co poprzednie warstwy, ale korzysta z zupełnie innej architektury opartej na udostępnionych, dynamicznie przydzielonych zasobach. Warstwa zużycia doskonale pasuje do modeli przetwarzania bezserwerowego. Nie ma infrastruktury do zarządzania pojemnością bezczynności i bezczynności. Zapewnia wysoką dostępność, automatyczne skalowanie i ceny oparte na użyciu. Wszystko to sprawia, że warstwa zużycia jest szczególnie dobrym wyborem w przypadku rozwiązań, które obejmują udostępnianie zasobów bezserwerowych jako interfejsów API.
W następnej lekcji utworzymy wystąpienie usługi API Management i dodamy do niego funkcję.