Quickstart: Uw eerste toepassing implementeren in Azure Spring Apps

Notitie

De eerste 50 vCPU-uren en 100 GB-uren aan geheugen zijn elke maand gratis. Zie Prijsverlaging - Azure Spring Apps doet meer, kost minder! op de Blog Apps op Azure voor meer informatie.

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 een tijdje op sommige plaatsen terwijl we assets, zoals schermopnamen, video's en diagrammen, bijwerken.

Dit artikel is van toepassing op: ✔️ Standaardverbruik en toegewezen (preview) ✔️ Basic/Standard ✔️ Enterprise

In dit artikel wordt uitgelegd hoe u een kleine toepassing implementeert voor uitvoering in Azure Spring Apps.

De toepassingscode die in deze zelfstudie wordt gebruikt, is een eenvoudige app. Wanneer u dit voorbeeld hebt voltooid, is de toepassing online toegankelijk en kunt u deze beheren via de Azure Portal.

In deze quickstart wordt het volgende uitgelegd:

  • Genereer een eenvoudig Spring-project.
  • Een service-exemplaar inrichten.
  • Bouw en implementeer een app met een openbaar eindpunt.
  • Resources opschonen.

Aan het einde van deze quickstart hebt u een werkende Spring-app die wordt uitgevoerd in Azure Spring Apps.

Vereisten

  • Een Azure-abonnement. Als u geen abonnement hebt, maakt u een gratis account aan voordat u begint.
  • Apache Maven

  • Azure CLI. Installeer de Azure CLI-extensie voor azure Spring Apps Standard-verbruik en toegewezen abonnement met behulp van de volgende opdracht:

    az extension remove --name spring && \
    az extension add --name spring
    
  • Gebruik de volgende opdrachten om de Azure Container Apps-extensie voor de Azure CLI te installeren en deze naamruimten te registreren: Microsoft.App, Microsoft.OperationalInsightsen Microsoft.AppPlatform:

    az extension add --name containerapp --upgrade
    az provider register --namespace Microsoft.App
    az provider register --namespace Microsoft.OperationalInsights
    az provider register --namespace Microsoft.AppPlatform
    

Een exemplaar van Azure Spring Apps inrichten

Gebruik de volgende stappen om een Azure Spring Apps-service-exemplaar te maken.

  1. Selecteer Cloudshell openen en meld u aan bij uw Azure-account in Azure Cloud Shell.

    az account show
    
  2. Azure Cloud Shell-werkruimten zijn tijdelijk. Wanneer de shell voor het eerst wordt gestart, wordt u gevraagd om een Azure Storage-exemplaar te koppelen aan uw abonnement om bestanden in verschillende sessies te behouden. Zie voor meer informatie Inleiding tot Azure Storage.

    Schermopname van een Azure Portal waarschuwing dat er geen opslag is gekoppeld in de Azure Cloud Shell.

  3. Nadat u zich hebt aangemeld, gebruikt u de volgende opdracht om een lijst met uw abonnementen weer te geven:

    az account list --output table
    
  4. Gebruik de volgende opdracht om uw standaardabonnement in te stellen:

    az account set --subscription <subscription-ID>
    
  5. Gebruik de volgende opdrachten om variabelen voor deze quickstart te definiëren met de namen van uw resources en gewenste instellingen:

    LOCATION="<region>"
    RESOURCE_GROUP="<resource-group-name>"
    MANAGED_ENVIRONMENT="<Azure-Container-Apps-environment-name>"
    SERVICE_NAME="<Azure-Spring-Apps-instance-name>"
    APP_NAME="<Spring-app-name>"
    
  6. Gebruik de volgende opdracht om een resourcegroep te maken:

    az group create \
        --resource-group ${RESOURCE_GROUP} \
        --location ${LOCATION}
    
  7. Een Azure Container Apps-omgeving maakt een veilige grens rond een groep toepassingen. Apps die zijn geïmplementeerd in dezelfde omgeving, worden geïmplementeerd in hetzelfde virtuele netwerk en schrijven logboeken naar dezelfde Log Analytics-werkruimte. Zie Overzicht van Log Analytics-werkruimte voor meer informatie. Gebruik de volgende opdracht om de omgeving te maken:

    az containerapp env create \
        --resource-group ${RESOURCE_GROUP} \
        --name ${MANAGED_ENVIRONMENT} \
        --location ${LOCATION} \
        --enable-workload-profiles
    
  8. Gebruik de volgende opdracht om een variabele te maken voor het opslaan van de omgevingsresource-id:

    MANAGED_ENV_RESOURCE_ID=$(az containerapp env show \
        --resource-group ${RESOURCE_GROUP} \
        --name ${MANAGED_ENVIRONMENT} \
        --query id \
        --output tsv)
    
  9. Gebruik de volgende opdracht om een Azure Spring Apps-service-exemplaar te maken. Een exemplaar van het Azure Spring Apps Standard-verbruik en toegewezen plan is gebouwd op basis van de Azure Container Apps-omgeving. Maak uw Azure Spring Apps-exemplaar door de resource-id op te geven van de omgeving die u hebt gemaakt.

    az spring create \
        --resource-group ${RESOURCE_GROUP} \
        --name ${SERVICE_NAME} \
        --managed-environment ${MANAGED_ENV_RESOURCE_ID} \
        --sku standardGen2 \
        --location ${LOCATION}
    

Een app maken in uw Azure Spring Apps-exemplaar

Een app is een abstractie van één zakelijke app. Zie App en implementatie in Azure Spring Apps voor meer informatie. Apps worden uitgevoerd in een Azure Spring Apps-service-exemplaar, zoals wordt weergegeven in het volgende diagram.

Diagram met de relatie tussen apps en een Azure Spring Apps-service-exemplaar.

U kunt een app maken in standaardverbruik of toegewezen workloadprofielen.

Belangrijk

Het verbruiksworkloadprofiel heeft een factureringsmodel voor betalen per gebruik zonder beginkosten. U wordt gefactureerd voor het toegewezen workloadprofiel op basis van de ingerichte resources. Zie Workloadprofielen in omgevingen met verbruiks- en toegewezen planstructuur in Azure Container Apps (preview) en Prijzen van Azure Spring Apps voor meer informatie.

Een app met een workloadprofiel voor verbruik maken

Gebruik de volgende opdracht om de app-naam op te geven in Azure Spring Apps en om vereiste resources toe te wijzen:

az spring app create \
    --resource-group ${RESOURCE_GROUP} \
    --service ${SERVICE_NAME} \
    --name ${APP_NAME} \
    --cpu 1 \
    --memory 2Gi \
    --min-replicas 2 \
    --max-replicas 2 \
    --assign-endpoint true

Azure Spring Apps maakt een lege welkomsttoepassing en geeft de BIJBEHORENDE URL op in het veld met de naam properties.url.

Schermopname van de welkomstpagina voor een Spring-app in een Azure Spring Apps-exemplaar.

Een app met een toegewezen workloadprofiel maken

Toegewezen workloadprofielen ondersteunen het uitvoeren van apps met aangepaste hardware en verbeterde voorspelbaarheid van de kosten.

Gebruik de volgende opdracht om een toegewezen workloadprofiel te maken:

az containerapp env workload-profile set \
    --resource-group ${RESOURCE_GROUP} \
    --name ${MANAGED_ENVIRONMENT} \
    --workload-profile-name my-wlp \
    --workload-profile-type D4 \
    --min-nodes 1 \
    --max-nodes 2

Gebruik vervolgens de volgende opdracht om een app te maken met het toegewezen workloadprofiel:

az spring app create \
   --resource-group ${RESOURCE_GROUP} \
   --service ${SERVICE_NAME} \
   --name ${APP_NAME} \
   --cpu 1 \
   --memory 2Gi \
   --min-replicas 2 \
   --max-replicas 2 \
   --assign-endpoint true \
   --workload-profile my-wlp

Het Spring Boot-voorbeeldproject klonen en bouwen

Gebruik de volgende stappen om het Spring Boot-voorbeeldproject te klonen.

  1. Gebruik de volgende opdracht om het Spring Boot-voorbeeldproject te klonen vanuit GitHub.

    git clone -b boot-2.7 https://github.com/spring-guides/gs-spring-boot.git
    
  2. Gebruik de volgende opdracht om naar de projectmap te gaan:

    cd gs-spring-boot/complete
    
  3. Gebruik de volgende Maven-opdracht om het project te bouwen.

    mvn clean package -DskipTests
    

De lokale app implementeren in Azure Spring Apps

Gebruik de volgende opdracht om het JAR-bestand voor de app te implementeren:

az spring app deploy \
    --resource-group ${RESOURCE_GROUP} \
    --service ${SERVICE_NAME} \
    --name ${APP_NAME} \
    --artifact-path target/spring-boot-complete-0.0.1-SNAPSHOT.jar \
    --env testEnvKey=testEnvValue \
    --runtime-version Java_11 \
    --jvm-options '-Xms1024m -Xmx2048m'

Het implementeren van de toepassing kan enkele minuten duren.

  • Apache Maven
  • Azure CLI. Installeer de Azure Spring Apps-extensie met de volgende opdracht: az extension add --name spring

Een exemplaar van Azure Spring Apps inrichten

Gebruik de volgende stappen om een Azure Spring Apps-service-exemplaar te maken.

  1. Selecteer Cloudshell openen en meld u aan bij uw Azure-account in Azure Cloud Shell.

    az account show
    
  2. Azure Cloud Shell-werkruimten zijn tijdelijk. Wanneer de shell voor het eerst wordt gestart, wordt u gevraagd om een Azure Storage-exemplaar te koppelen aan uw abonnement om bestanden in verschillende sessies te behouden. Zie voor meer informatie Inleiding tot Azure Storage.

    Schermopname van een Azure Portal waarschuwing dat er geen opslag is gekoppeld in de Azure Cloud Shell.

  3. Nadat u zich hebt aangemeld, gebruikt u de volgende opdracht om een lijst met uw abonnementen weer te geven:

    az account list --output table
    
  4. Gebruik de volgende opdracht om uw standaardabonnement in te stellen:

    az account set --subscription <subscription-ID>
    
  5. Gebruik de volgende opdracht om een resourcegroep te maken:

    az group create \
        --resource-group <name-of-resource-group> \
        --location eastus
    
  6. Gebruik de volgende opdracht om een Azure Spring Apps-service-exemplaar te maken:

    az spring create \
        --resource-group <name-of-resource-group> \
        --name <Azure-Spring-Apps-instance-name>
    
  7. Selecteer Y om de Azure Spring Apps-extensie te installeren en uit te voeren.

Een app maken in uw Azure Spring Apps-exemplaar

Een app is een abstractie van één zakelijke app. Zie App en implementatie in Azure Spring Apps voor meer informatie. Apps worden uitgevoerd in een Azure Spring Apps-service-exemplaar, zoals wordt weergegeven in het volgende diagram.

Diagram met de relatie tussen apps en een Azure Spring Apps-service-exemplaar.

Gebruik de volgende opdracht om de naam van de app in Azure Spring Apps op te geven als hellospring:

az spring app create \
    --resource-group <name-of-resource-group> \
    --service <Azure-Spring-Apps-instance-name> \
    --name hellospring \
    --assign-endpoint true

Het Spring Boot-voorbeeldproject klonen en bouwen

Gebruik de volgende stappen om het Spring Boot-voorbeeldproject te klonen.

  1. Gebruik de volgende opdracht om het Spring Boot-voorbeeldproject te klonen vanuit GitHub.

    git clone -b boot-2.7 https://github.com/spring-guides/gs-spring-boot.git
    
  2. Gebruik de volgende opdracht om naar de projectmap te gaan:

    cd gs-spring-boot/complete
    
  3. Gebruik de volgende Maven-opdracht om het project te bouwen.

    mvn clean package -DskipTests
    

De lokale app implementeren in Azure Spring Apps

Gebruik de volgende opdracht om het JAR-bestand voor de app te implementeren (target/spring-boot-complete-0.0.1-SNAPSHOT.jar in Windows):

az spring app deploy \
    --resource-group <name-of-resource-group> \
    --service <Azure-Spring-Apps-instance-name> \
    --name hellospring \
    --artifact-path target/spring-boot-complete-0.0.1-SNAPSHOT.jar

Het implementeren van de toepassing kan enkele minuten duren. Na de implementatie hebt u toegang tot de app op https://<service-instance-name>-hellospring.azuremicroservices.io/.

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, verwijdert u ze door de resourcegroep te verwijderen. Gebruik de volgende opdrachten om de resourcegroep te verwijderen:

echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."

Volgende stappen

In deze quickstart hebt u geleerd hoe u een Spring-app bouwt en implementeert in een Exemplaar van de Azure Spring Apps-service. U hebt ook geleerd hoe u een app met een openbaar eindpunt implementeert en hoe u resources opschoont.

U hebt toegang tot krachtige logboeken, metrische gegevens en gedistribueerde traceringsmogelijkheden van de Azure Portal. Zie Quickstart: Azure Spring Apps-apps bewaken met logboeken, metrische gegevens en tracering voor meer informatie.

Als u wilt weten hoe u meer mogelijkheden van Azure Spring kunt gebruiken, gaat u naar de quickstart-reeks waarmee een voorbeeldtoepassing wordt geïmplementeerd in Azure Spring Apps:

Als u wilt weten hoe u een standaardverbruik en een toegewezen abonnement maakt in Azure Spring Apps voor app-implementatie, gaat u verder met de reeks Standaardverbruik en toegewezen quickstarts:

Zie Spring Boot PetClinic Microservices Application Deployed to Azure Spring Apps (Spring Boot PetClinic Microservices Application Deployed to Azure Spring Apps) voor een app-sjabloon met azure Spring Apps-infrastructuur die is ingericht met Bicep.

Meer voorbeelden zijn beschikbaar op GitHub: Azure Spring Apps-voorbeelden.