Spring Cloud-toepassingen migreren naar Azure Spring Apps

Notitie

Azure Spring Apps is de nieuwe naam voor de Azure Spring Cloud-service. Hoewel de service een nieuwe naam heeft, ziet u de oude naam op sommige plaatsen terwijl we werken aan het bijwerken van assets, zoals schermopnamen, video's en diagrammen.

In deze handleiding wordt beschreven waar u rekening mee moet houden wanneer u een bestaande Spring Cloud-toepassing wilt migreren om te worden uitgevoerd in Azure Spring Apps.

Premigratie

Voltooi voordat u begint de evaluatie- en inventarisstappen die in de volgende secties worden beschreven om een geslaagde migratie te garanderen.

Als u niet aan een van deze vereisten vóór de migratie kunt voldoen, raadpleegt u de volgende aanvullende migratiehandleidingen:

  • Uitvoerbare JAR-toepassingen migreren naar containers in Azure Kubernetes Service (handleiding gepland)
  • Uitvoerbare JAR-toepassingen migreren naar Azure Virtual Machines (handleiding gepland)

Toepassingsonderdelen inspecteren

Nagaan of en hoe het bestandssysteem wordt gebruikt

Zoek alle exemplaren waar uw services schrijven naar en/of lezen vanuit het lokale bestandssysteem. Bepaal waar korte-termijn-/tijdelijke bestanden worden geschreven en gelezen en waar langlevende bestanden worden geschreven en gelezen.

Notitie

Azure Spring Apps biedt 5 GB tijdelijke opslag per Azure Spring Apps-exemplaar, gekoppeld in /tmp. Als tijdelijke bestanden boven die limiet of op een andere locatie worden geschreven, zijn codewijzigingen vereist.

Statische alleen-lezeninhoud

Als uw toepassing momenteel met statische inhoud werkt, hebt u hiervoor een alternatieve locatie nodig. U kunt statische inhoud verplaatsen naar Azure Blob Storage en Azure CDN toevoegen voor razendsnelle downloads wereldwijd. Zie statische websitehosting in Azure Storage en quickstart: Een Azure-opslagaccount integreren met Azure CDN voor meer informatie.

Dynamisch gepubliceerde statische inhoud

Als uw toepassing statische inhoud toestaat die wordt geüpload/geproduceerd door uw toepassing, maar onveranderbaar is nadat deze is gemaakt, kunt u Azure Blob Storage en Azure CDN gebruiken zoals hierboven beschreven, met een Azure-functie om uploads en CDN-vernieuwing te verwerken. U vindt een voorbeeldimplementatie voor gebruik in Statische inhoud uploaden en via CDN vooraf laden met Azure Functions.

Bepalen of een van de services besturingssysteemspecifieke code bevat

Als uw toepassing code bevat met afhankelijkheden van het hostbesturingssysteem, moet u de toepassing herstructureren om die afhankelijkheden te verwijderen. Zo moet u mogelijk de / of \ vervangen in bestandssysteempaden met File.Separator of Paths.get.

Overschakelen naar een ondersteund platform

Azure Spring Apps biedt specifieke versies van Java en specifieke versies van Spring Boot en Spring Cloud. Om compatibiliteit te garanderen, migreert u eerst uw toepassing naar een van de ondersteunde versies van Java in de huidige omgeving en gaat u vervolgens verder met de resterende migratiestappen. Zorg ervoor dat de uiteindelijke configuratie volledig wordt getest. Gebruik in dergelijke tests de laatste stabiele versie van uw Linux-distributie.

Notitie

Deze validatie is vooral belangrijk als uw huidige server wordt uitgevoerd in een niet-ondersteunde JDK (zoals Oracle JDK of IBM OpenJ9).

Meld u aan bij uw productieserver en voer de volgende opdracht uit om uw huidige Java-versie te verkrijgen:

java -version

Zie Een toepassing voorbereiden voor implementatie in Azure Spring Apps voor ondersteunde versies van Java, Spring Boot en Spring Cloud, evenals instructies voor het bijwerken.

Spring Boot-versies identificeren

Bekijk de afhankelijkheden van elke toepassing die wordt gemigreerd om de Spring Boot-versie te bepalen.

Maven

In Maven-projecten wordt de Spring Boot-versie meestal gevonden in het <parent> element van het POM-bestand:

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

In Gradle-projecten wordt de Spring Boot-versie meestal gevonden in de plugins sectie, als de versie van de org.springframework.boot invoegtoepassing:

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

Voor toepassingen die Spring Boot 1.x gebruiken, volgt u de migratiehandleiding voor Spring Boot 2.0 om deze bij te werken naar een ondersteunde Spring Boot-versie. Zie de sectie Spring Boot- en Spring Cloud-versies van Een toepassing voorbereiden voor implementatie in Azure Spring Apps voor ondersteunde versies.

Spring Cloud-versies identificeren

Bekijk de afhankelijkheden van elke toepassing die u migreert om te bepalen welke versie van de Spring Cloud-onderdelen deze gebruikt.

Maven

In Maven-projecten wordt de Spring Cloud-versie meestal ingesteld in de spring-cloud.version eigenschap:

  <properties>
    <java.version>1.8</java.version>
    <spring-cloud.version>2021.0.6</spring-cloud.version>
  </properties>
Gradle

In Gradle-projecten wordt de Spring Cloud-versie meestal ingesteld in het blok 'extra eigenschappen':

ext {
  set('springCloudVersion', "2021.0.6")
}

U moet alle toepassingen bijwerken voor het gebruik van ondersteunde versies van Spring Cloud. Zie de sectie Spring Boot- en Spring Cloud-versies van Een toepassing voorbereiden voor implementatie in Azure Spring Apps voor een lijst met ondersteunde versies.

Oplossingen voor logboekaggregatie identificeren

Identificeer eventuele oplossingen voor logboekaggregatie die worden gebruikt door de toepassingen die u migreert. U moet diagnostische instellingen configureren in de migratie om geregistreerde gebeurtenissen beschikbaar te maken voor gebruik. Zie de sectie Logboekregistratie van de console controleren en diagnostische instellingen configureren voor meer informatie.

APM-agents (Application Performance Management) identificeren

Identificeer eventuele agents voor het bewaken van toepassingsprestaties die worden gebruikt met uw toepassingen. Azure Spring Apps ondersteunt integratie met Application Insights, New Relic, Elastic APM, Dynatrace en AppDynamics. Als de toepassing een ondersteunde APM gebruikt, configureert u de integratie in migratie. Als de toepassing geen ondersteunde APM gebruikt, kunt u in plaats daarvan Application Insights gebruiken. Zie de sectie Migratie voor meer informatie.

Zipkin-afhankelijkheden identificeren

Bepaal of uw toepassing afhankelijk is van Zipkin. Werk de toepassing bij om in plaats daarvan Application Insights te gebruiken. Zie Application Insights Java In-Process Agent gebruiken in Azure Spring Apps en de sectie Na de migratie voor meer informatie.

Externe resources inventariseren

Identificeer externe resources, zoals gegevensbronnen, JMS-bericht-brokers en URL's van andere services. In Spring Cloud-toepassingen kunt u doorgaans de configuratie voor dergelijke resources vinden op een van de volgende locaties:

  • In de map src/main/directory, in een bestand met de naam application.properties of application.yml.
  • In de Spring Cloud-configuratieopslagplaats die u in de vorige stap hebt geïdentificeerd.

Databases

Identificeer de verbindingsreeks voor elke SQL database.

Voor een Spring Boot-toepassing vindt u de verbindingsreeksen meestal in configuratiebestanden.

Hier volgt een voorbeeld van een application.properties-bestand:

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

Hier volgt een voorbeeld van een application.yaml-bestand:

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

Raadpleeg de Spring Data-documentatie voor meer mogelijke configuratiescenario's:

JMS-berichtbrokers

Identificeer de broker of brokers die in gebruik zijn door te zoeken in het buildmanifest (meestal een pom.xml - of build.gradle-bestand ) voor de relevante afhankelijkheden.

Een Spring Boot-toepassing die Gebruikmaakt van ActiveMQ bevat bijvoorbeeld meestal deze afhankelijkheid in het pom.xml-bestand :

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

Spring Boot-toepassingen die commerciële brokers gebruiken, bevatten doorgaans rechtstreeks afhankelijkheden in de JMS-stuurprogrammabibliotheken van de brokers. Hier volgt een voorbeeld van een build.gradle-bestand:

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

Nadat u de broker of brokers hebt geïdentificeerd die in gebruik zijn, zoekt u de bijbehorende instellingen. In Spring Cloud-toepassingen kunt u ze meestal vinden in de application.properties en application.yml bestanden in de toepassingsmap of in de Spring Cloud-serveropslagplaats.

Hier volgt een ActiveMQ-voorbeeld uit een bestand application.properties :

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

Zie de Spring Boot Messaging-documentatie voor meer informatie over de ActiveMQ-configuratie.

Hier volgt een IBM MQ-voorbeeld uit een application.yaml-bestand :

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

Zie de documentatie voor IBM MQ Spring-onderdelen voor meer informatie over de IBM MQ MQ-configuratie.

Externe caches identificeren

Identificeer eventuele externe caches die in gebruik zijn. Redis wordt vaak gebruikt via Spring Data Redis. Zie de Spring Data Redis-documentatie voor configuratie-informatie.

Bepaal of sessiegegevens worden opgeslagen in de cache via Spring Session door te zoeken naar de respectieve configuratie (in Java of XML).

Id-providers

Identificeer alle id-providers en alle Spring Cloud-toepassingen waarvoor verificatie en/of autorisatie is vereist. Zie de volgende bronnen voor informatie over hoe u id-providers kunt configureren:

Resources die zijn geconfigureerd via VMware Tanzu Application Service (TAS) (voorheen Pivotal Cloud Foundry)

Voor toepassingen die worden beheerd met TAS, worden externe resources, inclusief de eerder beschreven resources, vaak geconfigureerd via TAS-servicebindingen. Als u de configuratie voor dergelijke resources wilt onderzoeken, gebruikt u de TAS -CLI (Cloud Foundry) om de VCAP_SERVICES variabele voor de toepassing weer te geven.

# Log into TAS, if needed (enter credentials when prompted)
cf login -a <API endpoint>

# Set the organization and space containing the application, if not already selected during login.
cf target org <organization name>
cf target space <space name>

# Display variables for the application
cf env <Application Name>

Bekijk de VCAP_SERVICES variabele voor configuratie-instellingen van externe services die zijn gebonden aan de toepassing. Zie de DOCUMENTATIE van TAS (Cloud Foundry) voor meer informatie.

Alle andere externe resources

Het is niet haalbaar voor deze handleiding om elke mogelijke externe afhankelijkheid te documenteren. Na de migratie is het uw verantwoordelijkheid om te controleren of u aan elke externe afhankelijkheid van uw toepassing kunt voldoen.

Inventarisconfiguratiebronnen en -geheimen

Wachtwoorden en beveiligde tekenreeksen inventariseren

Controleer alle eigenschaps- en configuratiebestanden en alle omgevingsvariabelen in de productie-implementatie(s) op geheime tekenreeksen en wachtwoorden. In een Spring Cloud-toepassing kunt u dergelijke tekenreeksen meestal vinden in de application.properties of application.yml-bestand in afzonderlijke services of in de Spring Cloud-configuratieopslagplaats.

Certificaten inventariseren

Documenteer alle certificaten die worden gebruikt voor openbare SSL-eindpunten of communicatie met back-enddatabases en andere systemen. U kunt alle certificaten op de productieserver(s) weergeven door de volgende opdracht uit te voeren:

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

Bepalen of Spring Cloud Vault wordt gebruikt

Als u Spring Cloud Vault gebruikt om geheimen op te slaan en te openen, identificeert u het backing-geheimarchief (bijvoorbeeld HashiCorp Vault of CredHub). Identificeer vervolgens alle geheimen die door de toepassingscode worden gebruikt.

De bron van de configuratieserver zoeken

Als uw toepassing gebruikmaakt van een Spring Cloud-configuratieserver, moet u bepalen waar de configuratie is opgeslagen. Meestal vindt u deze instelling in het bestand bootstrap.yml of bootstrap.properties , of soms in het bestand application.yml of application.properties . De instelling ziet eruit als in het volgende voorbeeld:

spring.cloud.config.server.git.uri: file://${user.home}/spring-cloud-config-repo

Hoewel Git het meest wordt gebruikt als het back-upgegevensarchief van Spring Cloud-configuratie, zoals eerder wordt weergegeven, kan een van de andere mogelijke back-ends in gebruik zijn. Raadpleeg de Spring Cloud-configuratiedocumentatie voor informatie over andere back-ends, zoals Relational Database (JDBC), SVN en het lokale bestandssysteem.

Notitie

Als uw configuratieservergegevens on-premises zijn opgeslagen, zoals GitHub Enterprise, moet u deze beschikbaar maken voor Azure Spring Apps via een Git-opslagplaats.

De implementatiearchitectuur controleren

Hardwarevereisten voor elke service documenteer

Documenteer de volgende informatie voor elk van uw Spring Cloud-services (niet inclusief de configuratieserver, het register of de gateway):

  • Het aantal exemplaren dat wordt uitgevoerd.
  • Het aantal CPU's dat aan elk exemplaar is toegewezen.
  • De hoeveelheid RAM die aan elk exemplaar is toegewezen.

Geo-replicatie/distributie document

Bepaal of de Spring Cloud-toepassingen momenteel worden gedistribueerd tussen verschillende regio's of datacenters. Documenteer de uptimevereisten/SLA voor de toepassingen die u migreert.

Clients identificeren die het serviceregister omzeilen

Identificeer clienttoepassingen die een van de services aanroepen die moeten worden gemigreerd zonder het Spring Cloud-serviceregister te gebruiken. Na de migratie zijn dergelijke aanroepen niet meer mogelijk. Werk dergelijke clients bij voor het gebruik van Spring Cloud OpenFeign vóór de migratie.

Migratie

Beperkte configuraties verwijderen

Zoek en verwijder eventuele expliciete toewijzingen van de volgende beperkte instellingen in de services die u migreert. Deze eigenschappen worden automatisch geïnjecteerd in uw toepassingsomgeving voor toegang tot Config Server en Service Discovery. Als deze eigenschappen zich in uw Config Server-toepassingsbestanden bevinden, kunnen er conflicten optreden en onverwacht gedrag optreden. Zie de sectie Beperking van een beheerde Spring Cloud-configuratieserver configureren in Azure Spring Apps voor meer informatie

  • eureka.client.service-url.defaultZone
  • eureka.client.tls.keystore
  • eureka.instance.preferIpAddress
  • eureka.instance.instance-id
  • server.port
  • spring.cloud.config.tls.keystore
  • spring.config.import
  • spring.application.name
  • spring.jmx.enabled
  • management.endpoints.jmx.exposure.include

Een Azure Spring Apps-exemplaar en -apps maken

Richt een Azure Spring Apps-exemplaar in uw Azure-abonnement in. Richt vervolgens een app in voor elke service die u migreert. Neem niet het Spring Cloud-register en de configuratieservers op. Neem ook de Spring Cloud Gateway-service op. Zie quickstart: Uw eerste toepassing implementeren in Azure Spring Apps voor instructies.

De Spring Cloud-configuratieserver voorbereiden

Configureer de configuratieserver in uw Azure Spring Apps-exemplaar. Zie Een Spring Cloud Config Server-exemplaar voor uw service instellen voor meer informatie.

Notitie

Als uw huidige Spring Cloud-configuratieopslagplaats zich in het lokale bestandssysteem of on-premises bevindt, moet u eerst uw configuratiebestanden migreren of repliceren naar een opslagplaats op basis van een privécloud, zoals GitHub, Azure-opslagplaatsen of BitBucket.

Logboekregistratie van de console controleren en diagnostische instellingen configureren

Configureer uw logboekregistratie zodat alle uitvoer wordt doorgestuurd naar de console en niet naar bestanden.

Nadat een toepassing is geïmplementeerd in Azure Spring Apps, voegt u een diagnostische instelling toe om geregistreerde gebeurtenissen beschikbaar te maken voor gebruik, bijvoorbeeld via Azure Monitor Log Analytics.

LogStash/ELK-stack

Als u LogStash/ELK Stack gebruikt voor logboekaggregatie, configureert u de diagnostische instelling om de console-uitvoer te streamen naar een Azure Event Hub. Gebruik vervolgens de LogStash EventHub-invoegtoepassing om vastgelegde gebeurtenissen op te nemen in LogStash.

Splunk

Als u Splunk gebruikt voor logboekaggregatie, configureert u de diagnostische instelling om de console-uitvoer naar Azure Blob Storage te streamen. Gebruik vervolgens de invoegtoepassing Splunk voor Microsoft Cloud Services om vastgelegde gebeurtenissen op te nemen in Splunk.

Permanente opslag configureren

Als een deel van uw toepassing leest of schrijft naar het lokale bestandssysteem, moet u permanente opslag configureren om het lokale bestandssysteem te vervangen. Zie Ingebouwde permanente opslag gebruiken in Azure Spring Apps voor meer informatie.

U moet tijdelijke bestanden naar de /tmp map schrijven. Voor onafhankelijkheid van het besturingssysteem kunt u deze map ophalen met behulp van System.getProperty("java.io.tmpdir"). U kunt ook java.nio.Files::createTempFile tijdelijke bestanden maken.

VMware Tanzu-onderdelen

In de Enterprise-laag wordt Application Configuration Service voor VMware Tanzu® geleverd ter ondersteuning van externe configuratie voor uw apps. De beheerde Spring Cloud-configuratieserver is niet beschikbaar in de Enterprise-laag en is alleen beschikbaar in de Standard- en Basic-laag van Azure Spring Apps.

Toepassingsconfiguratieservice voor Tanzu

Application Configuration Service voor Tanzu is een van de commerciële VMware Tanzu-onderdelen. Application Configuration Service voor Tanzu is kubernetes-systeemeigen en verschilt van Spring Cloud-configuratieserver. Toepassingsconfiguratieservice voor Tanzu maakt het beheer van Kubernetes-systeemeigen ConfigMap-resources mogelijk die zijn ingevuld op basis van eigenschappen die zijn gedefinieerd in een of meer Git-opslagplaatsen.

In de Enterprise-laag is er geen Spring Cloud-configuratieserver, maar u kunt Application Configuration Service voor Tanzu gebruiken om gecentraliseerde configuraties te beheren. Zie Application Configuration Service voor Tanzu gebruiken voor meer informatie

Als u Application Configuration Service voor Tanzu wilt gebruiken, voert u de volgende stappen uit voor elk van uw apps:

  1. Voeg een expliciete app-binding toe om aan te geven dat uw app toepassingsconfiguratieservice voor Tanzu moet gebruiken.

    Notitie

    Wanneer u de bindings-/niet-gekoppelde status wijzigt, moet u de app opnieuw starten of opnieuw implementeren om de wijziging door te voeren.

  2. Configuratiebestandspatronen instellen. Met configuratiebestandspatronen kunt u kiezen welke toepassing en welk profiel de app gebruikt. Zie de sectie Patroon van De Toepassingsconfiguratieservice voor Tanzu gebruiken voor meer informatie.

    Een andere optie is het instellen van de patronen van het configuratiebestand op hetzelfde moment als de implementatie van uw app, zoals wordt weergegeven in het volgende voorbeeld:

    az spring app deploy \
        --name <app-name> \
        --artifact-path <path-to-your-JAR-file> \
        --config-file-pattern <config-file-pattern>
    

Toepassingsconfiguratieservice voor Tanzu wordt uitgevoerd op Kubernetes. Om een transparante ervaring voor lokale ontwikkeling mogelijk te maken, bieden we de volgende suggesties.

  • Als u al een Git-opslagplaats hebt om uw externe configuratie op te slaan, kunt u Spring Cloud Config Server lokaal instellen als de gecentraliseerde configuratie voor uw toepassing. Nadat de configuratieserver is gestart, kloont deze de Git-opslagplaats en levert deze de inhoud van de opslagplaats via de webcontroller. Zie Spring Cloud-configuratie in de Spring-documentatie voor meer informatie. De spring-cloud-config-client functie biedt de mogelijkheid voor uw toepassing om automatisch de externe configuratie van de configuratieserver op te halen.

  • Als u geen Git-opslagplaats hebt of als u geen configuratieserver lokaal wilt instellen, kunt u het configuratiebestand rechtstreeks in uw project gebruiken. U wordt aangeraden een profiel te gebruiken om het configuratiebestand te isoleren, zodat het alleen in uw ontwikkelomgeving wordt gebruikt. Gebruik bijvoorbeeld dev als het profiel. Vervolgens kunt u een application-dev.yml bestand maken in de map src/main/resource om de configuratie op te slaan. Als u wilt dat uw app deze configuratie gebruikt, start u de app lokaal met --spring.profiles.active=dev.

Tanzu-serviceregister

VMware Tanzu® Service Registry is een van de commerciële VMware Tanzu-onderdelen. Tanzu Service Registry biedt uw Enterprise-tier-apps met een implementatie van het Service Discovery-patroon, een van de belangrijkste tenets van een architectuur op basis van een microservice. Uw apps kunnen Tanzu Service Registry gebruiken om geregistreerde services dynamisch te detecteren en aan te roepen. Het gebruik van Tanzu Service Registry verdient de voorkeur aan het handmatig configureren van elke client van een service, wat moeilijk kan zijn of een vorm van toegangsconventie kan aannemen, die broos kan zijn in productie. Zie Tanzu Service Registry gebruiken voor meer informatie.

Spring Cloud Vault-geheimen migreren naar Azure KeyVault

U kunt geheimen rechtstreeks in toepassingen injecteren via Spring met behulp van de Azure KeyVault Spring Boot Starter. Zie Spring Boot Starter voor Azure Key Vault gebruiken voor meer informatie.

Notitie

Voor migratie moet u mogelijk de naam van bepaalde geheimen wijzigen. Werk uw toepassingscode dienovereenkomstig bij.

Alle certificaten migreren naar KeyVault

Azure Spring Apps biedt geen toegang tot het JRE-sleutelarchief, dus u moet certificaten migreren naar Azure KeyVault en de toepassingscode wijzigen voor toegang tot certificaten in KeyVault. Zie Aan de slag met Key Vault-certificaten en azure Key Vault Certificate-clientbibliotheek voor Java voor meer informatie.

APM-integraties (Application Performance Management) configureren

Azure Spring Apps biedt de volgende APM-integraties. Volg de koppelingen om de APM in te schakelen die u nodig hebt:

Als uw toepassing geen ondersteunde APM gebruikt, kunt u in plaats daarvan Application Insights gebruiken. Azure Spring Apps biedt uitgebreide integratie met Application Insights voor prestatiebeheer en realtime reactie op afwijkingen.

Clients en eindpunten voor metrische gegevens uitschakelen in uw toepassingen

Verwijder metrische gegevensclients die worden gebruikt of eindpunten voor metrische gegevens die beschikbaar zijn in uw toepassingen.

De services implementeren

Implementeer elk van de gemigreerde Spring-apps (met inbegrip van de Spring Cloud-configuratie- en registerservers), zoals beschreven in quickstart: Uw eerste toepassing implementeren in Azure Spring Apps.

Geheimen per service en externe instellingen configureren

U kunt elke configuratie-instellingen per service in elke service injecteren als omgevingsvariabelen. Gebruik de volgende stappen in Azure Portal:

  1. Navigeer naar het Azure Spring Apps-exemplaar en selecteer Apps.
  2. Selecteer de service die u wilt configureren.
  3. Selecteer Configuratie.
  4. Voer de variabelen in die u wilt configureren.
  5. Selecteer Opslaan.

Spring Cloud App Configuration Settings

De id-provider migreren en inschakelen

Als voor een van de Spring Cloud-toepassingen verificatie of autorisatie is vereist, moet u ervoor zorgen dat deze zijn geconfigureerd voor toegang tot de id-provider:

  • Als de id-provider Microsoft Entra-id is, zijn er geen wijzigingen nodig.
  • Als de id-provider een on-premises Active Directory-forest is, kunt u overwegen om een hybride identiteitsoplossing met Microsoft Entra-id te implementeren. Zie de documentatie voor hybride identiteiten voor hulp.
  • Als de id-provider een andere on-premises oplossing is, zoals PingFederate, raadpleegt u de aangepaste installatie van Microsoft Entra Verbinding maken onderwerp voor het configureren van federatie met Microsoft Entra ID. U kunt ook Spring Security gebruiken om uw id-provider te gebruiken via OAuth2/OpenID Verbinding maken of SAML.

Clienttoepassingen bijwerken

Werk de configuratie van alle clienttoepassingen bij voor het gebruik van de gepubliceerde Azure Spring Apps-eindpunten voor gemigreerde toepassingen.

Postmigratie

  • Overweeg om een implementatiepijplijn toe te voegen voor automatische, consistente implementaties. Er zijn instructies beschikbaar voor Azure Pipelines, voor GitHub Actions en voor Jenkins.

  • Overweeg faseringsimplementaties te gebruiken om codewijzigingen in productie te testen voordat ze beschikbaar zijn voor sommige of al uw eindgebruikers. Zie Een faseringsomgeving instellen in Azure Spring Apps voor meer informatie.

  • Overweeg servicebindingen toe te voegen om uw toepassing te verbinden met ondersteunde Azure-databases. Met deze servicebindingen hoeft u geen verbindingsgegevens, inclusief referenties, aan uw Spring Cloud-toepassingen op te geven.

  • Overweeg het gebruik van Azure-toepassing Insights om de prestaties en interacties van uw toepassingen te bewaken. Zie Application Insights Java In-Process Agent in Azure Spring Apps voor meer informatie.

  • Overweeg om waarschuwingsregels en actiegroepen van Azure Monitor toe te voegen om snel aberrante voorwaarden te detecteren en op te lossen. Zie Zelfstudie: Spring Cloud-resources bewaken met behulp van waarschuwingen en actiegroepen voor meer informatie.

  • Overweeg om de Azure Spring Apps-implementatie in een andere regio te repliceren voor lagere latentie en hogere betrouwbaarheid en fouttolerantie. Gebruik Azure Traffic Manager om de taakverdeling tussen implementaties te verdelen of Azure Front Door te gebruiken om SSL-offloading en Web Application Firewall toe te voegen met DDoS-beveiliging.

  • Als geo-replicatie niet nodig is, kunt u een Azure-toepassing-gateway toevoegen om SSL-offloading en Web Application Firewall toe te voegen met DDoS-beveiliging.

  • Als uw toepassingen verouderde Spring Cloud Netflix-onderdelen gebruiken, kunt u overwegen deze te vervangen door de huidige alternatieven:

    Verouderd Huidig
    Spring Cloud Eureka Spring Cloud-serviceregister
    Spring Cloud Netflix Zuul Spring Cloud Gateway
    Spring Cloud Netflix Archaius Spring Cloud-configuratieserver
    Spring Cloud Netflix-lint Spring Cloud Load Balancer (load balancer aan clientzijde)
    Spring Cloud Hystrix Spring Cloud Circuit Breaker + Resilience4J
    Spring Cloud Netflix Turbine Micrometer + Prometheus