Quickstart: Microservicetoepassingen implementeren in Azure Spring Apps

Notitie

De eerste 50 vCPU-uren en 100 GB geheugenuren zijn elke maand gratis. Zie Prijsreductie: Azure Spring Apps kost meer, kost minder! in de Azure-blog 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 dit artikel wordt uitgelegd hoe u microservicetoepassingen implementeert in Azure Spring Apps met behulp van de bekende voorbeeld-app PetClinic.

Het voorbeeld van de pet clinic demonstreert het architectuurpatroon van de microservice. In het volgende diagram ziet u de architectuur van de PetClinic-toepassing in het Azure Spring Apps Enterprise-plan.

Diagram met de architectuur van het PetClinic-voorbeeld in het Azure Spring Apps Enterprise-plan.

In het diagram ziet u de volgende architecturale stromen en relaties van het voorbeeld van de huisdierkliniek:

  • Maakt gebruik van Azure Spring Apps om de front-end- en back-end-apps te beheren. De back-end-apps worden gebouwd met Spring Boot en elke app maakt gebruik van HSQLDB als permanente store. De reforged front-end-app bouwt voort op pet clinic API Gateway-app met Node.js fungeert als een zelfstandige front-endwebtoepassing.
  • Maakt gebruik van de beheerde onderdelen in Azure Spring Apps, waaronder Service Registry, Application Configuration Service, Spring Cloud Gateway en Application Live View. De toepassingsconfiguratieservice leest de configuratie van de Git-opslagplaats.
  • Hiermee wordt de URL van Spring Cloud Gateway weergegeven om de aanvraag naar back-endservice-apps te routeren en wordt de URL van de liveweergave van de toepassing weergegeven om de back-end-apps te bewaken.
  • Analyseert logboeken met behulp van de Log Analytics-werkruimte.
  • Bewaakt de prestaties met Application Insights.

Notitie

In dit artikel wordt een vereenvoudigde versie van PetClinic gebruikt, met behulp van een in-memory database die niet gereed is voor productie om snel te implementeren in Azure Spring Apps.

De Tanzu Developer Tools biedt openbare toegang voor Application Live View. Dit is een risicopunt. De productieomgeving moet de toegang beveiligen. Zie de sectie Dev Tools-portal configureren van Tanzu Dev Tools in het Azure Spring Apps Enterprise-plan voor meer informatie.

Het voorbeeld van de pet clinic demonstreert het architectuurpatroon van de microservice. In het volgende diagram ziet u de architectuur van de PetClinic-toepassing in het Azure Spring Apps Standard-plan.

Diagram met de architectuur van het PetClinic-voorbeeld in het Standaardplan van Azure Spring Apps.

In het diagram ziet u de volgende architecturale stromen en relaties van het voorbeeld van de huisdierkliniek:

  • Maakt gebruik van Azure Spring Apps om de Spring Boot-apps te beheren. Elke app gebruikt HSQLDB als permanente store.
  • Maakt gebruik van de beheerde onderdelen Spring Cloud Config Server en Eureka Service Registry in Azure Spring Apps. De configuratie van de Configuratieserver leest de configuratie van de Git-opslagplaats.
  • Hiermee wordt de URL van API Gateway beschikbaar gemaakt voor taakverdeling van aanvragen voor service-apps en wordt de URL van de Beheer Server weergegeven om de toepassingen te beheren.
  • Analyseert logboeken met behulp van de Log Analytics-werkruimte.
  • Bewaakt de prestaties met Application Insights.

Notitie

In dit artikel wordt een vereenvoudigde versie van PetClinic gebruikt, met behulp van een in-memory database die niet gereed is voor productie om snel te implementeren in Azure Spring Apps.

De geïmplementeerde app admin-server maakt openbare toegang beschikbaar. Dit is een risicopunt. De productieomgeving moet de Spring Boot-Beheer-toepassing beveiligen.

Dit artikel bevat de volgende opties voor implementatie in Azure Spring Apps:

  • De optie Azure Portal is de eenvoudigste en snelste manier om resources te maken en toepassingen met één klik te implementeren. Deze optie is geschikt voor Spring-ontwikkelaars die snel toepassingen willen implementeren in Azure-cloudservices.
  • De optie Azure Portal + Maven-invoegtoepassing is een conventionelere manier om resources te maken en toepassingen stap voor stap te implementeren. Deze optie is geschikt voor Spring-ontwikkelaars die azure-cloudservices voor het eerst gebruiken.
  • De Azure CLI-optie maakt gebruik van een krachtig opdrachtregelprogramma voor het beheren van Azure-resources. Deze optie is geschikt voor Spring-ontwikkelaars die bekend zijn met Azure-cloudservices.
  • De optie Azure Portal + Maven-invoegtoepassing is een conventionelere manier om resources te maken en toepassingen stap voor stap te implementeren. Deze optie is geschikt voor Spring-ontwikkelaars die azure-cloudservices voor het eerst gebruiken.
  • De Azure Developer CLI-optie is een efficiëntere manier om automatisch resources te maken en toepassingen te implementeren via eenvoudige opdrachten. De Azure Developer CLI maakt gebruik van een sjabloon om de Benodigde Azure-resources in te richten en de toepassingscode te implementeren. Deze optie is geschikt voor Spring-ontwikkelaars die bekend zijn met Azure-cloudservices.

1. Vereisten

2. Het Spring-project voorbereiden

Gebruik de volgende stappen om het voorbeeld lokaal voor te bereiden:

  1. Kloon het voorbeeldproject met behulp van de volgende opdracht:

    git clone https://github.com/Azure-Samples/spring-petclinic-microservices.git
    
  2. Navigeer naar de hoofdmap van het project en gebruik vervolgens de volgende opdracht om het voorbeeldproject lokaal uit te voeren:

    bash ./scripts/run_all_without_infra.sh
    
  3. Nadat het script is voltooid, gaat u naar http://localhost:8080 uw browser om toegang te krijgen tot de PetClinic-toepassing.

3. De cloudomgeving voorbereiden

In deze sectie wordt beschreven hoe u een Azure Spring Apps-service-exemplaar maakt en de Azure-cloudomgeving voorbereidt.

3.1. Meld u aan bij Azure Portal

Ga naar Azure Portal en voer uw referenties in om u aan te melden bij de portal. De standaardweergave is uw service-dashboard.

3.2. Een Azure Spring Apps-exemplaar maken

Gebruik de volgende stappen om het service-exemplaar te maken:

  1. Selecteer Een resource maken in de hoek van Azure Portal.

  2. Selecteer Azure Spring Apps op>het tabblad Azure Services.

    Schermopname van Azure Portal met de pagina Een resource maken met Azure Spring Apps gemarkeerd.

  3. Vul op de pagina Azure Spring Apps maken het formulier in op het tabblad Basisbeginselen .

    Schermopname van Azure Portal met de pagina Azure Spring Apps maken met het tabblad Basisinformatie geselecteerd.

    Gebruik de volgende tabel als richtlijn voor het invullen van het formulier. Het aanbevolen plan is Standard.

    Instelling Voorgestelde waarde Beschrijving
    Abonnement De naam van uw abonnement. Het Azure-abonnement dat u wilt gebruiken voor uw server. Als u meerdere abonnementen hebt, kiest u het abonnement waarvoor u de resource wilt factureren.
    Resourcegroep myresourcegroup Een nieuwe resourcegroepnaam of een bestaande naam uit uw abonnement.
    Naam myasa Een unieke naam die uw Azure Spring Apps-exemplaar identificeert. De naam moet tussen de 4 en 32 tekens lang zijn en mag alleen kleine letters, cijfers en afbreekstreepjes bevatten. Het eerste teken van de servicenaam moet een letter zijn en het laatste teken moet een letter of een cijfer zijn.
    Plannen Standaard Het prijsplan bepaalt de resources en kosten die aan uw exemplaar zijn gekoppeld.
    Regio De regio die zich het dichtst bij uw gebruikers bevindt. De locatie die zich het dichtst bij uw gebruikers bevindt.
    Zoneredundant Niet geselecteerd Hiermee maakt u uw Azure Spring Apps-service in een Azure-beschikbaarheidszone. Momenteel niet ondersteund in alle regio's.
  4. Ga naar het tabblad Diagnostische instellingen op de pagina Azure Spring Apps maken en selecteer Nieuw maken om een nieuw Exemplaar van Log Analytics-werkruimten te maken. Werk op de pagina Nieuwe Log Analytics-werkruimte maken de naam van de Log Analytics-werkruimte zo nodig bij en selecteer VERVOLGENS OK om het maken te bevestigen.

    Schermopname van Azure Portal met de pagina Azure Spring Apps maken met het tabblad Diagnostische gegevens geselecteerd en de knop Nieuwe maken gemarkeerd.

  5. Ga naar het tabblad Application Insights op de pagina Azure Spring Apps maken en selecteer Nieuw maken om een nieuw Application Insights-exemplaar te maken. Werk op de pagina Nieuwe Application Insights-resource maken de naam van Application Insights zo nodig bij, selecteer werkruimte voor de resourcemodus en selecteer VERVOLGENS OK om het maken te bevestigen.

    Schermopname van Azure Portal met de pagina Azure Spring Apps maken met het deelvenster Nieuwe Application Insights-resource maken.

  6. Selecteer Controleren en Maken om uw selecties te controleren. Selecteer Vervolgens Maken om het Azure Spring Apps-exemplaar in te richten.

  7. Selecteer het meldingenpictogram (een bel) om het implementatieproces te bewaken. Nadat de implementatie is voltooid, kunt u Vastmaken aan dashboard selecteren om een snelkoppeling op uw Azure Portal-dashboard te maken naar de overzichtspagina van de service.

    Schermopname van Azure Portal met een implementatie van een resource en het deelvenster Melding met de knoppen Ga naar resource en Vastmaken aan dashboard.

  8. Selecteer Ga naar de resource om naar de overzichtspagina van Azure Spring Apps te gaan.

  9. Selecteer Config Server in het navigatiedeelvenster.

  10. Voer op de pagina Config Server voor URI de optie Valideren in https://github.com/Azure-Samples/spring-petclinic-microservices-config.git en selecteer vervolgens Valideren.

    Schermopname van Azure Portal met de pagina Config Server met de standaard-URI en de knop Valideren gemarkeerd.

  11. Selecteer Na validatie toepassen om de configuratie van de configuratieserver te voltooien.

4. De apps implementeren in Azure Spring Apps

U kunt de app nu implementeren in Azure Spring Apps.

Gebruik de volgende stappen om de microservicetoepassingen te implementeren met behulp van de Maven-invoegtoepassing voor Azure Spring Apps:

  1. Navigeer naar de voorbeeldprojectmap en gebruik vervolgens de volgende opdracht om de apps voor Azure Spring Apps te configureren:

    ./mvnw -P spring-apps com.microsoft.azure:azure-spring-apps-maven-plugin:1.17.0:config
    
  2. In de volgende lijst worden de opdrachteninteracties beschreven:

    • Selecteer onderliggende modules die u wilt configureren (invoernummers gescheiden door komma, bijvoorbeeld: [1-2,4,6], ENTER om ALLES te selecteren): druk op Enter om alles te selecteren.
    • OAuth2-aanmelding: autoriseren van de aanmelding bij Azure op basis van het OAuth2-protocol.
    • Abonnement selecteren: selecteer het abonnementslijstnummer van het Azure Spring Apps-exemplaar dat u hebt gemaakt. Dit is standaard het eerste abonnement in de lijst. Als u het standaardnummer gebruikt, drukt u rechtstreeks op Enter .
    • Selecteer Azure Spring Apps voor implementatie: selecteer het lijstnummer van het Azure Spring Apps-exemplaar dat u hebt gemaakt. Als u het standaardnummer gebruikt, drukt u rechtstreeks op Enter .
    • Selecteer apps om openbare toegang beschikbaar te maken:(invoernummers gescheiden door komma, bijvoorbeeld: [1-2,4,6], ENTER om GEEN te selecteren): Voer 1,5 voor admin-server en api-gateway.
    • Bevestig dat u alle bovenstaande configuraties (Y/n) wilt opslaan: Druk op y. Als u op n drukt, wordt de configuratie niet opgeslagen in de POM-bestanden.
  3. Gebruik de volgende opdracht om elke toepassing te bouwen en te implementeren:

    ./mvnw azure-spring-apps:deploy
    
  4. Voor de OAuth2-aanmeldingsprompt autoriseert u de aanmelding bij Azure op basis van het OAuth2-protocol.

    Notitie

    De implementatie naar Azure Spring Apps kan tot 25 minuten duren.

Nadat de opdracht is uitgevoerd, wordt uitvoer weergegeven die vergelijkbaar is met het volgende voorbeeld, wat aangeeft dat alle implementaties zijn geslaagd:

[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. Het Spring-project voorbereiden

Met de knop Implementeren naar Azure in de volgende sectie wordt een Azure-portal-ervaring gestart waarmee een JAR-pakket wordt gedownload van de releasepagina van ASA-Samples-Web-Application op GitHub. Er zijn geen lokale voorbereidingsstappen nodig.

3. De cloudomgeving voorbereiden

De belangrijkste resource die u nodig hebt om dit voorbeeld uit te voeren, is een Azure Spring Apps-exemplaar. In deze sectie wordt beschreven hoe u deze resource maakt.

In deze sectie wordt een knop Implementeren in Azure gebruikt om een implementatie-ervaring te starten in Azure Portal. Deze ervaring maakt gebruik van een ARM-sjabloon om Azure-resources te maken.

3.1. Meld u aan bij Azure Portal

Ga naar Azure Portal en voer uw referenties in om u aan te melden bij de portal. De standaardweergave is uw service-dashboard.

3.2. Azure-resources maken

Gebruik de volgende stappen om alle Azure-resources te maken waarvoor de app afhankelijk is:

  1. Selecteer de volgende knop Implementeren in Azure om de implementatie-ervaring in Azure Portal te starten:

    Knop voor het implementeren van de Resource Manager-sjabloon in Azure.

  2. Vul het formulier in op het tabblad Basisbeginselen . Gebruik de volgende tabel als richtlijn voor het voltooien van het formulier:

    Instelling Voorgestelde waarde Beschrijving
    Abonnement De naam van uw abonnement. Het Azure-abonnement dat u wilt gebruiken voor uw server. Als u meerdere abonnementen hebt, kiest u het abonnement waarin u wilt worden gefactureerd voor de resource.
    Resourcegroep myresourcegroup Een nieuwe resourcegroepnaam of een bestaande naam uit uw abonnement.
    Regio De regio die zich het dichtst bij uw gebruikers bevindt. De regio wordt gebruikt om de resourcegroep te maken.

    Schermopname van Azure Portal met de pagina Aangepaste implementatie.

  3. Selecteer Controleren en Maken om uw selecties te controleren. Selecteer vervolgens Maken om de app te implementeren in Azure Spring Apps.

  4. Selecteer het pictogram Meldingen (een klok) op de werkbalk om het implementatieproces te bewaken. Nadat de implementatie is voltooid, kunt u Vastmaken aan dashboard selecteren. Hiermee maakt u een tegel voor deze service op uw Azure Portal-dashboard als snelkoppeling naar de overzichtspagina van de service. Selecteer Ga naar de resource om de overzichtspagina van de service te openen.

    Schermopname van Azure Portal met de pagina Overzicht met het deelvenster Aangepaste implementatiemeldingen geopend.

4. De apps implementeren in Azure Spring Apps

Met de knop Implementeren in Azure in de vorige sectie wordt een Azure-portal-ervaring gestart die toepassingsimplementatie omvat, zodat er niets anders nodig is.

5. De apps valideren

In de volgende secties wordt beschreven hoe u de implementatie valideert.

5.1. Toegang tot de toepassingen

Nadat de implementatie is voltooid, kunt u de Spring Cloud Gateway-URL vinden in de uitvoer van de implementatie, zoals wordt weergegeven in de volgende schermopname:

Schermopname van Azure Portal met de pagina Implementatie-uitvoer.

Open de gateway-URL. De toepassing moet er ongeveer uitzien als in de volgende schermopname:

Schermopname van de PetClinic-toepassing die wordt uitgevoerd in een Azure Spring Apps Enterprise-abonnement.

5.2. Query's uitvoeren op de toepassingslogboeken

Nadat u elke functie van de Pet Clinic hebt bekeken, verzamelt de Log Analytics-werkruimte logboeken van elke toepassing. U kunt de logboeken controleren met behulp van aangepaste query's, zoals wordt weergegeven in de volgende schermopname:

Schermopname van Azure Portal met de pagina Logboeken van de query in PetClinic-toepassing en de resultaten voor het Enterprise-plan.

5.3. De toepassingen bewaken

Application Insights bewaakt de toepassingsafhankelijkheden, zoals wordt weergegeven in de volgende toepassingstraceringskaart:

Schermopname van Azure Portal met de pagina Toepassingsoverzicht voor Azure Spring Apps Enterprise-abonnement.

U vindt de LIVE View-URL van de toepassing in de uitvoer van de implementatie. Open de liveweergave-URL van de toepassing om toepassingsruntimes te bewaken, zoals wordt weergegeven in de volgende schermopname:

Schermopname van de liveweergave van de Toepassing voor de PetClinic-toepassing.

5.1. Toegang tot de toepassingen

Open met behulp van de URL-informatie in de uitvoer van het implementatielogboek de URL die wordt weergegeven door de app met de naam api-gateway , https://<your-Azure-Spring-Apps-instance-name>-api-gateway.azuremicroservices.iobijvoorbeeld. De toepassing moet er ongeveer uitzien als in de volgende schermopname:

Schermopname van de PetClinic-toepassing die wordt uitgevoerd in Azure Spring Apps.

5.2. Query's uitvoeren op de toepassingslogboeken

Nadat u elke functie van de Pet Clinic hebt bekeken, verzamelt de Log Analytics-werkruimte logboeken van elke toepassing. U kunt de logboeken controleren met behulp van aangepaste query's, zoals wordt weergegeven in de volgende schermopname:

Schermopname van Azure Portal met de pagina Logboeken van de query in de PetClinic-toepassing en de resultaten.

5.3. De toepassingen bewaken

Application Insights bewaakt de toepassingsafhankelijkheden, zoals wordt weergegeven in de volgende toepassingstraceringskaart:

Schermopname van Azure Portal met de pagina Application Map voor een Application Insights-exemplaar.

Open de URL die door de app admin-server wordt weergegeven om de toepassingen te beheren via de Spring Boot Beheer Server, zoals wordt weergegeven in de volgende schermopname:

Schermopname van de pagina Spring Boot Beheer Server voor de PetClinic-toepassing met de huidige toepassingsexemplaren.

6. Resources opschonen

Als u van plan bent om verder te gaan met volgende snelstarts en zelfstudies, kunt u deze resources het beste intact laten. Wanneer u de resources niet meer nodig hebt, kunt u overbodige resources opschonen om Azure-kosten te voorkomen.

Gebruik de volgende stappen om de hele resourcegroep te verwijderen, inclusief het zojuist gemaakte service-exemplaar:

  1. Zoek de resourcegroep in Azure Portal. Selecteer resourcegroepen in het navigatiemenu en selecteer vervolgens de naam van uw resourcegroep.

  2. Selecteer Verwijderen op de pagina Resourcegroep. Voer de naam van de resourcegroep in het tekstvak in om het verwijderen te bevestigen en selecteer Vervolgens Verwijderen.

Verwijder de resources die u in dit artikel hebt gemaakt wanneer u ze niet meer nodig hebt. U kunt de Azure-resourcegroep verwijderen, met alle resources uit de resourcegroep.

Gebruik de volgende stappen om de hele resourcegroep te verwijderen:

  1. Zoek de resourcegroep in Azure Portal. Selecteer resourcegroepen in het navigatiemenu en selecteer vervolgens de naam van uw resourcegroep.

  2. Selecteer Verwijderen op de pagina Resourcegroep. Voer de naam van de resourcegroep in het tekstvak in om het verwijderen te bevestigen en selecteer Vervolgens Verwijderen.

7. Volgende stappen

Raadpleeg voor meer informatie de volgende artikelen: