Inicio rápido: implementación de aplicaciones de microservicios en Azure Spring Apps
Artículo
Nota:
Los planes de Básico, Estándar y Enterprise quedarán en desuso a partir de mediados de marzo de 2025, con un período de retiro de 3 años. Se recomienda realizar la transición a Azure Container Apps. Para más información, consulte el anuncio de retirada de Azure Spring Apps.
En este artículo se explica cómo implementar aplicaciones de microservicios en Azure Spring Apps mediante la aplicación de ejemplo muy conocida PetClinic.
El ejemplo Pet Clinic muestra el patrón de arquitectura de microservicios. En el siguiente diagrama, se muestra la arquitectura de la aplicación PetClinic en el plan Enterprise de Azure Spring Apps.
En el diagrama se muestran los siguientes flujos arquitectónicos y las relaciones del ejemplo de Pet Clinic:
Usa Azure Spring Apps para administrar las aplicaciones front-end y back-end. Las aplicaciones de back-end se compilan con Spring Boot y cada aplicación usa HSQLDB como almacén persistente. La aplicación de front-end renovada se basa en la aplicación de puerta de enlace de API de Pet Clinic con Node.js que sirve como una aplicación web de front-end independiente.
Usa los componentes administrados en Azure Spring Apps, incluidos Registro del servicio, Servicio de configuración de aplicaciones, Spring Cloud Gateway y Application Live View. El Servicio de configuración de aplicaciones lee la configuración del repositorio de Git.
Expone la dirección URL de Spring Cloud Gateway para enrutar la solicitud a las aplicaciones de servicio back-end y expone la dirección URL de Application Live View para supervisar las aplicaciones de back-end.
Analiza los registros mediante el área de trabajo de Log Analytics.
Supervisa el rendimiento con Application Insights.
Nota:
En este artículo se usa una versión simplificada de PetClinic, mediante una base de datos en memoria que no está lista para producción para implementarse rápidamente en Azure Spring Apps.
El ejemplo Pet Clinic muestra el patrón de arquitectura de microservicios. En el siguiente diagrama, se muestra la arquitectura de la aplicación PetClinic en el plan Estándar de Azure Spring Apps.
En el diagrama se muestran los siguientes flujos arquitectónicos y las relaciones del ejemplo de Pet Clinic:
Usa Azure Spring Apps para administrar las aplicaciones de Spring Boot. Cada aplicación usa HSQLDB como almacén persistente.
Usa los componentes administrados de Eureka Service Registry y Config Server de Spring Cloud en Azure Spring Apps. Config Server lee la configuración del repositorio de Git.
Expone la dirección URL de la puerta de enlace de API para equilibrar la carga de las solicitudes a las aplicaciones de servicio y expone la dirección URL del servidor de administración para administrar las aplicaciones.
Analiza los registros mediante el área de trabajo de Log Analytics.
Supervisa el rendimiento con Application Insights.
Nota:
En este artículo se usa una versión simplificada de PetClinic, mediante una base de datos en memoria que no está lista para producción para implementarse rápidamente en Azure Spring Apps.
La aplicación implementada admin-server expone el acceso público, que es un punto de riesgo. El entorno de producción necesita proteger la aplicación Spring Boot Admin.
En este artículo se proporcionan las siguientes opciones para la implementación en Azure Spring Apps:
La opción de Azure Portal es la manera más sencilla y rápida de crear recursos e implementar aplicaciones con un solo clic. Esta opción es adecuada para los desarrolladores de Spring que desean implementar rápidamente aplicaciones para los servicios en la nube de Azure.
La opción Azure Portal y complemento Maven es una manera más convencional de crear recursos e implementar aplicaciones paso a paso. Esta opción es adecuada para los desarrolladores de Spring que usan servicios en la nube de Azure por primera vez.
La opción CLI de Azure utiliza una potente herramienta de línea de comandos para administrar los recursos de Azure. Esta opción es adecuada para los desarrolladores de Spring que están familiarizados con los servicios en la nube de Azure.
La opción Azure Portal y complemento Maven es una manera más convencional de crear recursos e implementar aplicaciones paso a paso. Esta opción es adecuada para los desarrolladores de Spring que usan servicios en la nube de Azure por primera vez.
La opción de la Azure Developer CLI es una manera más eficaz de crear recursos e implementar aplicaciones automáticamente a través de comandos sencillos. La Azure Developer CLI usa una plantilla para aprovisionar los recursos de Azure necesarios e implementar el código de la aplicación. Esta opción es adecuada para los desarrolladores de Spring que están familiarizados con los servicios en la nube de Azure.
Suscripción a Azure. Si no tiene una suscripción, cree una cuenta gratuita antes de empezar.
Si va a implementar la instancia del plan Enterprise de Azure Spring Apps por primera vez en la suscripción de destino, vea la sección Requisitos del plan Enterprise en Azure Marketplace.
Suscripción a Azure. Si no tiene una suscripción, cree una cuenta gratuita antes de empezar.
Si va a implementar la instancia del plan Enterprise de Azure Spring Apps por primera vez en la suscripción de destino, vea la sección Requisitos del plan Enterprise en Azure Marketplace.
Suscripción a Azure. Si no tiene una suscripción, cree una cuenta gratuita antes de empezar.
Si va a implementar la instancia del plan Enterprise de Azure Spring Apps por primera vez en la suscripción de destino, vea la sección Requisitos del plan Enterprise en Azure Marketplace.
En la lista siguiente se describe la interacción del comando:
Escriba un nuevo nombre de entorno: proporcione un nombre de entorno que se use como sufijo para que el grupo de recursos que se crea para contener todos los recursos de Azure. El nombre debe ser único en la suscripción de Azure.
La consola genera mensajes similares al ejemplo siguiente:
Initializing a new project (azd init)
Downloading template code to: <your-local-path>
(✓) Done: Initialized git repository
Enter a new environment name: <your-env-name>
SUCCESS: New project initialized!
You can view the template code in your directory: <your-local-path>
Learn more about running 3rd party code on our DevHub: https://aka.ms/azd-third-party-code-notice
3. Preparar el entorno en la nube
En esta sección se describe cómo crear una instancia de servicio de Azure Spring Apps y preparar el entorno en la nube de Azure.
Vaya a Azure Portal, escriba sus credenciales e inicie sesión en el portal. La vista predeterminada es el panel del servicio.
3.2. Creación de una instancia de Azure Spring Apps
Siga estos pasos para crear la instancia de servicio:
En la esquina de Azure Portal, seleccione Crear un recurso.
En la pestaña Servicios de Azure, seleccione Proceso>Azure Spring Apps.
En la página Crear Azure Spring Apps, rellene el formulario en la pestaña Aspectos básicos.
Use la tabla siguiente como guía para completar el formulario. El plan recomendado es Estándar.
Configuración
Valor sugerido
Descripción
Suscripción
El nombre de su suscripción.
La suscripción de Azure que desea usar para el servidor. Si tiene varias suscripciones, elija aquella en la que quiera que se le facture el recurso.
Grupos de recursos
myresourcegroup
Un nuevo nombre de grupo de recursos o uno existente de la suscripción.
Nombre
myasa
Nombre único que identifica la instancia de Azure Spring Apps. El nombre debe tener entre 4 y 32 caracteres, y solo puede contener números, letras minúsculas y guiones. El primer carácter del nombre del servicio debe ser una letra y el último debe ser una letra o un número.
Plan
Estándar
El plan de precios determina los recursos y el coste asociados a la instancia.
Región
La región más cercana a los usuarios.
La ubicación más cercana a los usuarios.
Redundancia de zona
No seleccionado
Crea el servicio Azure Spring Apps en una zona de disponibilidad de Azure. Actualmente no se admite en todas las regiones.
Vaya a la pestaña Configuración de diagnósticos de la página Crear Azure Spring Apps y seleccione Crear nuevo para crear una nueva instancia de áreas de trabajo de Log Analytics. En la página Crear nueva área de trabajo de Log Analytics, actualice el nombre del área de trabajo de Log Analytics según sea necesario y, a continuación, seleccione Aceptar para confirmar la creación.
Vaya a la pestaña Application Insights de la página Crear Azure Spring Apps y, a continuación, seleccione Crear nuevo para crear una nueva instancia de Application Insights. En la página Crear nuevo recurso de Application Insights, actualice el nombre de Application Insights según sea necesario, seleccione Basado en área de trabajo para Modo de recurso y, a continuación, seleccione Aceptar para confirmar la creación.
Seleccione Revisar y crear para revisar las selecciones. A continuación, seleccione Crear para aprovisionar la instancia de Azure Spring Apps.
Seleccione el icono de Notificaciones (una campana) para supervisar el proceso de implementación. Una vez realizada la implementación, puede seleccionar Anclar al panel para crear un acceso directo en el panel de Azure Portal a la página Información general del servicio.
Seleccione Ir al recurso para ir a la página Información general de Azure Spring Apps.
Seleccione Config Server en el panel de navegación.
Después de la validación, seleccione Aplicar para finalizar la configuración de Config Server.
Siga estos pasos para crear los recursos necesarios:
Use el siguiente comando para iniciar sesión en Azure con OAuth2. Omita este paso si ya ha iniciado sesión.
azd auth login
La consola genera mensajes similares al ejemplo siguiente:
Logged in to Azure.
Use el siguiente comando para empaquetar una copia implementable de la aplicación, aprovisionar la infraestructura de la plantilla en Azure e implementar el código de aplicación en esos recursos recién aprovisionados:
azd provision
En la lista siguiente se describen las interacciones del comando:
Seleccione una suscripción de Azure para usar: use las flechas para moverse, escriba para filtrar las opciones y presione Entrar.
Seleccione una ubicación de Azure para usar: use las flechas para moverse, escriba para filtrar las opciones y presione Entrar.
La consola genera mensajes similares al ejemplo siguiente:
SUCCESS: Your application was provisioned in Azure in xx minutes xx seconds.
You can view the resources created under the resource group rg-<your-environment-name> in Azure Portal:
https://portal.azure.com/#@/resource/subscriptions/<your-subscription-id>/resourceGroups/rg-<your-environment-name>/overview
Nota
Esta operación puede tardar un tiempo en completarse. Se muestra un indicador de progreso a medida que aprovisiona recursos de Azure.
4. Implementar las aplicaciones en Azure Spring Apps
Ahora puede implementar la aplicación en Azure Spring Apps.
En la lista siguiente se describen las interacciones del comando:
Seleccione módulos secundarios para configurar (números de entrada separados por comas, por ejemplo: [1-2,4,6]; ENTRAR para seleccionar TODO): presione Entrar para seleccionar todo.
Inicio de sesión de OAuth2: autorice el inicio de sesión a Azure en función del protocolo OAuth2.
Seleccionar suscripción: seleccione el número de lista de suscripciones de la instancia de Azure Spring Apps que creó, que tiene como valor predeterminado la primera suscripción de la lista. Si usa el número predeterminado, presione Entrar directamente.
Seleccione Azure Spring Apps para la implementación: seleccione el número de lista de la instancia de Azure Spring Apps que creó. Si usa el número predeterminado, presione Entrar directamente.
Seleccione las aplicaciones para exponer el acceso público: (números de entrada separados por comas, por ejemplo: [1-2,4,6]; ENTRAR para seleccionar NINGUNO): escriba 1,5 para admin-server y api-gateway.
Confirme para guardar todas las configuraciones anteriores (Y/N): presione y. Si presiona n, la configuración no se guardará en los archivos POM.
Use el siguiente comando para compilar e implementar cada aplicación:
./mvnw azure-spring-apps:deploy
Para la solicitud Inicio de sesión de OAuth2, autorice el inicio de sesión a Azure en función del protocolo OAuth2.
Nota
La implementación en Azure Spring Apps podría tardar hasta 25 minutos.
Una vez ejecutado el comando, un registro mostrará una salida similar al ejemplo siguiente, que indica que todas las implementaciones se realizaron correctamente:
[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
Siga estos pasos para empaquetar la aplicación, aprovisionar los recursos de Azure necesarios para la aplicación web y, a continuación, implementarlos en Azure Spring Apps:
Use el siguiente comando para empaquetar una copia implementable de la aplicación:
azd package
La consola genera mensajes similares al ejemplo siguiente:
SUCCESS: Your application was packaged for Azure in xx minutes xx seconds.
Use el siguiente comando para implementar el código de la aplicación en los recursos recién aprovisionados:
azd deploy
La consola genera mensajes similares al ejemplo siguiente:
Deploying services (azd deploy)
(✓) Done: Deploying service admin-server
- Endpoint: https://<your-Azure-Spring-Apps-instance-name>-admin-server.azuremicroservices.io
(✓) Done: Deploying service api-gateway
- Endpoint: https://<your-Azure-Spring-Apps-instance-name>-api-gateway.azuremicroservices.io
(✓) Done: Deploying service customers-service
- No endpoints were found
(✓) Done: Deploying service vets-service
- No endpoints were found
(✓) Done: Deploying service visits-service
- No endpoints were found
SUCCESS: Your application was deployed to Azure in xx minutes xx seconds.
You can view the resources created under the resource group rg-<your-environment-name> in Azure Portal:
https://portal.azure.com/#@/resource/subscriptions/<your-subscription-id>/resourceGroups/rg-<your-environment-name>/overview
Nota
También puede usar azd up para combinar los tres comandos anteriores: azd package (empaqueta una copia implementable de la aplicación), azd provision (aprovisiona recursos de Azure) y azd deploy (implementa el código de la aplicación). Para más información, consulte Azure-Samples/spring-pet clinic-microservices.
El botón Implementar en Azure de la sección siguiente inicia una experiencia de Azure Portal que implementa el código fuente desde el repositorio Spring PetClinic. No se necesitan pasos de preparación locales.
Siga estos pasos en el equipo local cuando quiera comprobar la aplicación antes de implementarla en la nube:
Para los servicios Clientes, Veterinarios, Visitas y Spring Cloud Gateway, abra una nueva ventana de Bash y utilice los siguientes comandos para iniciar los servicios:
Abra una nueva ventana de Bash y vaya al directorio del proyecto spring-petclinic-frontend. Use los siguientes comandos para instalar dependencias y ejecutar la aplicación de front-end:
npm install
npm run start
Una vez completado correctamente el script, vaya a http://localhost:8080 en el explorador para acceder a la aplicación Pet Clinic.
Siga estos pasos en el equipo local cuando quiera comprobar la aplicación antes de implementarla en la nube:
Para los servicios Clientes, Veterinarios, Visitas y Spring Cloud Gateway, abra una nueva ventana de Bash y utilice los siguientes comandos para iniciar los servicios:
Abra una nueva ventana de Bash y vaya al directorio del proyecto spring-petclinic-frontend. Use los siguientes comandos para instalar dependencias y ejecutar la aplicación de front-end:
npm install
npm run start
Una vez completado correctamente el script, vaya a http://localhost:8080 en el explorador para acceder a la aplicación Pet Clinic.
3. Preparar el entorno en la nube
El recurso principal que necesita para ejecutar este ejemplo es una instancia de Azure Spring Apps. En esta sección se describe cómo crear este recurso.
En esta sección se usa un botón Implementar en Azure para iniciar una experiencia de implementación en Azure Portal. Esta experiencia usa una plantilla de ARM para crear recursos de Azure.
3.1. Inicio de sesión en Azure Portal
Vaya a Azure Portal, escriba sus credenciales e inicie sesión en el portal. La vista predeterminada es el panel del servicio.
3.2. Creación de recursos de Azure
Siga estos pasos para crear todos los recursos de Azure de los que depende la aplicación:
Seleccione el botón Implementar en Azure para iniciar la experiencia de implementación en Azure Portal:
Rellene el formulario en la pestaña Aspectos básicos. Use la siguiente tabla como guía para completar el formulario:
Configuración
Valor sugerido
Descripción
Suscripción
El nombre de su suscripción.
La suscripción de Azure que desea usar para el servidor. Si tiene varias suscripciones, elija aquella en la que quiere que se le facture el recurso.
Grupos de recursos
myresourcegroup
Un nuevo nombre de grupo de recursos o uno existente de la suscripción.
Región
La región más cercana a los usuarios.
La región se usa para crear el grupo de recursos.
Seleccione Revisar y crear para revisar las selecciones. A continuación, seleccione Crear para implementar la aplicación en Azure Spring Apps.
En la barra de herramientas, seleccione el símbolo de Notificaciones (una campana) para supervisar el proceso de implementación. Una vez realizada la implementación, puede seleccionar Anclar al panel para crear un mosaico para este servicio en el panel de Azure Portal como un acceso directo a la página Información general del servicio. Seleccione Ir al recurso para abrir la página Información general del servicio.
3.1. Inicio de sesión en Azure Portal
Vaya a Azure Portal y escriba sus credenciales para iniciar sesión en el portal. La vista predeterminada es el panel del servicio.
3.2. Creación de una instancia de Azure Spring Apps
Siga estos pasos para crear la instancia de servicio:
En la esquina de Azure Portal, seleccione Crear un recurso.
Seleccione Proceso>Azure Spring Apps.
Rellene el formulario en la pestaña Aspectos básicos. Use la siguiente tabla como guía para completar el formulario:
Configuración
Valor sugerido
Descripción
Suscripción
El nombre de su suscripción.
La suscripción de Azure que desea usar para el servidor. Si tiene varias suscripciones, elija aquella en la que quiere que se le facture el recurso.
Grupos de recursos
myresourcegroup
Un nuevo nombre de grupo de recursos o uno existente de la suscripción.
Nombre
myasa
Nombre único que identifica al servicio de Azure Spring Apps. El nombre debe tener entre 4 y 32 caracteres, y solo puede contener números, letras minúsculas y guiones. El primer carácter del nombre del servicio debe ser una letra y el último debe ser una letra o un número.
Región
La región más cercana a los usuarios.
La ubicación más cercana a los usuarios.
Opciones y planes de hospedaje
Empresa
El plan de precios que determina el recurso y el coste asociado a su instancia.
Redundancia de zona
No seleccionado
La opción para crear el servicio de Azure Spring Apps en una zona de disponibilidad de Azure. Esta característica no se admite actualmente en todas las regiones.
Plan de IP de software
Pago por uso
Plan de precios que le permite pagar por uso con Azure Spring Apps.
Implementación del proyecto de ejemplo
No seleccionado
Opción para usar la aplicación de ejemplo integrada.
Vaya a la pestaña Configuración de diagnósticos de la página Crear Azure Spring Apps y seleccione Crear nuevo para crear una nueva instancia de áreas de trabajo de Log Analytics. En la página Crear nueva área de trabajo de Log Analytics, actualice el nombre del área de trabajo de Log Analytics según sea necesario y, a continuación, seleccione Aceptar para confirmar la creación.
Vaya a la pestaña Application Insights de la página Crear Azure Spring Apps y, a continuación, seleccione Crear nuevo para crear una nueva instancia de Application Insights. En la página Crear nuevo recurso de Application Insights, actualice el nombre de Application Insights según sea necesario, seleccione Basado en área de trabajo para Modo de recurso y, a continuación, seleccione Aceptar para confirmar la creación.
Seleccione Revisar y crear para revisar las selecciones. A continuación, seleccione Crear para aprovisionar la instancia de Azure Spring Apps.
Seleccione el icono de Notificaciones (una campana) para supervisar el proceso de implementación. Una vez realizada la implementación, puede seleccionar Anclar al panel para crear un acceso directo en el panel de Azure Portal a la página Información general del servicio.
Seleccione Ir al recurso para ir a la página Información general de Azure Spring Apps.
3.3. Configurar la instancia de Azure Spring Apps
En las secciones siguientes se muestra cómo configurar la instancia de servicio.
Crear las aplicaciones
Siga estos pasos para crear las aplicaciones:
En el panel de navegación, seleccione Aplicaciones y seleccione Crear aplicación.
En la página Crear aplicación, para el Nombre de la aplicación, use front-end y deje todos los demás campos con sus valores predeterminados.
Repita el paso anterior con cada uno de los siguientes nombres de aplicación:
customers-service
vets-service
visits-service
Seleccione Crear para finalizar la creación de la aplicación.
Configurar el Registro del servicio
Siga estos pasos para configurar el Registro del servicio:
En el panel de navegación, seleccione Registro del servicio.
Seleccione Enlace de aplicaciones, seleccione Enlazar aplicación, seleccione customers-service en la lista y, a continuación, seleccione Aplicar.
Repita el paso anterior para enlazar las siguientes aplicaciones:
vets-service
visits-service
Configurar el Servicio de configuración de aplicaciones
Siga estos pasos para configurar Application Configuration Service:
En el panel de navegación, seleccione Servicio de configuración de aplicaciones y, a continuación, seleccione Configuración.
Rellene el repositorio con la siguiente información y seleccione Validar:
Después de la validación, seleccione Aplicar para finalizar la configuración del Servicio de configuración de aplicaciones.
Seleccione Enlace de aplicaciones, seleccione Enlazar aplicación, seleccione customers-service en la lista y, a continuación, seleccione Aplicar.
Repita el paso anterior para enlazar las siguientes aplicaciones:
vets-service
visits-service
Establecer los patrones de archivo de configuración para las aplicaciones
Siga estos pasos para establecer los patrones de archivo de configuración:
En el panel de navegación, seleccione Aplicaciones y, a continuación, seleccione la aplicación customers-service.
En la página Información general de aplicación, seleccione Configuración, seleccione Patrones de archivo de configuración en la pestaña Configuración general y, a continuación, seleccione aplicación y customers-service. Seleccione Guardar para establecer los patrones de archivo de configuración.
Repita el paso anterior para guardar los patrones de archivo de configuración para las siguientes aplicaciones:
vets-service: seleccione aplicación y vets-service.
visits-service: seleccione aplicación y visits-service.
Configuración de Spring Cloud Gateway
En esta sección se muestra cómo configurar Spring Cloud Gateway.
En primer lugar, siga estos pasos para asignar un punto de conexión para el acceso a la puerta de enlace:
En el panel de navegación, seleccione Spring Cloud Gateway.
En la pestaña Información general, seleccione Sí para asignar un punto de conexión. Guarde la dirección URL del punto de conexión para usarla más adelante.
A continuación, configure el enrutamiento de Spring Cloud Gateway. Dado que Azure Portal no admite actualmente la configuración de rutas para Spring Cloud Gateway, abra una ventana de Bash y use los siguientes pasos de la CLI de Azure para configurar el enrutamiento:
Use el siguiente comando para iniciar sesión en la CLI de Azure:
az login
Use los siguientes comandos para instalar la extensión Azure Container Apps para la CLI de Azure y registrar el espacios de nombres Microsoft.SaaS:
az extension add --name spring --upgrade
az provider register --namespace Microsoft.SaaS
Use el siguiente comando para aceptar los términos legales y las declaraciones de privacidad:
Nota:
Este paso solo es necesario si la suscripción nunca se ha usado para crear un plan Enterprise de Azure Spring Apps.
az term accept \
--publisher vmware-inc \
--product azure-spring-cloud-vmware-tanzu-2 \
--plan asa-ent-hr-mtr
Cree variables para contener los nombres del recurso mediante los siguientes comandos. Asegúrese de reemplazar los marcadores de posición por sus propios valores.
Siga estos pasos para configurar las Herramientas de desarrollo.
En el panel de navegación, seleccione Herramientas de desarrollo.
Seleccione Asignar punto de conexión para asignar un punto de conexión para Herramientas de desarrollo.
Guarde el punto de conexión de App Live View para usarlo más adelante.
3.1. Proporcione nombres para cada recurso
Cree variables para contener los nombres del recurso mediante los siguientes comandos. Asegúrese de reemplazar los marcadores de posición por sus propios valores.
Use los siguientes comandos para crear aplicaciones para la instancia de Azure Spring Apps:
az spring app create --service ${SPRING_APPS} --name ${APP_FRONTEND}
az spring app create --service ${SPRING_APPS} --name ${APP_CUSTOMERS_SERVICE}
az spring app create --service ${SPRING_APPS} --name ${APP_VETS_SERVICE}
az spring app create --service ${SPRING_APPS} --name ${APP_VISITS_SERVICE}
Use los siguientes comandos para enlazar aplicaciones para el Registro de servicios:
az spring service-registry bind --service ${SPRING_APPS} --app ${APP_CUSTOMERS_SERVICE}
az spring service-registry bind --service ${SPRING_APPS} --app ${APP_VETS_SERVICE}
az spring service-registry bind --service ${SPRING_APPS} --app ${APP_VISITS_SERVICE}
Use el siguiente comando para crear un repositorio de configuración para Application Configuration Service:
Use el siguiente comando para crear un repositorio de configuración para Application Configuration Service:
az spring application-configuration-service bind \
--service ${SPRING_APPS} \
--app ${APP_CUSTOMERS_SERVICE}
az spring application-configuration-service bind \
--service ${SPRING_APPS} \
--app ${APP_VETS_SERVICE}
az spring application-configuration-service bind \
--service ${SPRING_APPS} \
--app ${APP_VISITS_SERVICE}
Use el siguiente comando para asignar un punto de conexión a Spring Cloud Gateway:
az spring gateway update --service ${SPRING_APPS} --assign-endpoint
Use el siguiente comando para establecer el enrutamiento de la aplicación customers-service:
El botón Implementar en Azure de la sección anterior inicia una experiencia de Azure Portal que incluye la implementación de aplicaciones, por lo que no se necesita nada más.
En la lista siguiente se describen las interacciones del comando:
Seleccione los módulos secundarios para configurar: presione Entrar para seleccionar todos.
Seleccionar suscripción: seleccione el número de lista de suscripciones de la instancia de Azure Spring Apps que creó, que tiene como valor predeterminado la primera suscripción de la lista. Si usa el número predeterminado, presione Entrar directamente.
Usar Azure Spring Apps existente en Azure: presione y para usar la instancia de Azure Spring Apps existente.
Seleccione las aplicaciones para exponer el acceso público: presione Entrar para seleccionar ninguno.
Confirmar para guardar todas las configuraciones anteriores: presione y. Si presiona n, la configuración no se guardará en los archivos POM.
Use el siguiente comando para implementar las aplicaciones de back-end:
./mvnw azure-spring-apps:deploy
Una vez ejecutado el comando, puede ver en los siguientes mensajes de registro que la implementación se ha realizado correctamente:
[INFO] Start deploying artifact(customers-service-3.0.1.jar) to deployment(default) of app(customers-service)...
[INFO] Artifact(customers-service-3.0.1.jar) is successfully deployed to deployment(default) of app(customers-service).
[INFO] Starting Spring App after deploying artifacts...
[INFO] Deployment Status: Running
...
[INFO] Start deploying artifact(vets-service-3.0.1.jar) to deployment(default) of app(vets-service)...
[INFO] Artifact(vets-service-3.0.1.jar) is successfully deployed to deployment(default) of app(vets-service).
[INFO] Starting Spring App after deploying artifacts...
[INFO] Deployment Status: Running
...
[INFO] Start deploying artifact(visits-service-3.0.1.jar) to deployment(default) of app(visits-service)...
[INFO] Artifact(visits-service-3.0.1.jar) is successfully deployed to deployment(default) of app(visits-service).
[INFO] Starting Spring App after deploying artifacts...
[INFO] Deployment Status: Running
Azure Portal no admite la implementación de las aplicaciones de front-end, por lo que use el siguiente comando de la CLI de Azure para implementar la aplicación de front-end:
az spring app deploy \
--resource-group ${RESOURCE_GROUP} \
--service ${SPRING_APPS_NAME} \
--name ${APP_FRONTEND} \
--source-path spring-petclinic-frontend \
--build-env BP_WEB_SERVER=nginx
Una vez ejecutado el comando, puede ver en los siguientes mensajes de registro que la implementación se ha realizado correctamente:
[5/5] Updating deployment in app "frontend" (this operation can take a while to complete)
Azure Spring Apps will use rolling upgrade to update your deployment, you have 1 instance, Azure Spring Apps will update the deployment in 1 round.
The deployment is in round 1, 1 old instance is deleted/deleting and 1 new instance is started/starting
Your application is successfully deployed.
Siga estos pasos para implementar las aplicaciones:
Escriba el directorio raíz del proyecto y use el siguiente comando para compilar e implementar la aplicación de front-end:
az spring app deploy \
--service ${SPRING_APPS} \
--name ${APP_FRONTEND} \
--build-env BP_WEB_SERVER=nginx \
--source-path ./spring-petclinic-frontend
Use el siguiente comando para desarrollar e implementar la aplicación de customers-service:
Una vez finalizada la implementación, puede encontrar la dirección URL de Spring Cloud Gateway en las salidas de implementación, como se muestra en la captura de pantalla siguiente:
Abra la dirección URL de la puerta de enlace. La aplicación debería ser similar a la captura de pantalla siguiente:
5.2. Consulta de los registros de la aplicación
Después de examinar cada función de Pet Clinic, el área de trabajo de Log Analytics recopila registros de cada aplicación. Es posible comprobar los registros mediante consultas personalizadas, tal y como se muestra en la captura de pantalla siguiente:
5.3. Supervisión de las aplicaciones
Application Insights supervisa las dependencias de las aplicaciones, tal y como se muestra en la siguiente asignación de seguimiento de aplicaciones:
Puede encontrar la URL de Application Live View en los resultados de la implementación. Abra la dirección URL de Application Live View para supervisar los runtimes de la aplicación, como se muestra en la captura de pantalla siguiente:
5.1. Acceso a las aplicaciones
Use el punto de conexión asignado desde Spring Cloud Gateway (por ejemplo, https://<your-Azure-Spring-Apps-instance-name>-gateway-xxxxx.svc.azuremicroservices.io). La aplicación debería ser similar a la captura de pantalla siguiente:
5.2. Consulta de los registros de la aplicación
Después de examinar cada función de Pet Clinic, el área de trabajo de Log Analytics recopila registros de cada aplicación. Es posible comprobar los registros mediante consultas personalizadas, tal y como se muestra en la captura de pantalla siguiente:
5.3. Supervisión de las aplicaciones
Application Insights supervisa las dependencias de las aplicaciones, tal y como se muestra en la siguiente asignación de seguimiento de aplicaciones:
Abra la dirección URL de Application Live View expuesta por las Herramientas de desarrollo para supervisar los runtimes de la aplicación, como se muestra en la captura de pantalla siguiente:
5.1. Acceso a las aplicaciones
Use los siguientes comandos para recuperar la dirección URL de la puerta de enlace de Spring Cloud:
export GATEWAY_URL=$(az spring gateway show \
--service ${SPRING_APPS} \
--query properties.url \
--output tsv)
echo "https://${GATEWAY_URL}"
La aplicación debería ser similar a la captura de pantalla siguiente:
5.2. Consulta de los registros de la aplicación
Después de examinar cada función de Pet Clinic, el área de trabajo de Log Analytics recopila registros de cada aplicación. Es posible comprobar los registros mediante consultas personalizadas, tal y como se muestra en la captura de pantalla siguiente:
5.3. Supervisión de las aplicaciones
Application Insights supervisa las dependencias de las aplicaciones, tal y como se muestra en la siguiente asignación de seguimiento de aplicaciones:
Use los siguientes comandos para recuperar la dirección URL de Application Live View:
export DEV_TOOL_URL=$(az spring dev-tool show \
--service ${SPRING_APPS} \
--query properties.url \
--output tsv)
echo "https://${DEV_TOOL_URL}/app-live-view"
Abra la dirección URL de Application Live View para supervisar los runtimes de la aplicación, como se muestra en la captura de pantalla siguiente:
5.1. Acceso a las aplicaciones
Con la información de la dirección URL de la salida del registro de implementación, abra la dirección URL expuesta por la aplicación denominada api-gateway. Por ejemplo: https://<your-Azure-Spring-Apps-instance-name>-api-gateway.azuremicroservices.io. La aplicación debería ser similar a la captura de pantalla siguiente:
5.2. Consulta de los registros de la aplicación
Después de examinar cada función de Pet Clinic, el área de trabajo de Log Analytics recopila registros de cada aplicación. Es posible comprobar los registros mediante consultas personalizadas, tal y como se muestra en la captura de pantalla siguiente:
5.3. Supervisión de las aplicaciones
Application Insights supervisa las dependencias de las aplicaciones, tal y como se muestra en la siguiente asignación de seguimiento de aplicaciones:
Abra la dirección URL expuesta por la aplicación admin-server para administrar las aplicaciones a través del servidor de administración de Spring Boot, tal y como se muestra en la captura de pantalla siguiente:
6. Limpieza de recursos
Si planea seguir trabajando en otros inicios rápidos y tutoriales, considere la posibilidad de dejar estos recursos activos. Cuando ya no necesite los recursos, puede limpiar los recursos innecesarios para evitar cargos de Azure.
Siga los siguientes pasos para eliminar todo el grupo de recursos, incluyendo la instancia de servicio recién creada:
Elimine el grupo de recursos en Azure Portal. En el menú de navegación, seleccione Grupos de recursos y, a continuación, seleccione el nombre del grupo de recursos.
En la página Grupo de recursos, seleccione Eliminar. Escriba el nombre del grupo de recursos en el cuadro de texto para confirmar la eliminación, luego seleccione Eliminar.
Use el siguiente comando para eliminar todos los recursos de Azure usados en esta aplicación de ejemplo:
azd down
En la lista siguiente se describe la interacción del comando:
Número total de recursos que se van a eliminar: <resources-total>, ¿está seguro de que desea continuar?: presione y.
La consola genera mensajes similares al ejemplo siguiente:
SUCCESS: Your application was removed from Azure in xx minutes xx seconds.
Asegúrate de eliminar los recursos creados en este tutorial cuando ya no los necesites. Puede eliminar el grupo de recursos de Azure, lo que incluye todos los recursos del grupo de recursos.
Siga estos pasos para eliminar todo el grupo de recursos:
Elimine el grupo de recursos en Azure Portal. En el menú de navegación, seleccione Grupos de recursos y, a continuación, seleccione el nombre del grupo de recursos.
En la página Grupo de recursos, seleccione Eliminar. Escriba el nombre del grupo de recursos en el cuadro de texto para confirmar la eliminación, luego seleccione Eliminar.
Siga estos pasos para eliminar todo el grupo de recursos:
Elimine el grupo de recursos en Azure Portal. En el menú de navegación, seleccione Grupos de recursos y, a continuación, seleccione el nombre del grupo de recursos.
En la página Grupo de recursos, seleccione Eliminar. Escriba el nombre del grupo de recursos en el cuadro de texto para confirmar la eliminación, luego seleccione Eliminar.
Use el comando siguiente para eliminar el grupo de recursos: