Szybki start: wdrażanie aplikacji mikrousług w usłudze Azure Spring Apps

Uwaga

Pierwsze 50 godzin procesorów wirtualnych i 100 GB pamięci jest bezpłatne każdego miesiąca. Aby uzyskać więcej informacji, zobacz Price Reduction — Azure Spring Apps robi więcej, kosztuje mniej! w blogu Aplikacje na platformie Azure.

Uwaga

Azure Spring Apps to nowa nazwa usługi Azure Spring Cloud. Mimo że usługa ma nową nazwę, stara nazwa będzie widoczna w niektórych miejscach przez pewien czas, ponieważ pracujemy nad aktualizowaniem zasobów, takich jak zrzuty ekranu, filmy wideo i diagramy.

W tym artykule wyjaśniono, jak wdrożyć aplikacje mikrousług w usłudze Azure Spring Apps przy użyciu dobrze znanej przykładowej aplikacji PetClinic.

Przykład Pet Clinic demonstruje wzorzec architektury mikrousług. Na poniższym diagramie przedstawiono architekturę aplikacji PetClinic w planie Azure Spring Apps Enterprise.

Diagram przedstawiający architekturę przykładu PetClinic w planie Azure Spring Apps Enterprise.

Na diagramie przedstawiono następujące przepływy architektury i relacje przykładu Pet Clinic:

  • Używa usługi Azure Spring Apps do zarządzania aplikacjami frontonu i zaplecza. Aplikacje zaplecza są tworzone przy użyciu platformy Spring Boot, a każda aplikacja używa bazy danych HSQLDB jako magazynu trwałego. Przeforsowana aplikacja frontonu opiera się na aplikacji interfejsu API Usługi PET Clinic z Node.js służącą jako autonomiczna aplikacja internetowa frontonu.
  • Używa składników zarządzanych w usłudze Azure Spring Apps, w tym usługi Service Registry, Application Configuration Service, Spring Cloud Gateway i Application Live View. Usługa konfiguracji aplikacji odczytuje konfigurację repozytorium Git.
  • Uwidacznia adres URL usługi Spring Cloud Gateway w celu kierowania żądań do aplikacji usługi zaplecza i uwidacznia adres URL widoku aplikacji na żywo w celu monitorowania aplikacji zaplecza.
  • Analizuje dzienniki przy użyciu obszaru roboczego usługi Log Analytics.
  • Monitoruje wydajność za pomocą Szczegółowe informacje aplikacji.

Uwaga

W tym artykule użyto uproszczonej wersji narzędzia PetClinic przy użyciu bazy danych w pamięci, która nie jest gotowa do szybkiego wdrożenia w usłudze Azure Spring Apps.

Narzędzia Tanzu Developer Tools uwidacznia publiczny dostęp do usługi Application Live View, co jest punktem ryzyka. Środowisko produkcyjne musi zabezpieczyć dostęp. Aby uzyskać więcej informacji, zobacz sekcję Configure Dev Tools Portal (Konfigurowanie portalu narzędzi deweloperskich Tanzu) w planie Azure Spring Apps Enterprise.

Przykład Pet Clinic demonstruje wzorzec architektury mikrousług. Na poniższym diagramie przedstawiono architekturę aplikacji PetClinic w planie Usługi Azure Spring Apps w warstwie Standardowa.

Diagram przedstawiający architekturę przykładu PetClinic w planie standardowym usługi Azure Spring Apps.

Na diagramie przedstawiono następujące przepływy architektury i relacje przykładu Pet Clinic:

  • Używa usługi Azure Spring Apps do zarządzania aplikacjami Spring Boot. Każda aplikacja używa bazy danych HSQLDB jako magazynu trwałego.
  • Używa zarządzanych składników Spring Cloud Config Server i Eureka Service Registry w usłudze Azure Spring Apps. Serwer konfiguracji odczytuje konfigurację repozytorium Git.
  • Uwidacznia adres URL usługi API Gateway w celu równoważenia obciążenia żądań do aplikacji usługi i uwidacznia adres URL serwera Administracja do zarządzania aplikacjami.
  • Analizuje dzienniki przy użyciu obszaru roboczego usługi Log Analytics.
  • Monitoruje wydajność za pomocą Szczegółowe informacje aplikacji.

Uwaga

W tym artykule użyto uproszczonej wersji narzędzia PetClinic przy użyciu bazy danych w pamięci, która nie jest gotowa do szybkiego wdrożenia w usłudze Azure Spring Apps.

Wdrożona aplikacja admin-server uwidacznia publiczny dostęp, co jest punktem ryzyka. Środowisko produkcyjne musi zabezpieczyć aplikację Administracja Spring Boot.

Ten artykuł zawiera następujące opcje wdrażania w usłudze Azure Spring Apps:

  • Opcja witryny Azure Portal jest najprostszym i najszybszym sposobem tworzenia zasobów i wdrażania aplikacji za pomocą jednego kliknięcia. Ta opcja jest odpowiednia dla deweloperów platformy Spring, którzy chcą szybko wdrażać aplikacje w usługach w chmurze platformy Azure.
  • Opcja wtyczki Azure Portal + Maven to bardziej konwencjonalny sposób tworzenia zasobów i wdrażania aplikacji krok po kroku. Ta opcja jest odpowiednia dla deweloperów platformy Spring korzystających z usług w chmurze platformy Azure po raz pierwszy.
  • Opcja interfejsu wiersza polecenia platformy Azure używa zaawansowanego narzędzia wiersza polecenia do zarządzania zasobami platformy Azure. Ta opcja jest odpowiednia dla deweloperów platformy Spring, którzy znają usługi w chmurze platformy Azure.
  • Opcja wtyczki Azure Portal + Maven to bardziej konwencjonalny sposób tworzenia zasobów i wdrażania aplikacji krok po kroku. Ta opcja jest odpowiednia dla deweloperów platformy Spring korzystających z usług w chmurze platformy Azure po raz pierwszy.
  • Opcja interfejsu wiersza polecenia dla deweloperów platformy Azure to bardziej wydajny sposób automatycznego tworzenia zasobów i wdrażania aplikacji za pomocą prostych poleceń. Interfejs wiersza polecenia dewelopera platformy Azure używa szablonu do aprowizowania potrzebnych zasobów platformy Azure i wdrażania kodu aplikacji. Ta opcja jest odpowiednia dla deweloperów platformy Spring, którzy znają usługi w chmurze platformy Azure.

1. Wymagania wstępne

  • Subskrypcja Azure. Jeśli nie masz subskrypcji, przed rozpoczęciem utwórz bezpłatne konto .
  • Jeśli wdrażasz wystąpienie planu Usługi Azure Spring Apps Enterprise po raz pierwszy w subskrypcji docelowej, zobacz sekcję Wymagania planu przedsiębiorstwa w witrynie Azure Marketplace.
  • (Opcjonalnie) Git.
  • (Opcjonalnie) Java Development Kit (JDK), wersja 17.

2. Przygotowanie projektu Spring

Wykonaj następujące kroki, aby przygotować przykład lokalnie:

  1. Sklonuj przykładowy projekt przy użyciu następującego polecenia:

    git clone https://github.com/Azure-Samples/spring-petclinic-microservices.git
    
  2. Przejdź do katalogu głównego projektu, a następnie użyj następującego polecenia, aby uruchomić przykładowy projekt lokalnie:

    bash ./scripts/run_all_without_infra.sh
    
  3. Po pomyślnym zakończeniu działania skryptu przejdź do http://localhost:8080 witryny w przeglądarce, aby uzyskać dostęp do aplikacji PetClinic.

3. Przygotowanie środowiska chmury

W tej sekcji opisano sposób tworzenia wystąpienia usługi Azure Spring Apps i przygotowywania środowiska chmury platformy Azure.

3.1. Zaloguj się do witryny Azure Portal.

Przejdź do witryny Azure Portal i wprowadź swoje poświadczenia, aby zalogować się do portalu. Widok domyślny to pulpit nawigacyjny usług.

3.2. Tworzenie wystąpienia usługi Azure Spring Apps

Aby utworzyć wystąpienie usługi, wykonaj następujące czynności:

  1. Wybierz pozycję Utwórz zasób w rogu witryny Azure Portal.

  2. Na karcie Usługi platformy Azure wybierz pozycję Compute>Azure Spring Apps.

    Zrzut ekranu witryny Azure Portal przedstawiający stronę Tworzenie zasobu z wyróżnioną pozycją Azure Spring Apps.

  3. Na stronie Tworzenie usługi Azure Spring Apps wypełnij formularz na karcie Podstawy.

    Zrzut ekranu witryny Azure Portal przedstawiający stronę Tworzenie usługi Azure Spring Apps z wybraną kartą Podstawowe.

    Poniższa tabela stanowi przewodnik po ukończeniu formularza. Zalecany plan to Standardowa.

    Ustawienie Sugerowana wartość opis
    Subskrypcja Nazwa subskrypcji. Subskrypcja platformy Azure, która ma być używana dla serwera. Jeśli masz wiele subskrypcji, wybierz subskrypcję, dla której chcesz być rozliczany za zasób.
    Grupa zasobów: myresourcegroup Nowa nazwa grupy zasobów lub istniejąca nazwa z subskrypcji.
    Nazwa/nazwisko myasa Unikatowa nazwa identyfikująca wystąpienie usługi Azure Spring Apps. Nazwa musi mieć długość od 4 do 32 znaków i może zawierać tylko małe litery, cyfry i łączniki. Pierwszy znak nazwy usługi musi być literą, a ostatni znak musi być literą lub cyfrą.
    Planowanie Standardowa Plan cenowy określa zasoby i koszty skojarzone z wystąpieniem.
    Region Region najbliżej Twoich użytkowników. Lokalizacja znajdująca się najbliżej użytkowników.
    Strefowo nadmiarowy Niezaznaczone Tworzy usługę Azure Spring Apps w strefie dostępności platformy Azure. Obecnie nieobsługiwane we wszystkich regionach.
  4. Przejdź do karty Ustawienia diagnostyczne na stronie Tworzenie usługi Azure Spring Apps , a następnie wybierz pozycję Utwórz nowe , aby utworzyć nowe wystąpienie obszarów roboczych usługi Log Analytics. Na stronie Tworzenie nowego obszaru roboczego usługi Log Analytics zaktualizuj nazwę obszaru roboczego usługi Log Analytics zgodnie z potrzebami, a następnie wybierz przycisk OK, aby potwierdzić utworzenie.

    Zrzut ekranu witryny Azure Portal przedstawiający stronę Tworzenie usługi Azure Spring Apps z wybraną kartą Diagnostyka i wyróżnionym przyciskiem Utwórz nowy.

  5. Przejdź do karty Aplikacja Szczegółowe informacje na stronie Tworzenie usługi Azure Spring Apps, a następnie wybierz pozycję Utwórz nową, aby utworzyć nowe wystąpienie usługi Application Szczegółowe informacje. Na stronie Tworzenie nowej aplikacji Szczegółowe informacje zasobu zaktualizuj nazwę usługi Application Insights zgodnie z potrzebami, wybierz pozycję Obszar roboczy wtrybie zasobu, a następnie wybierz przycisk OK, aby potwierdzić utworzenie.

    Zrzut ekranu witryny Azure Portal przedstawiający stronę Tworzenie usługi Azure Spring Apps z wyświetlonym okienkiem Tworzenie nowej aplikacji Szczegółowe informacje zasobu.

  6. Wybierz pozycję Przejrzyj i Utwórz , aby przejrzeć wybrane opcje. Następnie wybierz pozycję Utwórz , aby aprowizować wystąpienie usługi Azure Spring Apps.

  7. Wybierz ikonę Powiadomienia (dzwonek), aby monitorować proces wdrażania. Po zakończeniu wdrażania możesz wybrać pozycję Przypnij do pulpitu nawigacyjnego, aby utworzyć skrót na pulpicie nawigacyjnym witryny Azure Portal na stronie Przegląd usługi.

    Zrzut ekranu witryny Azure Portal przedstawiający wdrożenie zasobu oraz okienko Powiadomienia z przyciskiem Przejdź do zasobu i Przypnij do pulpitu nawigacyjnego.

  8. Wybierz pozycję Przejdź do zasobu , aby przejść do strony Przegląd usługi Azure Spring Apps.

  9. Wybierz pozycję Serwer konfiguracji w okienku nawigacji.

  10. Na stronie Config Server (Serwer konfiguracji) w polu URI (Identyfikator URI) wprowadź https://github.com/Azure-Samples/spring-petclinic-microservices-config.git , a następnie wybierz pozycję Validate (Zweryfikuj).

    Zrzut ekranu witryny Azure Portal przedstawiający stronę Serwera konfiguracji z wyróżnionym domyślnym identyfikatorem URI i przyciskiem Weryfikuj.

  11. Po weryfikacji wybierz pozycję Zastosuj , aby zakończyć konfigurację serwera konfiguracji.

4. Wdrażanie aplikacji w usłudze Azure Spring Apps

Teraz możesz wdrożyć aplikację w usłudze Azure Spring Apps.

Wykonaj następujące kroki, aby wdrożyć aplikacje mikrousług przy użyciu wtyczki Maven dla usługi Azure Spring Apps:

  1. Przejdź do przykładowego katalogu projektu, a następnie użyj następującego polecenia, aby skonfigurować aplikacje dla usługi Azure Spring Apps:

    ./mvnw -P spring-apps com.microsoft.azure:azure-spring-apps-maven-plugin:1.17.0:config
    
  2. Poniższa lista zawiera opis interakcji poleceń:

    • Wybierz moduły podrzędne do skonfigurowania(numery wejściowe rozdzielone przecinkami, np. [1–2,4,6], WPROWADŹ, aby wybrać wszystko): Naciśnij klawisz Enter , aby zaznaczyć wszystko.
    • Logowanie OAuth2: autoryzuj logowanie do platformy Azure na podstawie protokołu OAuth2.
    • Wybierz subskrypcję: wybierz numer listy subskrypcji utworzonego wystąpienia usługi Azure Spring Apps, które jest domyślnie ustawione na pierwszą subskrypcję na liście. Jeśli używasz numeru domyślnego, naciśnij klawisz Enter bezpośrednio.
    • Wybierz pozycję Azure Spring Apps do wdrożenia: wybierz numer listy utworzonego wystąpienia usługi Azure Spring Apps. Jeśli używasz numeru domyślnego, naciśnij klawisz Enter bezpośrednio.
    • Wybierz aplikacje, aby uwidocznić dostęp publiczny:(numery wejściowe oddzielone przecinkami, np. [1–2,4,6], WPROWADŹ, aby wybrać opcję NONE): Wprowadź wartość 1,5 dla admin-server i api-gateway.
    • Potwierdź, aby zapisać wszystkie powyższe konfiguracje (Y/n): Naciśnij przycisk y. Jeśli naciśniesz n, konfiguracja nie zostanie zapisana w plikach POM.
  3. Użyj następującego polecenia, aby skompilować i wdrożyć każdą aplikację:

    ./mvnw azure-spring-apps:deploy
    
  4. W przypadku monitu logowania OAuth2 autoryzuj logowanie do platformy Azure na podstawie protokołu OAuth2.

    Uwaga

    Wdrażanie w usłudze Azure Spring Apps może potrwać do 25 minut.

Po uruchomieniu polecenia dziennik wyświetla dane wyjściowe podobne do poniższego przykładu, co wskazuje, że wszystkie wdrożenia zakończyły się pomyślnie:

[INFO] Deployment(default) is successfully updated.
[INFO] Deployment Status: Running
[INFO]   InstanceName:admin-server-default-xx-xx-xxx  Status:Running Reason:null       DiscoverStatus:UP
[INFO] Getting public url of app(admin-server)...
[INFO] Application url: https://<your-Azure-Spring-Apps-instance-name>-admin-server.azuremicroservices.io

...

[INFO] Getting public url of app(api-gateway)...
[INFO] Application url: https://<your-Azure-Spring-Apps-instance-name>-api-gateway.azuremicroservices.io

2. Przygotowanie projektu Spring

Przycisk Wdróż na platformie Azure w następnej sekcji uruchamia środowisko witryny Azure Portal, które pobiera pakiet JAR ze strony wersji ASA-Samples-Web-Application w witrynie GitHub. Nie są wymagane żadne lokalne kroki przygotowania.

3. Przygotowanie środowiska chmury

Głównym zasobem, który należy uruchomić w tym przykładzie, jest wystąpienie usługi Azure Spring Apps. W tej sekcji opisano sposób tworzenia tego zasobu.

W tej sekcji użyto przycisku Wdróż na platformie Azure , aby uruchomić środowisko wdrażania w witrynie Azure Portal. To środowisko używa szablonu usługi ARM do tworzenia zasobów platformy Azure.

3.1. Zaloguj się do witryny Azure Portal.

Przejdź do witryny Azure Portal i wprowadź swoje poświadczenia, aby zalogować się do portalu. Widok domyślny to pulpit nawigacyjny usług.

3.2. Tworzenie zasobów platformy Azure

Wykonaj następujące kroki, aby utworzyć wszystkie zasoby platformy Azure, od których zależy aplikacja:

  1. Wybierz następujący przycisk Wdróż na platformie Azure , aby uruchomić środowisko wdrażania w witrynie Azure Portal:

    Przycisk wdrażania szablonu usługi Resource Manager na platformie Azure.

  2. Wypełnij formularz na karcie Podstawy . Użyj poniższej tabeli jako przewodnika do ukończenia formularza:

    Ustawienie Sugerowana wartość opis
    Subskrypcja Nazwa subskrypcji. Subskrypcja platformy Azure, która ma być używana dla serwera. Jeśli masz wiele subskrypcji, wybierz subskrypcję, w której chcesz naliczać opłaty za zasób.
    Grupa zasobów: myresourcegroup Nowa nazwa grupy zasobów lub istniejąca nazwa z subskrypcji.
    Region Region najbliżej Twoich użytkowników. Region jest używany do tworzenia grupy zasobów.

    Zrzut ekranu witryny Azure Portal przedstawiający stronę niestandardowego wdrażania.

  3. Wybierz pozycję Przejrzyj i Utwórz , aby przejrzeć wybrane opcje. Następnie wybierz pozycję Utwórz , aby wdrożyć aplikację w usłudze Azure Spring Apps.

  4. Na pasku narzędzi wybierz ikonę Powiadomienia (dzwonek), aby monitorować proces wdrażania. Po zakończeniu wdrażania możesz wybrać pozycję Przypnij do pulpitu nawigacyjnego, co spowoduje utworzenie kafelka dla tej usługi na pulpicie nawigacyjnym witryny Azure Portal jako skrótu do strony Przegląd usługi. Wybierz pozycję Przejdź do zasobu, aby otworzyć stronę Przegląd usługi.

    Zrzut ekranu witryny Azure Portal przedstawiający stronę Przegląd z otwartym okienkiem powiadomień wdrożenia niestandardowego.

4. Wdrażanie aplikacji w usłudze Azure Spring Apps

Przycisk Wdróż na platformie Azure w poprzedniej sekcji uruchamia środowisko witryny Azure Portal, które obejmuje wdrażanie aplikacji, więc nic innego nie jest potrzebne.

5. Weryfikowanie aplikacji

W poniższych sekcjach opisano sposób weryfikowania wdrożenia.

5.1. Uzyskiwanie dostępu do aplikacji

Po zakończeniu wdrażania możesz znaleźć adres URL usługi Spring Cloud Gateway z danych wyjściowych wdrożenia, jak pokazano na poniższym zrzucie ekranu:

Zrzut ekranu witryny Azure Portal przedstawiający stronę Dane wyjściowe wdrożenia.

Otwórz adres URL bramy. Aplikacja powinna wyglądać podobnie do poniższego zrzutu ekranu:

Zrzut ekranu przedstawiający aplikację PetClinic działającą w planie Azure Spring Apps Enterprise.

5.2. Wykonywanie zapytań dotyczących dzienników aplikacji

Po przejrzeniu każdej funkcji aplikacji Pet Clinic obszar roboczy usługi Log Analytics zbiera dzienniki każdej aplikacji. Dzienniki można sprawdzić przy użyciu zapytań niestandardowych, jak pokazano na poniższym zrzucie ekranu:

Zrzut ekranu witryny Azure Portal przedstawiający stronę Dzienniki zapytania w aplikacji PetClinic i wyniki planu Enterprise.

5.3. Monitorowanie aplikacji

Aplikacja Szczegółowe informacje monitoruje zależności aplikacji, jak pokazano na poniższej mapie śledzenia aplikacji:

Zrzut ekranu witryny Azure Portal przedstawiający stronę mapy aplikacji dla planu Usługi Azure Spring Apps Enterprise.

Adres URL widoku na żywo aplikacji można znaleźć w danych wyjściowych wdrożenia. Otwórz adres URL widoku na żywo aplikacji, aby monitorować środowiska uruchomieniowe aplikacji, jak pokazano na poniższym zrzucie ekranu:

Zrzut ekranu przedstawiający widok na żywo aplikacji PetClinic aplikacji.

5.1. Uzyskiwanie dostępu do aplikacji

Korzystając z informacji o adresie URL w danych wyjściowych dziennika wdrażania, otwórz adres URL uwidoczniony przez aplikację o nazwie api-gateway — na przykład https://<your-Azure-Spring-Apps-instance-name>-api-gateway.azuremicroservices.io. Aplikacja powinna wyglądać podobnie do poniższego zrzutu ekranu:

Zrzut ekranu przedstawiający aplikację PetClinic działającą w usłudze Azure Spring Apps.

5.2. Wykonywanie zapytań dotyczących dzienników aplikacji

Po przejrzeniu każdej funkcji aplikacji Pet Clinic obszar roboczy usługi Log Analytics zbiera dzienniki każdej aplikacji. Dzienniki można sprawdzić przy użyciu zapytań niestandardowych, jak pokazano na poniższym zrzucie ekranu:

Zrzut ekranu witryny Azure Portal przedstawiający stronę Dzienniki zapytania w aplikacji PetClinic i wynikach.

5.3. Monitorowanie aplikacji

Aplikacja Szczegółowe informacje monitoruje zależności aplikacji, jak pokazano na poniższej mapie śledzenia aplikacji:

Zrzut ekranu witryny Azure Portal przedstawiający stronę mapy aplikacji dla wystąpienia usługi Application Szczegółowe informacje.

Otwórz adres URL udostępniany przez aplikacjęadmin-server, aby zarządzać aplikacjami za pośrednictwem serwera Spring Boot Administracja Server, jak pokazano na poniższym zrzucie ekranu:

Zrzut ekranu strony Spring Boot Administracja Server dla aplikacji PetClinic zawierającej listę bieżących wystąpień aplikacji.

6. Czyszczenie zasobów

Jeśli planujesz kontynuować pracę z kolejnymi przewodnikami Szybki start i samouczkami, możesz pozostawić te zasoby na miejscu. Gdy zasoby nie są już potrzebne, możesz wyczyścić niepotrzebne zasoby, aby uniknąć opłat za platformę Azure.

Wykonaj następujące kroki, aby usunąć całą grupę zasobów, w tym nowo utworzone wystąpienie usługi:

  1. Znajdź grupę zasobów w witrynie Azure Portal. W menu nawigacji wybierz pozycję Grupy zasobów, a następnie wybierz nazwę grupy zasobów.

  2. Na stronie Grupa zasobów wybierz pozycję Usuń. Wprowadź nazwę grupy zasobów w polu tekstowym, aby potwierdzić usunięcie, a następnie wybierz pozycję Usuń.

Pamiętaj, aby usunąć zasoby utworzone w tym artykule, gdy nie są już potrzebne. Możesz usunąć grupę zasobów platformy Azure zawierającą wszystkie zasoby w tej grupie.

Aby usunąć całą grupę zasobów, wykonaj następujące czynności:

  1. Znajdź grupę zasobów w witrynie Azure Portal. W menu nawigacji wybierz pozycję Grupy zasobów, a następnie wybierz nazwę grupy zasobów.

  2. Na stronie Grupa zasobów wybierz pozycję Usuń. Wprowadź nazwę grupy zasobów w polu tekstowym, aby potwierdzić usunięcie, a następnie wybierz pozycję Usuń.

7. Następne kroki

Aby uzyskać więcej informacji, zobacz następujące artykuły: