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 Serviço de Kubernetes do Azure (AKS). Ele inclui integração profunda com KEDA (dimensionamento automático controlado por eventos para Kubernetes), Dapr (runtime de aplicativo distribuído) 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 colocação em escala do seu aplicativo com base em métricas externas.
- Segredos: Segredos compartilhados entre contêineres, regras de escala e sidecars do Dapr.
- Monitoramento: Fluxos de erro e saída padrão que são gravados automaticamente 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 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.