Configurar Aplicativos de Contêiner do Azure
Nesta unidade, você aprenderá a criar um ambiente dos Aplicativos de Contêiner do Azure e um Banco de Dados do Azure para PostgreSQL usando a CLI do Azure. Em seguida, você configurará o seu aplicativo Quarkus para que ele se conecte ao banco de dados remoto em vez do local.
Vários destinos estão disponíveis para implantar um aplicativo Quarkus no Azure, de IaaS a FaaS. Os Aplicativos de Contêiner do Azure estão entre o PaaS e o FaaS. Ele é mais como PaaS, porque ele não força você a entrar em um modelo de programação específico, e você pode controlar as regras para escalar e reduzir horizontalmente. Por outro lado, ele tem algumas características sem servidor, como dimensionar para zero, colocação em escala controlada por eventos e um modelo de preço por segundo.

Os Aplicativos de Contêiner são criados no AKS ( Serviço de Kubernetes do Azure ). Ele inclui integração profunda com KEDA (dimensionamento automático controlado por eventos para Kubernetes), Dapr (runtime de aplicativos distribuídos) e Envoy (um proxy de serviço projetado para aplicativos nativos de nuvem). A complexidade subjacente é abstraída, portanto, você não precisa configurar o serviço, a implantação, a entrada ou os manifestos de volume do Kubernetes. Você obtém uma API e uma interface do usuário simples para configurar seu aplicativo em contêineres. Por causa dessa simplificação, você tem menos controle do que com o AKS.
Nos Aplicativos de Contêiner, os aplicativos precisam ser empacotados em um contêiner do Docker. Os Aplicativos de Contêiner dão suporte a 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 Docker Hub 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 dão suporte à implantação do portal do Azure, da CLI do Azure, do GitHub Actions e do Azure DevOps.
Os Aplicativos de Contêiner fornecem os seguintes recursos.
- Revisões: controle de versão automático que ajuda você 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 azul/verde e teste A/B.
- Entrada: configuração de entrada HTTPS simples. Você não precisa se preocupar com DNS ou certificados.
- Dimensionamento automático: gatilhos de escala compatíveis com KEDA para dimensionar seu aplicativo com base em métricas externas.
- Segredos: Segredos compartilhados entre contêineres, regras de escala e sidecars do Dapr.
- Monitoramento: fluxos padrão de saída e erro que são automaticamente gravados no Log Analytics.
- Dapr: integração do Dapr para seus aplicativos de contêiner. Habilite esta 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 facilmente comunicar-se uns com os outros e podem gravar logs em um único workspace do Log Analytics. Um ambiente pode ser comparado com um namespace do Kubernetes.
- Aplicativo de contêiner: Um grupo de contêineres (um pod) implantado e dimensionado em conjunto. Eles compartilham um único espaço em disco e rede.
- Revisão: um snapshot 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.