Compartir vía


Aplicación e implementación en Azure Spring Apps

Nota:

Los planes Básico, Estándar y Enterprise quedarán en desuso a partir de mediados de marzo de 2025, con un período de jubilación de 3 años. Se recomienda realizar la transición a Azure Container Apps. Para obtener más información, consulte el anuncio de retirada de Azure Spring Apps.

El plan Estándar por consumo y dedicado quedará obsoleto a partir del 30 de septiembre de 2024, con un cierre completo al cabo de seis meses. Se recomienda realizar la transición a Azure Container Apps. Para más información, consulte Migrar el plan Estándar por consumo y dedicado de Azure Spring Apps a Azure Container Apps.

Este artículo se aplica a: ✔️ Java ✔️ C#

La información de este artículo puede ponerse en práctica en: ✔️ Básico o Estándar ✔️ Enterprise

Aplicación e implementación son los dos conceptos clave del modelo de recursos de Azure Spring Apps. En Azure Spring Apps, una aplicación es una abstracción de una aplicación empresarial. Una versión de código o binaria implementada como la aplicación se ejecuta en una implementación. Las aplicaciones se ejecutan en unainstancia de servicio de Azure Spring Apps, o simplemente instancia de servicio, como se muestra a continuación.

Diagrama que muestra la relación entre las aplicaciones y las implementaciones.

Puede tener varias instancias de servicio en una sola suscripción de Azure, pero el servicio Azure Spring Apps es más fácil de usar cuando todas las aplicaciones que componen una aplicación empresarial residen en una única instancia de servicio. Una razón es que es probable que las aplicaciones se comuniquen entre sí. Pueden hacerlo fácilmente mediante el registro del servicio Eureka en la instancia de servicio.

El plan Estándar de Azure Spring Apps permite que una aplicación tenga una implementación de producción y una implementación de ensayo, de modo que pueda realizar una implementación azul/verde en ella fácilmente.

Aplicación

Las siguientes características o propiedades se definen en el nivel de aplicación.

Características Descripción
Punto de conexión público
Dirección URL para acceder a la aplicación.
Custom Domain
Registro CNAME que protege el dominio personalizado.
Enlace de servicio
La conexión integrada con otros servicios de Azure.
Identidad administrada
La identidad administrada por Microsoft Entra ID permite a la aplicación acceder fácilmente a otros recursos protegidos de Microsoft Entra, como Azure Key Vault.
Almacenamiento persistente
La configuración que permite que los datos se conserven más allá del reinicio de la aplicación.

Implementación

Las siguientes características o propiedades se definen en el nivel de implementación y se intercambian al intercambiar la implementación de producción y ensayo.

Características Descripción
CPU Número de núcleos por instancia de aplicación.
Memoria Los Gb de memoria por instancia de aplicación.
Recuento de instancias
El número de instancias de aplicación, establecido manual o automáticamente.
Escalado automático El recuento de instancias de escalado se basa automáticamente en las reglas y programaciones predefinidas.
Opciones de JMV
Opciones de JVM que se van a establecer.
Variables de entorno
Variables de entorno que se van a establecer.
Versión de runtime
Java 8 o Java 11.

Entorno

Azure Spring Apps monta algunos archivos YAML de solo lectura en las aplicaciones implementadas. Estos archivos contienen el contexto de Azure de una implementación. En la siguiente lista se muestran las rutas de acceso y el contenido de estos archivos YAML:

  • /etc/azure-spring-cloud/context/azure-spring-apps.yml

    AZURE_SPRING_APPS:
        SUBSCRIPTION_ID:  <your-azure-subscription-id>
        RESOURCE_GROUP: <your-resource-group-name>
        NAME: <your-azure-spring-apps-name>
    
  • /etc/azure-spring-cloud/context/azure-spring-apps-deployment.yml

    AZURE_SPRING_APPS:
         APP:
            NAME: <your-app-name>
         DEPLOYMENT:
            NAME: <your-deployment-name>
            ACTIVE: true # true if the deployment is in production, false if in staging
    

Si la aplicación es una aplicación de Spring Boot, estas dos rutas de acceso de archivo se agregan a la SPRING_CONFIG_ADDITIONAL_LOCATION variable de entorno. De este modo, la aplicación puede cargar estas propiedades como configuraciones y usarlas en el código. Por ejemplo, puede usar la @ConfigurationProperties anotación para enlazar las propiedades de YAML a una clase Java. En el fragmento de código siguiente se muestra cómo crear una @Configuration clase que represente el contexto de Azure:

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;

@Configuration
@ConfigurationProperties(prefix = "azure-spring-apps")
@Data
public class AzureSpringAppsContext {

    private String subscriptionId;
    private String resourceGroup;
    private String name;

    private AppContext app;
    private DeploymentContext deployment;

    @Data
    public static class AppContext {
        private String name;
    }

    @Data
    public static class DeploymentContext {
        private String name;
        private boolean active;
    }
}

Para cualquier otra aplicación políglota, puede que necesites leer y acceder a las propiedades correspondientes utilizando las bibliotecas de lectura y escritura de archivos correspondientes en tus aplicaciones.

Restricciones

  • Una aplicación debe tener una implementación de producción. La API bloquea la eliminación de una implementación de producción. Debe intercambiar una implementación al almacenamiento provisional antes de eliminarla.
  • Una aplicación puede tener dos implementaciones como máximo. La API bloquea la creación de más de dos implementaciones. Implemente el nuevo archivo binario en la implementación de producción o de almacenamiento provisional.
  • La administración de implementación no está disponible en el plan Básico. Use el plan Estándar o Enterprise para la funcionalidad de implementación azul-verde.

Pasos siguientes