Configurar Aplicativos de Contêiner do Azure
Nesta unidade, você aprenderá a criar um ambiente de Aplicativos de Contêiner do Azure e um banco de dados do Azure para PostgreSQL usando a CLI do Azure. Em seguida, você configura seu aplicativo Quarkus para que ele se conecte ao banco de dados remoto em vez do banco de dados local.
Vários destinos estão disponíveis para implantar um aplicativo Quarkus no Azure, variando de IaaS a FaaS. O Azure Container Apps está entre PaaS e FaaS. É mais parecido com um PaaS porque não o força a um modelo de programação específico, e você pode controlar as regras pelas quais expandir e ampliar. Por outro lado, ele tem algumas características sem servidor, como dimensionamento para zero, dimensionamento controlado por eventos e um modelo de preços por segundo.
Os Aplicativos de Contêiner são criados no Serviço Kubernetes do Azure (AKS). Ele inclui integração profunda com KEDA (dimensionamento automático orientado a eventos para Kubernetes), Dapr (tempo de execução de aplicativos distribuídos) e Envoy (um proxy de serviço projetado para aplicativos nativos da nuvem). A complexidade subjacente é abstrata, portanto, você não precisa configurar seu serviço, implantação, entrada ou manifestos de volume do Kubernetes. Você obtém uma API simples e uma interface de usuário para configurar seu aplicativo em contêineres. Por causa dessa simplificação, você tem menos controle do que tem com o AKS.
Em Aplicativos de Contêiner, os aplicativos precisam ser empacotados em um contêiner do Docker. O Container Apps suporta contêineres do Docker criados com Dockerfiles ou com Jib. O contêiner precisa estar disponível em um registro de contêiner. Os Aplicativos de Contêiner dão suporte ao Registro de Contêiner do Azure, ao Hub do Docker e ao Registro de Contêiner do GitHub. Depois que a imagem do aplicativo estiver disponível em um registro, os Aplicativos de Contêiner darão suporte à implantação a partir do portal do Azure, da CLI do Azure, das Ações do GitHub e do Azure DevOps.
Container Apps fornece os seguintes recursos.
- Revisões: controle de versão automático que ajuda a gerenciar o ciclo de vida do aplicativo de seus aplicativos de contêiner.
- Controle de tráfego: A capacidade de dividir o tráfego HTTP de entrada em várias revisões para implantações azuis/verdes e testes A/B.
- Ingresso: Configuração de entrada HTTPS simples. Você não precisa se preocupar com DNS ou certificados.
- Dimensionamento automático: gatilhos de escala suportados pelo KEDA para dimensionar seu aplicativo com base em métricas externas.
- Segredos: segredos que são compartilhados entre contêineres, regras de escala e sidecars Dapr.
- Monitoramento: saída padrão e fluxos de erros que são gravados automaticamente no Log Analytics.
- Dapr: Integração do Dapr para seus aplicativos de contêiner. Habilite essa integração usando um sinalizador simples.
No próximo exercício, você será apresentado aos seguintes conceitos.
- Ambiente: um limite de segurança aprimorado em torno de um grupo de aplicativos de contêiner. Os aplicativos são implantados em uma única rede virtual, podem se comunicar facilmente entre si e gravam logs em um único espaço de trabalho do Log Analytics. Um ambiente pode ser comparado com um namespace Kubernetes.
- Aplicativo de contêiner: um grupo de contêineres (um pod) que é implantado e dimensionado juntos. Eles compartilham um único espaço em disco e rede.
- Revisão: um instantâneo imutável de um aplicativo de contêiner. Novas revisões são criadas automaticamente e são valiosas para estratégias de redirecionamento de tráfego HTTP, como testes A/B.
Agora você criará um ambiente de Aplicativo de Contêiner para ver como esses elementos funcionam.