Aplicativo e implantação no Azure Spring Apps
Nota
Os planos Basic, Standard e Enterprise serão preteridos a partir de meados de março de 2025, com um período de aposentadoria de 3 anos. Recomendamos a transição para os Aplicativos de Contêiner do Azure. Para obter mais informações, consulte o anúncio de aposentadoria do Azure Spring Apps.
O plano de consumo padrão e dedicado será preterido a partir de 30 de setembro de 2024, com um desligamento completo após seis meses. Recomendamos a transição para os Aplicativos de Contêiner do Azure. Para obter mais informações, consulte Migrar consumo padrão e plano dedicado do Azure Spring Apps para Aplicativos de Contêiner do Azure.
Este artigo aplica-se a: ✔️ Java ✔️ C#
Este artigo aplica-se a: ✔️ Basic/Standard ✔️ Enterprise
Aplicativo e Implantação são os dois conceitos-chave no modelo de recursos do Azure Spring Apps. No Azure Spring Apps, um Aplicativo é uma abstração de um aplicativo de negócios. Uma versão de código ou binário implantado à medida que o aplicativo é executado em uma implantação. Os aplicativos são executados em uma instância de serviço do Azure Spring Apps ou simplesmente em uma instância de serviço, conforme mostrado a seguir.
Você pode ter várias instâncias de serviço em uma única assinatura do Azure, mas o Serviço Azure Spring Apps é mais fácil de usar quando todos os Aplicativos que compõem um aplicativo de negócios residem em uma única instância de serviço. Uma das razões é que é provável que as Aplicações comuniquem entre si. Eles podem facilmente fazer isso usando o registro de serviço Eureka na instância de serviço.
O plano do Azure Spring Apps Standard permite que um Aplicativo tenha uma implantação de produção e uma implantação de preparo, para que você possa fazer uma implantação azul/verde nela facilmente.
Aplicação
Os seguintes recursos/propriedades são definidos no nível do aplicativo.
Funcionalidades | Description |
---|---|
Ponto de extremidade público |
O URL para aceder à aplicação. |
Domínio Personalizado |
O CNAME registro que protege o domínio personalizado. |
Vinculação de serviço |
A conexão pronta para uso com outros serviços do Azure. |
Identidade gerenciada |
A identidade gerenciada pelo Microsoft Entra ID permite que seu aplicativo acesse facilmente outros recursos protegidos pelo Microsoft Entra, como o Azure Key Vault. |
Armazenamento persistente |
A configuração que permite que os dados persistam além da reinicialização do aplicativo. |
Implementação
Os seguintes recursos/propriedades são definidos no nível de implantação e trocados ao trocar a implantação de produção e preparação.
Funcionalidades | Description |
---|---|
CPU | O número de vcores por instância de aplicativo. |
Memória | O GB de memória por instância do aplicativo. |
Contagem de instâncias |
O número de instâncias do aplicativo, definidas manualmente ou automaticamente. |
Escala Automática | A contagem de instâncias de escala automaticamente com base em regras e agendas predefinidas. |
Opções da JVM |
As opções da JVM a serem definidas. |
Variáveis de ambiente |
As variáveis de ambiente a definir. |
Versão de tempo de execução |
Java 8 ou Java 11. |
Environment
O Azure Spring Apps monta alguns arquivos YAML somente leitura em seus aplicativos implantados. Esses arquivos contêm o contexto do Azure de uma implantação. A lista a seguir mostra os caminhos e o conteúdo desses arquivos 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
Se seu aplicativo for um aplicativo Spring Boot, esses dois caminhos de arquivo serão adicionados à variável de SPRING_CONFIG_ADDITIONAL_LOCATION
ambiente. Dessa forma, seu aplicativo pode carregar essas propriedades como configurações e usá-las em seu código. Por exemplo, você pode usar a @ConfigurationProperties
anotação para vincular as propriedades YAML a uma classe Java. O trecho de código a seguir mostra como criar uma @Configuration
classe que representa o contexto do 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 quaisquer outros aplicativos poliglotas, talvez seja necessário ler e acessar as propriedades correspondentes usando as bibliotecas de leitura/gravação de arquivos correspondentes em seus aplicativos.
Restrições
- Um aplicativo deve ter uma implantação de produção. A API bloqueia a exclusão de uma implantação de produção. Você deve trocar uma implantação por preparo antes de excluí-la.
- Um aplicativo pode ter, no máximo, duas implantações. A API bloqueia a criação de mais de duas implantações. Implante seu novo binário na produção existente ou na implantação de preparação.
- O gerenciamento de implantação não está disponível no plano Básico. Use o plano Standard ou Enterprise para o recurso de implantação azul-verde.