Migrieren von Spring Boot-Anwendungen zu Azure Spring Apps

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 Handbuch wird beschrieben, was Sie beachten sollten, wenn Sie eine vorhandene Spring Boot-Anwendung migrieren möchten, die auf Azure Spring Apps ausgeführt werden soll.

Vor der Migration

Führen Sie vor Beginn einer Migration die in den folgenden Abschnitten beschriebenen Schritte zur Bewertung und Bestandsermittlung aus, um eine erfolgreiche Migration zu gewährleisten.

Falls Sie keine dieser Voraussetzungen für die Migration erfüllen können, sehen Sie sich die folgenden Begleithandbücher an:

  • Migrieren ausführbarer JAR-Anwendungen zu Containern in Azure Kubernetes Service (Leitfaden geplant)
  • Migrieren ausführbarer JAR-Anwendungen zu Azure Virtual Machines (Leitfaden geplant)

Untersuchen der Anwendungskomponenten

Identifizieren des lokalen Zustands

In PaaS-Umgebungen ist es nicht gewährleistet, dass die Anwendung zu einem beliebigen Zeitpunkt genau ein Mal ausgeführt wird. Auch wenn Sie eine Anwendung so konfigurieren, dass Sie in einer einzelnen Instanz ausgeführt wird, kann in den folgenden Fällen eine doppelte Instanz erstellt werden:

  • Die Anwendung muss aufgrund eines Fehlers oder eines Systemupdates auf einen physischen Host verschoben werden.
  • Die Anwendung wird aktualisiert.

In diesen Fällen wird die ursprüngliche Instanz weiterhin ausgeführt, bis der Start der neuen Instanz abgeschlossen wurde. Dies besitzt die folgenden potenziell erheblichen Auswirkungen auf Ihre Anwendung:

  • Für kein Singleton kann gewährleistet werden, dass es wirklich einzeln ist.
  • Alle Daten, die nicht in einem externen Speicher persistent gespeichert wurden, gehen wahrscheinlich viel schneller verloren als auf einem einzelnen physischen Server oder einer VM.

Stellen Sie vor der Migration zu Azure Spring Apps sicher, dass Ihr Code keinen lokalen Zustand enthält, der nicht verloren gehen oder dupliziert werden darf. Wenn ein lokaler Zustand vorhanden ist, ändern Sie den Code so, dass dieser Zustand außerhalb der Anwendung gespeichert wird. Für die Cloud bereite Anwendungen speichern den Anwendungsstatus in der Regel in folgenden Speicherorten:

Ermitteln, ob und wie das Dateisystem verwendet wird

Suchen Sie nach Fällen, in denen Ihre Dienste Daten in das lokale Dateisystem schreiben bzw. Daten daraus lesen. Ermitteln Sie, wo kurzlebige/temporäre Dateien geschrieben und gelesen und wo langlebige Dateien geschrieben und gelesen werden.

Hinweis

Azure Spring Apps bietet 5 GB temporären Speicher pro Azure Spring Apps-Instanz, bereitgestellt in /tmp. Wenn die geschriebenen temporären Dateien über diesen Grenzwert hinausgehen oder an einen anderen Speicherort geschrieben werden, sind Codeänderungen erforderlich.

Schreibgeschützter statischer Inhalt

Falls mit Ihrer Anwendung derzeit statischer Inhalt bereitgestellt wird, benötigen Sie dafür einen anderen Speicherort. Sie können beispielsweise erwägen, statischen Inhalt in Azure Blob Storage zu verschieben und Azure CDN hinzuzufügen, um global eine sehr hohe Downloadgeschwindigkeit zu erzielen. Weitere Informationen finden Sie unter Hosten von statischen Websites in Azure StorageundSchnellstart: Integrieren eines Azure-Speicherkontos in Azure CDN.

Dynamisch veröffentlichter statischer Inhalt

Wenn Ihre Anwendung statischen Inhalt zulässt, der von Ihrer Anwendung hochgeladen bzw. produziert wird, nach der Erstellung aber unveränderlich ist, können Sie Azure Blob Storage und Azure CDN wie oben beschrieben nutzen. Hierbei können Sie auch eine Azure-Funktion zum Verarbeiten von Uploads und der CDN-Aktualisierung verwenden. Eine entsprechende Beispielimplementierung finden Sie unter Hochladen und CDN-Vorabladen von statischem Inhalt mit Azure Functions.

Ermitteln, ob Dienste betriebssystemspezifischen Code enthalten

Wenn Ihre Anwendung Code mit Abhängigkeiten vom Hostbetriebssystem enthält, müssen Sie ihn umgestalten, um diese Abhängigkeiten zu beseitigen. Beispielsweise müssen Sie ggf. alle Vorkommen von / oder \ in Dateisystempfaden durch File.Separator oder Paths.get ersetzen.

Wechseln zu einer unterstützten Plattform

Azure Spring Apps bietet spezifische Versionen von Java und spezifischen Versionen von Spring Boot und Spring Cloud. Migrieren Sie zur Sicherstellung der Kompatibilität Ihre Anwendung zunächst zu einer der unterstützten Versionen von Java in der aktuellen Umgebung, und führen Sie anschließend die restlichen Schritte zur Migration aus. Achten Sie darauf, dass Sie die sich ergebende Konfiguration umfassend testen. Verwenden Sie für diese Tests das neueste stabile Release Ihrer Linux-Distribution.

Hinweis

Diese Überprüfung ist besonders wichtig, wenn Ihr aktueller Server auf einem nicht unterstützten JDK (z. B. Oracle JDK oder IBM OpenJ9) ausgeführt wird.

Melden Sie sich an Ihrem Produktionsserver an, und führen Sie den folgenden Befehl aus, um Ihre aktuelle Java-Version zu ermitteln:

java -version

Unterstützte Versionen von Java, Spring Boot und Spring Cloud sowie Anleitungen zum Aktualisieren finden Sie unter Vorbereiten einer Anwendung für die Bereitstellung in Azure Spring Apps.

Ermitteln, ob für Ihre Anwendung geplante Aufträge benötigt werden

Geplante Aufträge, z. B. Quarzplaneraufgaben oder Unix-Cron-Aufträge, sollten NICHT mit Azure Spring Apps verwendet werden. Azure Spring Apps hindert Sie nicht daran, eine Anwendung mit geplanten Aufgaben intern bereitzustellen. Wenn Ihre Anwendung aber horizontal hochskaliert wird, wird derselbe geplante Auftrag unter Umständen mehrmals pro geplantem Zeitraum ausgeführt. Diese Situation kann unerwünschte Konsequenzen haben.

Inventarisieren Sie alle geplanten Aufgaben, die auf Produktionsservern ausgeführt werden, innerhalb oder außerhalb Ihres Anwendungscodes.

Ermitteln von Spring Boot-Versionen

Überprüfen Sie die Abhängigkeiten der einzelnen Anwendungen, die migriert werden, um ihre Spring Boot-Version zu bestimmen.

Maven

Bei Maven-Projekten befindet sich die Spring Boot-Version in der Regel im <parent>-Element der POM-Datei:

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.7.10</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>
Gradle

Bei Gradle-Projekten befindet sich die Spring Boot-Version in der Regel im Abschnitt plugins als Version des Plug-Ins org.springframework.boot:

plugins {
  id 'org.springframework.boot' version '2.7.10'
  id 'io.spring.dependency-management' version '1.0.15.RELEASE'
  id 'java'
}

Gehen Sie bei Anwendungen, die Spring Boot 1.x verwenden, wie im Migrationshandbuch für Spring Boot 2.0 beschrieben vor, um sie auf eine unterstützte Spring Boot-Version zu aktualisieren. Unterstützte Versionen finden Sie im Abschnitt Spring Boot and Spring Cloud versions of Prepare an application for deployment in Azure Spring Apps.For supported versions, see the Spring Boot and Spring Cloud versions section of Prepare an application for deployment in Azure Spring Apps.

Ermitteln von Protokollaggregationslösungen

Identifizieren Sie alle Protokollaggregationslösungen, die von den anwendungen verwendet werden, die Sie migrieren. Sie müssen diagnoseeinstellungen in der Migration konfigurieren, um protokollierte Ereignisse für den Verbrauch verfügbar zu machen. Weitere Informationen finden Sie im Abschnitt "Sicherstellen der Konsolenprotokollierung und Konfigurieren von Diagnoseeinstellungen" .

Ermitteln von APM-Agents (Application Performance Management, Anwendungsleistungsverwaltung)

Identifizieren Sie alle Anwendungsleistungsüberwachungs-Agents, die mit Ihren Anwendungen verwendet werden. Azure Spring Apps unterstützt die Integration in Application Insights, New Relic, Elastic APM, Dynatrace und AppDynamics. Wenn die Anwendung eine unterstützte APM verwendet, konfigurieren Sie die Integration in die Migration. Wenn die Anwendung keine unterstützte APM verwendet, sollten Sie stattdessen Application Insights verwenden. Weitere Informationen finden Sie im Abschnitt "Migration ".

Bestand: Externe Ressourcen

Identifizieren Sie externe Ressourcen, z. B. Datenquellen, JMS-Nachrichtenbroker und URLs anderer Dienste. Bei Spring Boot-Anwendungen befindet sich die Konfiguration solcher Ressourcen üblicherweise im Ordner src/main/directory in einer Datei namens application.properties oder application.yml.

Datenbanken

Identifizieren Sie für jede SQL-Datenbank die Verbindungszeichenfolge.

Für eine Spring Boot-Anwendung werden Verbindungszeichenfolgen normalerweise in Konfigurationsdateien angezeigt.

Hier ist ein Beispiel aus der Datei application.properties angegeben:

spring.datasource.url=jdbc:mysql://localhost:3306/mysql_db
spring.datasource.username=dbuser
spring.datasource.driver-class-name=com.mysql.jdbc.Driver

Hier ist ein Beispiel aus der Datei application.yaml angegeben:

spring:
  data:
    mongodb:
      uri: mongodb://mongouser:deepsecret@mongoserver.contoso.com:27017

Weitere mögliche Konfigurationsszenarien finden Sie in der Dokumentation zu Spring Data:

JMS-Nachrichtenbroker

Ermitteln Sie die verwendeten Broker, indem Sie sich im Buildmanifest (in der Regel eine Datei vom Typ pom.xml oder build.gradle) die relevanten Abhängigkeiten ansehen.

Bei einer Spring Boot-Anwendung, die ActiveMQ verwendet, ist diese Abhängigkeit beispielsweise in der Datei pom.xml enthalten:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-activemq</artifactId>
</dependency>

Spring Boot-Anwendungen mit kommerziellen Brokern enthalten in der Regel Abhängigkeiten direkt von den JMS-Treiberbibliotheken der Broker. Hier ist ein Beispiel aus der Datei build.gradle angegeben:

    dependencies {
      ...
      compile("com.ibm.mq:com.ibm.mq.allclient:9.0.4.0")
      ...
    }

Nachdem Sie den oder die verwendeten Broker ermittelt haben, können Sie nach den entsprechenden Einstellungen suchen. Bei Spring Boot-Anwendungen befinden sich diese in der Regel im Anwendungsverzeichnis in den Dateien application.properties und application.yml.

Hier ist ein ActiveMQ-Beispiel aus der Datei application.properties angegeben:

spring.activemq.brokerurl=broker:(tcp://localhost:61616,network:static:tcp://remotehost:61616)?persistent=false&useJmx=true
spring.activemq.user=admin
spring.activemq.password=tryandguess

Weitere Informationen zur ActiveMQ-Konfiguration finden Sie in der Dokumentation zu Spring Boot-Messaging.

Hier ist ein IBM MQ-Beispiel aus der Datei application.yaml angegeben:

ibm:
  mq:
    queueManager: qm1
    channel: dev.ORDERS
    connName: localhost(14)
    user: admin
    password: big$ecr3t

Weitere Informationen zur IBM MQ-Konfiguration finden Sie in der Dokumentation zu IBM MQ Spring-Komponenten.

Identifizieren von externen Caches

Ermitteln Sie alle verwendeten externen Caches. Redis wird häufig über Spring Data Redis verwendet. Informationen zur Konfiguration finden Sie in der Spring Data Redis-Dokumentation.

Ermitteln Sie, ob Sitzungsdaten über Spring Session zwischengespeichert werden. Suchen Sie dazu nach der entsprechenden Konfiguration (in Java oder XML).

Identitätsanbieter

Identifizieren Sie alle Identitätsanbieter, die von Ihrer Anwendung verwendet werden. Informationen zum Konfigurieren von Identitätsanbietern finden Sie in den folgenden Artikeln:

Identifizieren von Clients, die einen nicht standardmäßigen Port verwenden

Azure Spring Apps überschreibt die server.port Einstellung in der bereitgestellten Anwendung. Wenn Clients davon abhängig sind, dass die Anwendung an einem anderen Port als 443 verfügbar ist, müssen Sie die betreffende Einstellung ändern.

Alle anderen externen Ressourcen

Es würde den Rahmen dieses Leitfadens sprengen, jede mögliche externe Abhängigkeit zu dokumentieren. Vergewissern Sie sich daher nach der Migration, dass alle externen Abhängigkeiten Ihrer Anwendung abgedeckt wurden.

Ermitteln des Bestands an Konfigurationsquellen und Geheimnissen

Ermitteln des Bestands an Kennwörtern und sicheren Zeichenfolgen

Überprüfen Sie alle Eigenschaften und Konfigurationsdateien sowie alle Umgebungsvariablen in den Produktionsbereitstellungen auf Geheimniszeichenfolgen und Kennwörter. In einer Spring Boot-Anwendung befinden sich diese Zeichenfolgen in der Regel in der Datei application.properties oder application.yml.

Inventarisieren von Zertifikaten

Dokumentieren Sie alle Zertifikate, die für öffentliche SSL-Endpunkte oder für die Kommunikation mit Back-End-Datenbanken und anderen Systemen verwendet werden. Sie können alle Zertifikate auf den Produktionsservern anzeigen, indem Sie den folgenden Befehl ausführen:

keytool -list -v -keystore <path to keystore>

Untersuchen der Bereitstellungsarchitektur

Dokumentieren der Hardwareanforderungen für die einzelnen Dienste

Dokumentieren Sie die folgenden Informationen für Ihre Spring Boot-Anwendung:

  • Anzahl ausgeführter Instanzen
  • Anzahl zugewiesener CPUs für die jeweilige Instanz
  • Zugewiesener Arbeitsspeicher für die jeweilige Instanz

Dokumentieren von Georeplikation/Verteilung

Ermitteln Sie, ob die Spring Boot-Anwendungsinstanzen derzeit auf mehrere Regionen oder Rechenzentren verteilt sind. Dokumentieren Sie die Betriebszeitanforderungen/SLA für die zu migrierenden Anwendungen.

Migration

Erstellen einer Azure Spring Apps-Instanz und -Apps

Stellen Sie eine Azure Spring Apps-Instanz in Ihrem Azure-Abonnement bereit, sofern noch keines vorhanden ist. Erstellen Sie dort anschließend eine Anwendung. Weitere Informationen finden Sie unter Schnellstart: Bereitstellen Ihrer ersten Anwendung in Azure Spring Apps.

Sicherstellen der Konsolenprotokollierung und Konfigurieren von Diagnoseeinstellungen

Konfigurieren Sie Ihre Protokollierung so, dass alle Ausgaben nicht in Dateien, sondern an die Konsole weitergeleitet werden.

Nachdem eine Anwendung in Azure Spring Apps bereitgestellt wurde, fügen Sie eine Diagnoseeinstellung hinzu, um protokollierte Ereignisse für den Verbrauch verfügbar zu machen, z. B. über Azure Monitor Log Analytics.

LogStash/ELK-Stapel

Wenn Sie LogStash bzw. den ELK-Stapel für die Protokollaggregation verwenden, konfigurieren Sie die Diagnoseeinstellung so, dass die Konsolenausgabe an einen Azure Event Hub gestreamt wird. Verwenden Sie dann das Event Hub-Plug-In für LogStash, um protokollierte Ereignisse in LogStash zu erfassen.

Splunk

Wenn Sie Splunk für die Protokollaggregation verwenden, konfigurieren Sie die Diagnoseeinstellung so, dass die Konsolenausgabe an Azure Blob Storage gestreamt wird. Verwenden Sie dann das Splunk-Add-On für Microsoft Cloud Services, um protokollierte Ereignisse in Splunk zu erfassen.

Konfigurieren von persistentem Speicher

Wenn ein Teil Ihrer Anwendung aus dem lokalen Dateisystem liest oder in das lokale Dateisystem schreibt, müssen Sie beständigen Speicher konfigurieren, um das lokale Dateisystem zu ersetzen. Weitere Informationen finden Sie unter Verwenden des integrierten beständigen Speichers in Azure Spring Apps.

Temporäre Dateien sollten in das Verzeichnis /tmp geschrieben werden. Dieses Verzeichnis kann unabhängig vom Betriebssystem mithilfe von System.getProperty("java.io.tmpdir") abgerufen werden. Sie können temporäre Dateien auch mithilfe von java.nio.Files::createTempFile erstellen.

Migrieren aller Zertifikate zu Key Vault

Azure Spring Apps bietet keinen Zugriff auf den JRE-Keystore. Daher müssen Sie Zertifikate zu Azure KeyVault migrieren und den Anwendungscode ändern, um auf Zertifikate in KeyVault zuzugreifen. Weitere Informationen finden Sie unter Erste Schritte mit Key Vault-Zertifikaten sowie unter Azure Key Vault-Zertifikat: Clientbibliothek für Java (Version 4.0.3).

Konfigurieren von APM-Integrationen (Application Performance Management)

Azure Spring Apps bietet die folgenden APM-Integrationen. Folgen Sie den Links, um das benötigte APM zu aktivieren.

Wenn Ihre Anwendung kein unterstütztes APM verwendet, sollten Sie stattdessen Application Insights verwenden. Azure Spring Apps bietet umfassende Integration in Application Insights für das Leistungsmanagement und die Echtzeitantwort auf Aberrationen.

Deaktivieren von Metrikclients und -endpunkten in Ihren Anwendungen

Entfernen Sie alle in Ihren Anwendungen verwendeten Metrikclients oder verfügbar gemachten Metrikendpunkte.

Bereitstellen der Anwendung

Stellen Sie alle migrierten Microservices (nicht einschließlich der Spring Cloud Config und Registry-Server) bereit, wie in der Schnellstartanleitung beschrieben: Bereitstellen Ihrer ersten Anwendung in Azure Spring Apps.

Konfigurieren dienstspezifischer Geheimnisse und externalisierter Einstellungen

Dienstspezifische Konfigurationseinstellungen können den einzelnen Diensten als Umgebungsvariablen hinzugefügt werden. Führen Sie im Azure-Portal die folgenden Schritte aus:

  1. Navigieren Sie zur Azure Spring Apps-Instanz, und wählen Sie "Apps" aus.
  2. Wählen Sie den zu konfigurierenden Dienst aus.
  3. Wählen Sie Konfiguration aus.
  4. Geben Sie die zu konfigurierenden Variablen ein.
  5. Wählen Sie Speichern.

Spring Cloud App Configuration Settings

Migrieren und Aktivieren des Identitätsanbieters

Sollte für Spring Cloud-Anwendungen eine Authentifizierung oder Autorisierung erforderlich sein, stellen Sie sicher, dass sie für den Zugriff auf den Identitätsanbieter konfiguriert sind:

  • Wenn der Identitätsanbieter die Microsoft Entra-ID ist, sollten keine Änderungen erforderlich sein.
  • Wenn der Identitätsanbieter eine lokales Active Directory Gesamtstruktur ist, sollten Sie eine Hybrididentitätslösung mit Microsoft Entra ID implementieren. Weitere Informationen finden Sie in der Dokumentation zur Hybrid-Identität.
  • Wenn der Identitätsanbieter eine andere lokale Lösung ist, z. B. PingFederate, lesen Sie die benutzerdefinierte Installation von Microsoft Entra Verbinden Thema, um den Partnerverbund mit Microsoft Entra ID zu konfigurieren. Alternativ können Sie Spring Security nutzen, um Ihren Identitätsanbieter über OAuth2/OpenID Connect oder SAML zu verwenden.

Verfügbarmachen der Anwendung

Standardmäßig sind anwendungen, die in Azure Spring Apps bereitgestellt werden, nicht extern sichtbar. Sie können Ihre Anwendung verfügbar machen, indem Sie sie mit dem folgenden Befehl für die Öffentlichkeit freigeben:

az spring app update --name <application name> --is-public true

Überspringen Sie diesen Schritt, wenn Sie ein Spring Cloud Gateway verwenden oder verwenden möchten. Weitere Informationen finden Sie im folgenden Abschnitt.

Nach der Migration

Nachdem Sie die Migration abgeschlossen haben, überprüfen Sie, ob Ihre Anwendung erwartungsgemäß funktioniert. Mithilfe der folgenden Empfehlungen können Sie Ihre Anwendung anschließend cloudnativer gestalten.

  • Ziehen Sie in Erwägung, die Anwendung für die Verwendung der Spring Cloud-Registrierung zu aktivieren. Dadurch kann Ihre Anwendung dynamisch von anderen bereitgestellten Spring-Anwendungen und -Clients ermittelt werden. Weitere Informationen finden Sie unter Vorbereiten einer Anwendung für die Bereitstellung in Azure Spring Apps. Ändern Sie dann alle Anwendungsclients so, dass sie den Spring Client Load Balancer verwenden. Dadurch kann der Client Adressen aller ausgeführten Instanzen der Anwendung abrufen und eine Instanz suchen, die funktioniert, wenn eine andere Instanz beschädigt oder nicht reagiert. Weitere Informationen finden Sie im Spring Tipps: Spring Cloud Load Balancer im Spring Blog.

  • Anstatt Ihre Anwendung öffentlich zu machen, können Sie wahlweise auch eine Spring Cloud Gateway-Instanz hinzufügen. Spring Cloud Gateway stellt einen einzelnen Endpunkt für alle Anwendungen bereit, die in Ihrer Azure Spring Apps-Instanz bereitgestellt werden. Wenn bereits ein Spring Cloud Gateway bereitgestellt wurde, stellen Sie sicher, dass es für die Weiterleitung von Datenverkehr an die neu bereitgestellte Anwendung konfiguriert ist.

  • Erwägen Sie das Hinzufügen eines Spring Cloud Config-Servers zur zentralen Verwaltung und Versionssteuerungskonfiguration für alle Ihre Spring Cloud-Anwendungen. Erstellen Sie zunächst ein Git-Repository, um die Konfiguration zu speichern und die Azure Spring Apps-Instanz so zu konfigurieren, dass sie verwendet wird. Weitere Informationen finden Sie unter Einrichten einer Spring Cloud-Konfigurationsserverinstanz für Ihren Dienst. Migrieren Sie dann Ihre Konfiguration mit den folgenden Schritten:

    1. Erstellen Sie im Verzeichnis src/main/resources der Anwendung die Datei bootstrap.yml mit den folgenden Inhalten:

        spring:
          application:
            name: <your-application-name>
      
    2. Erstellen Sie im Git-Repository für die Konfiguration eine <Datei "your-application-name.yml>", wobei your-application-name sie mit dem vorherigen Schritt identisch ist. Verschieben Sie die Einstellungen aus der Datei application.yml in die src/main/resources in die soeben neu erstellte Datei. Wenn die Einstellungen zuvor in einer PROPERTIES-Datei gespeichert waren, müssen sie zunächst in YAML konvertiert werden. Für diese Konvertierung finden Sie Onlinetools oder IntelliJ-Plug-Ins.

    3. Erstellen Sie im obigen Verzeichnis die Datei application.yml. Sie können diese Datei verwenden, um Einstellungen und Ressourcen zu definieren, die für alle Anwendungen in der Azure Spring Apps-Instanz freigegeben werden. Diese Einstellungen umfassen in der Regel u. a. Datenquellen, Protokollierungseinstellungen und die Konfiguration des Spring Boot-Aktors.

    4. Commiten und pushen Sie diese Änderungen in das Git-Repository.

    5. Entfernen Sie die Datei application.properties oder application.yml aus der Anwendung.

  • Fügen Sie ggf. eine Bereitstellungspipeline für automatische, konsistente Bereitstellungen hinzu. Eine entsprechende Anleitung steht für Azure Pipelines, für GitHub Actions und für Jenkins zur Verfügung.

  • Verwenden Sie ggf. Stagingbereitstellungen, um Codeänderungen in der Produktionsumgebung zu testen, bevor sie für einige oder alle Endbenutzer verfügbar werden. Weitere Informationen finden Sie unter Einrichten einer Stagingumgebung in Azure Spring Apps.

  • Fügen Sie ggf. Dienstbindungen hinzu, um Ihre Anwendung mit unterstützten Azure-Datenbanken zu verbinden. Bei Verwendung dieser Dienstbindungen müssten für Ihre Spring Cloud-Anwendungen keine Verbindungsinformationen mehr angegeben werden (auch keine Anmeldeinformationen).

  • Erwägen Sie die Verwendung Azure-App lication Insights, um die Leistung und Interaktionen Ihrer Anwendungen zu überwachen. Weitere Informationen finden Sie unter Application Insights: Java-In-Process-Agents in Azure Spring Apps.

  • Fügen Sie zur schnellen Erkennung und Behandlung von Anomalien ggf. Azure Monitor-Warnungsregeln und -Aktionsgruppen hinzu. Weitere Informationen finden Sie im Lernprogramm: Überwachen von Spring Cloud-Ressourcen mithilfe von Warnungen und Aktionsgruppen.

  • Erwägen Sie, die Azure Spring Apps-Bereitstellung in einer anderen Region für niedrigere Latenz und höhere Zuverlässigkeit und Fehlertoleranz zu replizieren. Verwenden Sie Azure Traffic Manager für den Lastenausgleich zwischen Bereitstellungen oder Azure Front Door, um SSL-Abladung und Web Application Firewall mit DDoS-Schutz hinzuzufügen.

  • Sollte keine Georeplikation benötigt werden, können Sie eine Azure Application Gateway-Instanz verwenden, um SSL-Abladung und Web Application Firewall mit DDoS-Schutz hinzuzufügen.