Share via


Schnellstart: Bereitstellen von Microserviceanwendungen in Azure Spring Apps

Hinweis

Die ersten 50 vCPU-Stunden und 100 GB Arbeitsspeicherstunden sind jeden Monat kostenlos. Weitere Informationen finden Sie unter Preissenkung – Azure Spring Apps leistet mehr und kostet weniger! im Apps in Azure-Blog.

Hinweis

Azure Spring Apps ist der neue Name für den Azure Spring Cloud-Dienst. Obwohl der Dienst umbenannt wurde, wird der alte Name noch an einigen Stellen verwendet, solange wir Ressourcen wie Screenshots, Videos und Diagramme aktualisieren.

In diesem Artikel wird anhand der bekannten Beispiel-App PetClinic erklärt, wie Microserviceanwendungen in Azure Spring Apps bereitgestellt werden.

Das PetClinic-Beispiel veranschaulicht das Microservicearchitekturmuster. Das folgende Diagramm zeigt die Architektur der PetClinic-Anwendung im Azure Spring Apps Enterprise Plan.

Diagramm, das die Architektur des PetClinic-Beispiels im Azure Spring Apps Enterprise-Plan zeigt.

Das Diagramm zeigt die folgenden architekturbezogenen Abläufe und Beziehungen des PetClinic-Beispiels:

  • Verwendet Azure Spring Apps zur Verwaltung der Front-End- und Back-End-Anwendungen. Die Back-End-Anwendungen werden mit Spring Boot erstellt und jede Anwendung verwendet HSQLDB als persistenten Speicher. Die überarbeitete Front-End-Anwendung baut auf der Pet Clinic API Gateway App mit Node.js auf und dient als eigenständige Front-End-Webanwendung.
  • Verwendet die verwalteten Komponenten von Azure Spring Apps, einschließlich Dienstregistrierung, Anwendungskonfigurationsdienst, Spring Cloud-Gateway und Anwendungsliveansicht. Der Anwendungskonfigurationsdienst liest die Konfiguration des Git-Repositorys.
  • Macht die URL von Spring Cloud-Gateway verfügbar, um Anforderungen an Back-End-Serviceanwendungen weiterzuleiten, und macht die URL der Anwendungsliveansicht verfügbar, um die Back-End-Anwendungen zu überwachen.
  • Analysiert Protokolle mithilfe des Log Analytics-Arbeitsbereichs.
  • Überwacht die Leistung mit Application Insights.

Hinweis

In diesem Artikel wird eine vereinfachte Version von PetClinic verwendet, die eine nicht produktionsreife In-Memory-Datenbank zur schnellen Bereitstellung von Azure Spring Apps nutzt.

Die Tanzu-Entwicklertools machen den öffentlichen Zugriff auf die Anwendungsliveansicht verfügbar, was ein Risiko darstellt. Die Produktivumgebung muss den Zugriff sichern. Weitere Informationen finden Sie im Abschnitt Konfigurieren des Entwicklungstool-Portals unter Konfigurieren der Tanzu-Entwicklungstools im Azure Spring Apps Enterprise-Plan.

Das PetClinic-Beispiel veranschaulicht das Microservicearchitekturmuster. Das folgende Diagramm zeigt die Architektur der PetClinic-Anwendung im Azure Spring Apps Standard-Plan.

Diagramm, das die Architektur des PetClinic-Beispiels im Azure Spring Apps-Standardplan zeigt.

Das Diagramm zeigt die folgenden architekturbezogenen Abläufe und Beziehungen des PetClinic-Beispiels:

  • Verwendet Azure Spring Apps zum Verwalten der Spring Boot-Apps. Jede App verwendet HSQLDB als beständigen Speicher.
  • Verwendet die verwalteten Komponenten „Spring Cloud Config Server“ und „Eureka Service Registry“ auf Azure Spring Apps. Der Config Server liest die Konfiguration des Git-Repositorys.
  • Macht die URL des API-Gateways für Lastenausgleichsanforderungen für Dienst-Apps verfügbar und macht die URL des Admin Servers verfügbar, um die Anwendungen zu verwalten.
  • Analysiert Protokolle mithilfe des Log Analytics-Arbeitsbereichs.
  • Überwacht die Leistung mit Application Insights.

Hinweis

In diesem Artikel wird eine vereinfachte Version von PetClinic verwendet, die eine nicht produktionsreife In-Memory-Datenbank zur schnellen Bereitstellung von Azure Spring Apps nutzt.

Die bereitgestellte App admin-server macht den öffentlichen Zugriff verfügbar. Dies ist ein Risikopunkt. Die Produktionsumgebung muss die Spring Boot Admin-Anwendung schützen.

Dieser Artikel enthält die folgenden Optionen für die Bereitstellung in Azure Spring Apps:

  • Die Azure-Portal-Option ist die einfachste und schnellste Möglichkeit, Ressourcen zu erstellen und Anwendungen mit einem einzigen Klick bereitzustellen. Diese Option eignet sich für Spring-Entwickler, die Anwendungen schnell in Azure Cloud Services bereitstellen möchten.
  • Die Option Azure-Portal + Maven-Plug-In bietet eine herkömmlichere Möglichkeit, Ressourcen zu erstellen und Anwendungen schrittweise bereitzustellen. Sie eignet sich für Spring-Entwickler, die Azure Cloud Services zum ersten Mal verwenden.
  • Die Azure CLI nutzt ein leistungsfähiges Befehlszeilentool zum Verwalten von Azure-Ressourcen. Diese Option eignet sich für Spring-Entwickler, die mit Azure Cloud Services vertraut sind.
  • Die Option Azure-Portal + Maven-Plug-In bietet eine herkömmlichere Möglichkeit, Ressourcen zu erstellen und Anwendungen schrittweise bereitzustellen. Sie eignet sich für Spring-Entwickler, die Azure Cloud Services zum ersten Mal verwenden.
  • Die Azure Developer CLI ist eine effizientere Möglichkeit, um Ressourcen automatisch zu erstellen und Anwendungen mithilfe einfacher Befehle bereitzustellen. Die Azure Developer CLI verwendet eine Vorlage, um die erforderlichen Azure-Ressourcen und den Anwendungscode bereitzustellen. Diese Option eignet sich für Spring-Entwickler, die mit Azure Cloud Services vertraut sind.

1. Voraussetzungen

2. Vorbereiten des Spring-Projekts

Führen Sie die folgenden Schritte aus, um das Beispiel lokal vorzubereiten:

  1. Klonen Sie das Beispielprojekt mit dem folgenden Befehl:

    git clone https://github.com/Azure-Samples/spring-petclinic-microservices.git
    
  2. Navigieren Sie zum Stammverzeichnis des Projekts und verwenden Sie dann den folgenden Befehl, um das Beispielprojekt lokal auszuführen:

    bash ./scripts/run_all_without_infra.sh
    
  3. Nachdem das Skript erfolgreich abgeschlossen wurde, gehen Sie in Ihrem Browser auf http://localhost:8080, um die PetClinic Anwendung aufzurufen.

3. Cloudumgebung vorbereiten

In diesem Abschnitt wird beschrieben, wie Sie eine Azure Spring Apps-Dienstinstanz erstellen und die Azure-Cloudumgebung vorbereiten.

3.1. Melden Sie sich auf dem Azure-Portal an.

Wechseln Sie zum Azure-Portal und geben Sie Ihre Anmeldeinformationen ein, um sich beim Portal anzumelden. Die Standardansicht ist Ihr Dienstdashboard.

3.2. Erstellen einer Azure Spring Apps-Instanz

Führen Sie die folgenden Schritte aus, um die Dienstinstanz zu erstellen:

  1. Wählen Sie in der Ecke des Azure-Portals Ressource erstellen aus.

  2. Wählen Sie auf der Registerkarte Azure-Dienste die Option Compute>Azure Spring Apps aus.

    Screenshot des Azure-Portals, auf dem „Azure Spring Apps“ auf der Seite „Ressource erstellen“ hervorgehoben ist.

  3. Füllen Sie auf der Seite Azure Spring Apps erstellen das Formular auf der Registerkarte Grundlagen aus.

    Screenshot des Azure-Portals, der die Seite „Azure Spring Apps erstellen“ mit der ausgewählten Registerkarte „Grundlagen“ zeigt.

    Verwenden Sie die folgende Tabelle als Leitfaden zum Ausfüllen des Formulars. Der empfohlene Plan ist Standard.

    Einstellung Vorgeschlagener Wert BESCHREIBUNG
    Abonnement Der Name Ihres Abonnements Das Azure-Abonnement, das Sie für Ihren Server verwenden möchten. Falls Sie über mehrere Abonnements verfügen, wählen Sie das Abonnement aus, über das die Ressource abgerechnet werden soll.
    Ressourcengruppe myresourcegroup Ein neuer Ressourcengruppenname oder ein bereits vorhandener Name aus Ihrem Abonnement
    Name myasa Ein eindeutiger Name, der Ihre Azure Spring Apps-Instanz identifiziert. Der Name muss zwischen 4 und 32 Zeichen lang sein und darf nur Kleinbuchstaben, Ziffern und Bindestriche enthalten. Das erste Zeichen des Dienstnamens muss ein Buchstabe und das letzte Zeichen entweder ein Buchstabe oder eine Ziffer sein.
    Planen Standard Der Tarif bestimmt die Ressourcen und Kosten, die mit Ihrer Instanz verbunden sind.
    Region Die Region, die Ihren Benutzern am nächsten ist. Der Standort, der Ihren Benutzern am nächsten ist.
    Zonenredundant Nicht markiert Erstellt Ihren Azure Spring Apps-Dienst in einer Azure-Verfügbarkeitszone. Wird derzeit nicht in allen Regionen unterstützt.
  4. Navigieren Sie zur Registerkarte Diagnoseeinstellungen auf der Seite Azure Spring Apps erstellen, und wählen Sie dann Neu erstellen aus, um eine neue Log Analytics-Arbeitsbereichsinstanz zu erstellen. Aktualisieren Sie auf der Seite Neuen Log Analytics-Arbeitsbereich erstellen den Namen des Log Analytics-Arbeitsbereichs nach Bedarf, und wählen Sie dann OK aus, um die Erstellung zu bestätigen.

    Screenshot des Azure-Portals, der die Seite „Azure Spring Apps erstellen“ mit der ausgewählten Registerkarte „Diagnose“ und der hervorgehobenen Schaltfläche „Neu erstellen“ zeigt.

  5. Navigieren Sie zur Registerkarte Application Insights auf der Seite Azure Spring Apps erstellen, und wählen Sie dann Neu erstellen aus, um eine neue Application Insights-Instanz zu erstellen. Aktualisieren Sie auf der Seite Neue Application Insights-Ressource erstellen den Application Insights-Namen nach Bedarf, wählen Sie Arbeitsbereich-basiert für Ressourcenmodus aus, und wählen Sie dann OK aus, um die Erstellung zu bestätigen.

    Screenshot des Azure-Portals, der die Seite „Azure Spring Apps erstellen“ mit dem Bereich „Neue Application Insights-Ressource erstellen“ zeigt.

  6. Wählen Sie Überprüfen und erstellen aus, um ihre Auswahl zu überprüfen. Wählen Sie dann Erstellen aus, um die Azure Spring Apps-Instanz bereitzustellen.

  7. Klicken Sie auf das Symbol Benachrichtigungen (eine Glocke), um den Bereitstellungsprozess zu überwachen. Nach Abschluss der Bereitstellung können Sie An Dashboard anheften auswählen, um auf Ihrem Dashboard im Azure-Portal eine Verknüpfung zu erstellen, über die Sie direkt zur Seite Übersicht des Diensts gelangen.

    Screenshot des Azure-Portals, der die Bereitstellung einer Ressource und den Bereich

  8. Wählen Sie Zu Ressource wechseln aus, um zur Seite Übersicht für Azure Spring Apps zu wechseln.

  9. Wählen Sie im Navigationsbereich die Option Config Server aus.

  10. Geben Sie auf der Seite Config Server für URIhttps://github.com/Azure-Samples/spring-petclinic-microservices-config.git ein und wählen Sie dann Überprüfen aus.

    Screenshot des Azure-Portals mit der Seite

  11. Wählen Sie nach der Überprüfung Anwenden aus, um die Konfiguration des Konfigurationsservers abzuschließen.

4. Bereitstellen der Apps in Azure Spring Apps

Sie können die App jetzt in Azure Spring Apps bereitstellen.

Führen Sie die folgenden Schritte aus, um die Microserviceanwendungen mithilfe des Maven-Plug-Ins für Azure Spring Apps bereitzustellen:

  1. Navigieren Sie zum Beispielprojektverzeichnis und verwenden Sie dann den folgenden Befehl, um die Apps für Azure Spring Apps zu konfigurieren:

    ./mvnw -P spring-apps com.microsoft.azure:azure-spring-apps-maven-plugin:1.17.0:config
    
  2. In der folgenden Liste werden die Befehlsinteraktionen beschrieben:

    • Wählen Sie die zu konfigurierenden untergeordneten Module (durch Komma getrennt eingeben, z. B. [1-2,4,6]; EINGABETASTE, um ALLE auszuwählen): Drücken Sie die EINGABETASTE, um alle auszuwählen.
    • OAuth2-Anmeldung: Autorisieren Sie die Anmeldung bei Azure basierend auf dem OAuth2-Protokoll.
    • Abonnement auswählen: Wählen Sie die Nummer der von Ihnen erstellten Azure Spring Apps-Instanz in der Abonnementliste aus, die standardmäßig das erste Abonnement in der Liste ist. Wenn Sie die Standardnummer verwenden, drücken Sie direkt die EINGABETASTE.
    • Auswählen von Azure Spring Apps für die Bereitstellung: Wählen Sie die Listennummer der von Ihnen erstellten Azure Spring Apps-Instanz aus. Wenn Sie die Standardnummer verwenden, drücken Sie direkt die EINGABETASTE.
    • Wählen Sie Apps aus, um den öffentlichen Zugriff verfügbar zu machen (durch Komma getrennt eingeben, z. B. [1-2,4,6]; EINGABETASTE, um KEINE auszuwählen): Geben Sie 1,5 für admin-server und api-gateway ein.
    • Bestätigen Sie, dass alle oben genannten Konfigurationen (Y/n) gespeichert werden sollen: Drücken Sie y. Wenn Sie n drücken, wird die Konfiguration nicht in den POM-Dateien gespeichert.
  3. Verwenden Sie den folgenden Befehl, um alle Anwendungen zu erstellen und bereitzustellen:

    ./mvnw azure-spring-apps:deploy
    
  4. Für die OAuth2-Anmeldung-Eingabeaufforderung: Autorisieren Sie die Anmeldung bei Azure basierend auf dem OAuth2-Protokoll.

    Hinweis

    Die Bereitstellung in Azure Spring Apps kann bis zu 25 Minuten dauern.

Sobald der Befehl ausgeführt wird, zeigt ein Protokoll eine Ausgabe ähnlich dem folgenden Beispiel an, die angibt, dass alle Bereitstellungen erfolgreich waren:

[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. Vorbereiten des Spring-Projekts

Die Schaltfläche Bereitstellen in Azure im nächsten Abschnitt startet eine Azure-Portal-Erfahrung, die ein JAR-Paket von der Seite Versionen von ASA-Samples-Web-Application auf GitHub herunterlädt. Es sind keine lokalen Vorbereitungsschritte erforderlich.

3. Cloudumgebung vorbereiten

Die wichtigsten Ressource, die Sie zum Ausführen dieses Beispiels benötigen, ist eine Azure Spring Apps-Instanz. In diesem Abschnitt wird beschrieben, wie diese Ressource erstellt wird.

In diesem Abschnitt wird eine Schaltfläche Bereitstellen in Azure verwendet, um eine Bereitstellung im Azure-Portal zu starten. Diese Erfahrung verwendet eine ARM-Vorlage zum Erstellen von Azure-Ressourcen.

3.1. Melden Sie sich auf dem Azure-Portal an.

Wechseln Sie zum Azure-Portal und geben Sie Ihre Anmeldeinformationen ein, um sich beim Portal anzumelden. Die Standardansicht ist Ihr Dienstdashboard.

3.2. Erstellen von Azure-Ressourcen

Führen Sie die folgenden Schritte aus, um alle Azure-Ressourcen zu erstellen, von denen die App abhängig ist:

  1. Wählen Sie die folgende Schaltfläche In Azure bereitstellen aus, um die Bereitstellung im Azure-Portal zu starten:

    Schaltfläche zum Bereitstellen der Resource Manager-Vorlage in Azure.

  2. Füllen Sie das Formular auf der Registerkarte Grundlagen aus. Verwenden Sie die folgende Tabelle als Leitfaden zum Ausfüllen des Formulars:

    Einstellung Vorgeschlagener Wert BESCHREIBUNG
    Abonnement Der Name Ihres Abonnements Das Azure-Abonnement, das Sie für Ihren Server verwenden möchten. Falls Sie über mehrere Abonnements verfügen, wählen Sie das Abonnement aus, über das die Ressource abgerechnet werden soll.
    Ressourcengruppe myresourcegroup Ein neuer Ressourcengruppenname oder ein bereits vorhandener Name aus Ihrem Abonnement
    Region Die Region, die Ihren Benutzern am nächsten ist. Die Region wird verwendet, um die Ressourcengruppe zu erstellen.

    Screenshot des Azure-Portals, der die Seite „Benutzerdefinierte Bereitstellung“ zeigt.

  3. Wählen Sie Überprüfen und erstellen aus, um ihre Auswahl zu überprüfen. Wählen Sie dann Erstellen aus, um die App in Azure Spring Apps bereitzustellen.

  4. Klicken Sie auf der Symbolleiste auf das Symbol Benachrichtigungen (eine Glocke), um den Bereitstellungsprozess zu überwachen. Nach Abschluss der Bereitstellung können Sie An Dashboard anheften auswählen, wodurch auf Ihrem Azure-Portal-Dashboard eine Kachel für diesen Dienst erstellt wird, die als Verknüpfung zur Seite Übersicht des Diensts fungiert. Wählen Sie Zu Ressource wechseln aus, um die Seite Übersicht des Diensts zu öffnen.

    Screenshot des Azure-Portals, der die Seite

4. Bereitstellen der Apps in Azure Spring Apps

Die Schaltfläche Bereitstellen in Azure im vorherigen Abschnitt startet eine Azure-Portal-Erfahrung, die die Anwendungsbereitstellung umfasst, sodass nichts anderes erforderlich ist.

5. Überprüfen der Apps

In den folgenden Abschnitten wird beschrieben, wie die Bereitstellung überprüft wird.

5.1. Zugreifen auf die Anwendungen

Nach Abschluss der Bereitstellung finden Sie die Spring Cloud Gateway-URL in den Bereitstellungsausgaben, wie im folgenden Screenshot gezeigt:

Screenshot: Seite

Öffnen Sie die Gateway-URL. Die Anwendung sollte ähnlich wie im folgenden Screenshot aussehen:

Screenshot der PetClinic-Anwendung, die im Azure Spring Apps Enterprise-Plan ausgeführt wird.

5.2. Abfragen der Anwendungsprotokolle

Nachdem Sie die einzelnen Funktionen der PetClinic-App durchsucht haben, sammelt der Log Analytics-Arbeitsbereich Protokolle der einzelnen Anwendungen. Sie können die Protokolle mithilfe benutzerdefinierter Abfragen überprüfen, wie im folgenden Screenshot gezeigt:

Screenshot des Azure-Portals, auf dem die Seite

5.3. Überwachen der Anwendungen

Application Insights überwacht die Anwendungsabhängigkeiten, wie die folgende Anwendungsablaufverfolgungsübersicht zeigt:

Screenshot des Azure-Portals, auf dem die Seite

Sie finden die Anwendungsliveansicht-URL in den Bereitstellungsausgaben. Öffnen Sie die Anwendungsliveansicht-URL, um Anwendungslaufzeiten zu überwachen, wie im folgenden Screenshot gezeigt:

Screenshot: Anwendungsliveansicht für die PetClinic-Anwendung.

5.1. Zugreifen auf die Anwendungen

Öffnen Sie mithilfe der URL-Informationen in der Ausgabe des Bereitstellungsprotokolls die URL, die von der App namens api-gateway verfügbar gemacht wird, z. B. https://<your-Azure-Spring-Apps-instance-name>-api-gateway.azuremicroservices.io. Die Anwendung sollte ähnlich wie im folgenden Screenshot aussehen:

Screenshot der PetClinic-Anwendung, die in Azure Spring Apps ausgeführt wird.

5.2. Abfragen der Anwendungsprotokolle

Nachdem Sie die einzelnen Funktionen der PetClinic-App durchsucht haben, sammelt der Log Analytics-Arbeitsbereich Protokolle der einzelnen Anwendungen. Sie können die Protokolle mithilfe benutzerdefinierter Abfragen überprüfen, wie im folgenden Screenshot gezeigt:

Screenshot des Azure-Portals, der die Seite „Protokolle“ der Abfrage für die PetClinic-Anwendung und die Ergebnisse zeigt.

5.3. Überwachen der Anwendungen

Application Insights überwacht die Anwendungsabhängigkeiten, wie die folgende Anwendungsablaufverfolgungsübersicht zeigt:

Screenshot des Azure-Portals, der die Seite „Anwendungsübersicht“ für eine Application Insights-Instanz zeigt.

Öffnen Sie die URL, die von der App admin-server verfügbar gemacht wird, um die Anwendungen über den Spring Boot-Verwaltungsserver zu verwalten, wie im folgenden Screenshot gezeigt:

Screenshot der Seite des Spring Boot Verwaltungsservers für die PetClinic-Anwendung, der die aktuellen Anwendungsinstanzen auflistet.

6. Bereinigen von Ressourcen

Falls Sie mit weiteren Schnellstartanleitungen und Tutorials fortfahren möchten, sollten Sie die Ressourcen nicht bereinigen. Wenn Sie die Ressourcen nicht mehr benötigen, können Sie unnötige Ressourcen bereinigen, um Azure-Gebühren zu vermeiden.

Führen Sie die folgenden Schritte aus, um die gesamte Ressourcengruppe zu löschen, einschließlich der neu erstellten Dienstinstanz:

  1. Navigieren Sie im Azure-Portal zu Ihrer Ressourcengruppe. Wählen Sie im Navigationsmenü Ressourcengruppen und dann den Namen Ihrer Ressourcengruppe aus.

  2. Wählen Sie auf der Seite Ressourcengruppe die Option Löschen. Geben Sie den Namen Ihrer Ressourcengruppe in das Textfeld ein, um das Löschen zu bestätigen, und wählen Sie dann Löschen aus.

Vergessen Sie nicht, die in diesem Artikel erstellten Ressourcen zu löschen, wenn Sie sie nicht mehr benötigen. Sie können die Azure-Ressourcengruppe einschließlich aller darin enthaltenen Ressourcen löschen.

Führen Sie die folgenden Schritte aus, um die gesamte Ressourcengruppe zu löschen:

  1. Navigieren Sie im Azure-Portal zu Ihrer Ressourcengruppe. Wählen Sie im Navigationsmenü Ressourcengruppen und dann den Namen Ihrer Ressourcengruppe aus.

  2. Wählen Sie auf der Seite Ressourcengruppe die Option Löschen. Geben Sie den Namen Ihrer Ressourcengruppe in das Textfeld ein, um das Löschen zu bestätigen, und wählen Sie dann Löschen aus.

7. Nächste Schritte

Weitere Informationen finden Sie in den folgenden Artikeln: