Contêineres no Azure: máquinas virtuais, Instâncias de Contêiner, grupos e Aplicativos de Contêiner
Compare modelos de isolamento, empacote imagens, implante Instâncias de Contêiner do Azure e grupos múltiplos, escolha reinicialização e rede e decida quando usar Aplicativos de Contêiner do Azure ou AKS.
Tempo de estudo sugerido: 90 minutos • Nível intermediário • Reescrita autoral baseada no módulo fornecido do Microsoft Learn e conferida com a documentação vigente de contêineres do Azure
Por João Ricardo Dutra••Conteúdo autoral completo
1. Escolha o modelo de isolamento para uma migração à nuvem
Uma organização está transferindo para o um aplicativo Web hospedado em uma máquina virtual local. Ela deseja inicialização rápida, menos servidores para corrigir, isolamento simples do aplicativo e uma unidade de implantação que se comporte da mesma forma do desenvolvimento à produção. O administrador deve decidir se a carga ainda precisa de uma máquina virtual completa, se pode executar isoladamente nas ou se se beneficia da plataforma gerenciada dos .
O módulo pressupõe familiaridade com termos de contêineres, conceitos básicos de nuvem e o portal do . Os objetivos são comparar contêineres e máquinas virtuais, reconhecer recursos e cenários das , compreender grupos de contêineres, avaliar e implantar e validar uma instância.
Comece pelo requisito de isolamento e escolha apenas o nível de orquestração e controle de que a carga realmente precisa.
2. Compare virtualização de sistema operacional e de hardware
Uma máquina virtual virtualiza o hardware. Cada VM recebe CPU, memória, discos e dispositivos virtuais e inicia um sistema operacional convidado completo com kernel próprio. Um contêiner virtualiza o sistema operacional: processos isolados compartilham o kernel do host e carregam somente arquivos, bibliotecas, runtime e configuração do modo de usuário. Vários contêineres em uma VM lembram várias VMs em um servidor físico, mas usam uma fronteira mais leve.
Contêineres e máquinas virtuais resolvem problemas operacionais diferentes.
Dimensão
Contêineres
Máquinas virtuais
Isolamento
Processos e namespaces formam uma fronteira leve, apropriada quando o modelo de segurança da plataforma atende à carga.
Um sistema operacional convidado completo oferece separação mais forte para kernels incompatíveis, dependências legadas ou inquilinos que não podem compartilhar a mesma fronteira.
Sistema operacional
Compartilham o kernel do host e incluem somente componentes de modo de usuário necessários.
Executam sistema operacional e kernel completos, com maior tempo de inicialização e consumo.
Implantação
Execute uma imagem com ferramentas compatíveis com Docker ou use um orquestrador/plataforma gerenciada para muitos serviços.
Crie VMs pelo portal, CLI, PowerShell ou Windows Admin Center e automatize frotas com infraestrutura como código e plataformas de gerenciamento.
persistente
Conforme a plataforma, use Discos do para anexação a um nó ou via SMB para acesso compartilhado; mantenha o estado fora do sistema de arquivos descartável.
Use discos rígidos virtuais gerenciados ou compartilhamentos de rede conectados ao convidado.
Recuperação de falha
A plataforma pode recriar rapidamente o contêiner em outro nó disponível.
O normalmente inicia ou reinicia o sistema operacional convidado inteiro em outro host.
Densidade
Imagens pequenas e pouco overhead permitem mais instâncias por host.
Cada convidado duplica consumo de CPU, memória e armazenamento.
A VM empacota um sistema operacional ao redor do aplicativo; o contêiner empacota o aplicativo sobre um kernel compartilhado.
3. Reconheça por que equipes empacotam aplicativos em contêineres
Portabilidade: uma imagem imutável carrega código, runtime, ferramentas, bibliotecas e configurações para promover o mesmo artefato entre ambientes compatíveis.
Velocidade: o processo começa sem inicializar um sistema operacional convidado, encurtando implantação, escala, teste e recuperação.
Consistência: desenvolvimento, teste e produção executam as mesmas dependências empacotadas e reduzem divergências ambientais.
Eficiência: compartilhar o kernel aumenta a densidade de cargas e pode melhorar a utilização da infraestrutura.
Isolamento: aplicativos e dependências permanecem separados no mesmo host, embora a fronteira não seja idêntica à de uma VM.
: registros, definições declarativas, CI/CD e orquestradores tornam entrega e substituição repetíveis.
Contêineres não são sempre a melhor escolha. Prefira uma VM quando o aplicativo exige acesso ao host, kernel diferente, ambiente completo de sistema operacional, drivers, software legado incompatível ou uma fronteira de isolamento mais forte. Conteinerize quando o estado puder ser externalizado e a operação puder seguir o modelo efêmero de substituir, em vez de reparar, instâncias.
4. Entenda imagens, registros e instâncias em execução
Uma imagem de contêiner é um pacote somente leitura composto por camadas. Ela contém tudo acima do kernel do host: aplicativo, runtime, bibliotecas, ferramentas, arquivos, comando de inicialização e padrões. Um registro como Docker Hub ou armazena imagens versionadas. Baixar e iniciar uma imagem cria um contêiner mutável em execução; substituí-lo por uma imagem conhecida é mais seguro que alterar sua cópia internamente sem registro.
Cadeia confiável da imagem à execução.
Etapa
Responsabilidade administrativa
Build
Use imagem base mínima e compatível, fixe versões, remova ferramentas desnecessárias e verifique vulnerabilidades.
Publicação
Atribua tags deliberadamente, envie a um registro confiável e controle permissões de pull.
Configuração
Forneça CPU, memória, variáveis, segredos, comando, rede, portas, armazenamento e reinicialização fora da imagem quando adequado.
Execução
Observe eventos, , métricas, códigos de saída, integridade e origem; substitua instâncias a partir de uma definição controlada.
A imagem é o artefato versionado; o contêiner é uma execução desse artefato.
5. Use para execução direta sem servidor
(ACI) são o caminho mais rápido no entre uma imagem e um contêiner Linux ou Windows isolado, sem provisionar ou corrigir máquinas virtuais e sem adotar uma plataforma completa de orquestração. A Microsoft opera host e runtime; o cliente responde pela imagem, comportamento do aplicativo, configuração, dados e diagnóstico.
Recursos associados às .
Recurso
Significado
Inicialização rápida
Contêineres costumam iniciar em segundos, o que favorece picos, builds, testes, renderização, automação e tarefas curtas.
Origem da imagem
Faça pull de registros públicos ou autenticados, inclusive Docker Hub e .
Acesso público
Exponha o grupo por público e rótulo regional exclusivo, formando um FQDN; proteja os protocolos do aplicativo.
Acesso privado
Implante o grupo em uma para falar com recursos do ou conectados. A orientação vigente exige para saída com suporte; um grupo na rede virtual não expõe diretamente público ou FQDN.
Sistema operacional
Escolha Linux ou Windows para o grupo; todos os contêineres do grupo compartilham esse tipo.
O sistema de arquivos gravável é efêmero. Grupos Linux podem montar para persistência SMB, respeitando limitações de identidade, root e CIFS documentadas.
Tamanho e cotas
CPU e memória são atribuídas ao grupo durante sua vida. O exemplo antigo de 4 vCPUs/16 GB não é mais limite universal: o Standard atual pode chegar a 31 vCPUs e 240 GB, mas região, SO, cota, SKU e capacidade ainda governam a implantação.
Opções especializadas
A documentação atual também descreve contêineres confidenciais e Spot; recursos em e cobertura regional exigem avaliação separada para produção.
ACI não transforma automaticamente um grupo em aplicativo altamente disponível. Para produção, use vários grupos atrás de um serviço de entrada ou selecione uma plataforma que gerencie réplicas. Se a carga precisa de descoberta contínua, divisão de tráfego por revisão, dimensionamento amplo ou orquestração complexa, ou normalmente se ajustam melhor.
público e implantação em são modos diferentes; não suponha que o grupo privado também recebe público.
6. Trate o grupo de contêineres como fronteira de implantação
O grupo de contêineres é o recurso superior das e se parece conceitualmente com um pod do Kubernetes. Um ou mais contêineres são agendados no mesmo host e compartilham ciclo de vida, rede local, volumes escolhidos e recursos atribuídos. A relação 1:1 é comum; múltiplos contêineres cabem quando processos fortemente ligados devem ser criados, dimensionados, interrompidos, reiniciados e excluídos juntos.
Regras de um grupo com vários contêineres.
Área
Regra
Recursos
ACI soma as solicitações de CPU, memória e aceleradores aceitos. Dois contêineres pedindo uma CPU exigem grupo de duas CPUs.
Ciclo de vida
Iniciar, parar, reiniciar e excluir operam no grupo. Uma reinicialização manual reinicia todos e pode alterar o .
Rede local
Contêineres usam localhost e compartilham o de portas; não existe mapeamento de porta por contêiner dentro do grupo.
Rede externa
O grupo compartilha um público, rótulo /FQDN opcional e portas expostas. Um serviço só fica acessível quando a porta aparece nas definições do contêiner e do grupo.
Contêineres montam volumes comuns ou separados. externo sobrevive à substituição; a camada gravável local não.
Exclusão
Excluir o grupo libera e FQDN e remove o estado efêmero.
Planeje o grupo como uma única unidade agendável e faturável.
7. Implante definições de um ou vários contêineres de forma declarativa
Métodos de configuração citados no módulo.
Método
Melhor uso
Portal, CLI ou PowerShell do
Criação e operação rápidas de um grupo simples com um contêiner.
Modelo do
Recomendado no material quando a mesma implantação cria recursos como um compartilhamento de .
Definição nativa e concisa com verificação de tipos, IntelliSense, módulos e compilação para .
Definição focada em contêineres e conveniente para grupos múltiplos; uma exportação pode servir de ponto inicial.
Declare imagem por digest ou tag controlada, credenciais/identidade do registro, solicitações, variáveis, valores seguros, comando, política de reinicialização, modo , rótulo , portas, volumes e pontos de montagem. Guarde a definição no controle de versão e implante com identidade de privilégio mínimo.
8. Projete rede e armazenamento do grupo
Imagine um grupo com front-end Web e processo auxiliar. Ele ocupa um host, recebe um rótulo e um público e expõe a porta Web. Internamente, os serviços se comunicam por localhost. Cada contêiner pode montar um compartilhamento distinto de , ou ambos podem usar um volume comum. Uma porta interna de banco de dados não precisa ficar pública.
ACI é sem estado por padrão. Reinicialização, falha, parada ou substituição podem descartar a camada local gravável. As montagens atuais de em ACI são para contêineres Linux, usam CIFS/SMB, exigem execução como root e ainda não autenticam a montagem SMB com . Montar sobre diretório não vazio oculta os arquivos da imagem nesse caminho enquanto a montagem existir.
Exponha somente a porta de entrada; mantenha tráfego interno na rede do grupo e o estado em armazenamento externo.
9. Aplique padrões e de contêiner companheiro
Padrões citados no módulo.
Padrão
Responsabilidade do companheiro
Cuidado operacional
Atualizador de conteúdo
Busca ou gera conteúdo recente para o aplicativo principal.
Use volume compartilhado e coordene atualizações atômicas.
de
Coleta /métricas e envia para monitoramento ou armazenamento durável.
Não use o pequeno local do grupo como único registro.
de monitoramento
Sonda o processo principal e emite integridade ou alertas.
Sozinho, não fornece disponibilidade entre grupos nem balanceamento externo.
Par front-end/back-end
Separa apresentação e processamento de apoio usando localhost.
Acople apenas componentes que precisem do mesmo ciclo e unidade de escala.
Grupos múltiplos simplificam auxiliares estreitamente ligados, mas também acoplam recursos e falhas. Se os componentes precisam dimensionar ou lançar independentemente ou descobrir muitas réplicas, separe-os em ; use quando o controle nativo do Kubernetes for requisito.
Um adiciona uma capacidade focada e permanece operacionalmente inseparável da carga principal.
10. Combine a política de reinicialização com a carga
Políticas das .
Política
Comportamento
Uso
Always
Reinicia o contêiner depois da saída e é o padrão.
Serviços longos; evite para uma tarefa que termina com sucesso.
OnFailure
Reinicia quando o processo encerra com código diferente de zero.
Lotes e automações que repetem falhas e permanecem encerrados após sucesso.
Never
Executa cada contêiner no máximo uma vez.
Trabalho pontual em que operador ou fluxo externo controla tentativas.
Como a computação de tarefas é cobrada enquanto executa, a política correta importa. Use eventos, estados atual/anterior, código de saída, contador de reinícios, e integração com para separar falha do aplicativo de evento da infraestrutura. Parar o grupo desaloca recursos e cobrança, sem preservar estado local.
11. Use para aplicativos e microsserviços gerenciados
(ACA) são uma plataforma sem servidor para contêineres de uso geral, , serviços em segundo plano, processamento orientado a eventos, trabalhos e microsserviços. Ela oculta a administração do , mas se apoia em Kubernetes e tecnologias abertas como KEDA, Dapr e Envoy.
Recursos característicos da plataforma.
Recurso
administrativa
Ambiente
Um ou mais aplicativos e trabalhos compartilham fronteira segura, rede, , upgrades, e balanceamento de recursos.
Entrada e descoberta
Entrada / gerenciada, descoberta de serviço, comunicação interna, domínios personalizados e rede orientada ao aplicativo.
Revisões
Versões imutáveis permitem implantação controlada, , acesso direto e divisão de tráfego no modo de múltiplas revisões.
Dimensionamento
Regras ,, CPU, memória e fontes KEDA ajustam réplicas e podem reduzir muitas cargas a zero. Sem entrada, defina uma regra ou mínimo positivo.
Microsserviços
Blocos opcionais do Dapr apoiam invocação, estado, pub/sub, associações, observabilidade e segredos sem expor a do .
Trabalhos
Tarefas finitas iniciam manualmente, por agenda ou evento; aplicativos contínuos reiniciam réplicas com falha.
Limite de controle
O cliente não acessa diretamente Kubernetes nem administra o subjacente. Escolha quando isso for necessário.
ACI executa grupos isolados; Aplicativos de Contêiner gerenciam aplicações sem servidor; expõe controle Kubernetes.
12. Selecione ACI, Aplicativos de Contêiner, ou máquina virtual
Guia prático de decisão.
Necessidade
Ponto inicial
Motivo
Um contêiner isolado/grupo acoplado, tarefa rápida ou curta, sem
Execução direta de imagem com recursos explícitos e pouca camada de plataforma.
, microsserviços, revisões, divisão de tráfego, eventos, escala a zero ou trabalhos gerenciados
Plataforma sem servidor no nível do aplicativo, sem administrar .
Kubernetes, controladores, políticas de , rede complexa ou máximo controle
Kubernetes gerenciado com responsabilidade do cliente pela arquitetura do e das cargas.
Sistema operacional completo, drivers, host, fronteira de kernel ou software legado
Convidado completo e amplo controle de infraestrutura.
O quadro é um início, não substitui revisão de arquitetura. Segurança, disponibilidade, durabilidade, rede, frequência de implantação, escala, habilidades, conformidade, cobertura regional, cotas e custo total podem alterar a escolha.
13. Pratique o laboratório fornecido de ACI
O exercício avalia ACI e Docker como substitutos de um aplicativo Web hospedado em VM local. Exige assinatura do e estima cerca de 15 minutos após o ambiente estar pronto.
Crie ou escolha grupo de recursos e região.
Implante uma instância de contêiner do usando a imagem compatível com Docker fornecida.
Defina nome, sistema operacional, tamanho, política de reinicialização, rede, rótulo e porta Web.
Aguarde Running e inspecione provisionamento, eventos, recursos, imagem, e FQDN.
Abra FQDN ou público e confirme a resposta do aplicativo.
Revise e métricas e remova os recursos para encerrar custos.
O laboratório comprova implantação e acesso observável; a limpeza também faz parte do exercício.
14. Explique todas as respostas da avaliação
Respostas e raciocínio.
Pergunta
Resposta correta
Por quê
Qual característica diferencia ACI entre as opções?
Inicialização rápida sem gerenciar máquinas virtuais.
ACI executa a imagem em infraestrutura gerenciada; não exige orquestrador superior nem expõe Kubernetes.
Qual método é recomendado quando o grupo também cria recursos ?
Modelo do .
O módulo recomenda do com recursos como ; é a autoria moderna que compila para .
Como os recursos do grupo múltiplo são calculados?
Somando as solicitações de todos os contêineres.
O grupo recebe o total de CPU, memória e aceleradores aceitos.
Por que ACI serve a uma carga Web rápida sem VMs?
Inicialização rápida.
Remove provisionamento do convidado e administração do host.
Qual tecnologia aumenta a densidade?
Contêineres.
Compartilham o kernel e carregam apenas componentes necessários.
Quando preferir VM?
Quando o aplicativo exige isolamento completo do host.
O convidado completo oferece fronteira e controle de SO mais fortes.
O que reúne contêineres com recursos e ciclo compartilhados?
Grupo de contêineres do .
É a fronteira de agendamento, rede, recursos e ciclo em ACI.
O que permite acesso externo em grupo múltiplo?
público e exposição correta da porta no grupo e no contêiner.
As duas definições precisam expor a porta; não há separado por contêiner.
Por que contêineres utilizam melhor os recursos?
Executam somente componentes necessários do modo de usuário.
Evitam duplicar sistema operacional convidado completo.
15. Revisão compacta de todos os tópicos
Versões curtas para recordação ativa.
Tópico
Lembrete
Virtualização
VMs virtualizam hardware e iniciam SO completo; contêineres compartilham kernel e isolam processos.
Valor
Imagens melhoram portabilidade, velocidade, consistência, densidade e substituição automatizada.
Imagem
Pacote versionado no registro; contêiner é uma instância em execução.
ACI
Execução direta sem servidor de contêiner Linux/Windows, sem VM ou gerenciado pelo cliente.
Rede ACI
Use + público ou privada; a saída privada atual requer .
ACI
Estado local é efêmero; Linux pode montar com limitações.
Grupo
Um host, ciclo, localhost, volumes, soma de recursos e compartilhado.
Implantação
Portal/CLI para o simples; , ou para definição repetível.
Auxiliares acoplados para conteúdo, , monitoramento ou par front-end/back-end.
Reinicialização
Always para serviço, OnFailure para tarefa repetível e Never para execução única.
Aplicativos de Contêiner
Revisões, entrada, KEDA, Dapr, descoberta, jobs e escala gerenciada.
Escolha quando Kubernetes e controle de forem requisitos.
Laboratório
Implante imagem em ACI, valide e diagnóstico e faça limpeza.
16. Prática e documentação vigente
Desenhe a mesma carga como VM, grupo ACI, Aplicativo de Contêiner e implantação e compare controle e esforço operacional.
Escreva para dois contêineres ACI usando localhost e um volume, com apenas a porta do front-end exposta.
Escolha Always, OnFailure ou Never para servidor Web, relatório noturno e migração única e preveja estado e custo.
Projete lançamento por revisão nos Aplicativos de Contêiner com pequena parcela de tráfego e seguro.
Peça ao Microsoft Copilot uma comparação entre tarefas ACI e jobs de Aplicativos de Contêiner e valide limites, regiões e rede na documentação.