Contêineres no Azure: máquinas virtuais, Instâncias de Contêiner, grupos e Aplicativos de Contêiner
Voltar para a trilha AZ-104
AZ-104Capítulo 25

Estudo para a Certificação Microsoft AZ-104

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

Escudo neon de administrador do Azure cercado por máquinas virtuais, redes, armazenamento, identidade, governança, monitoramento, backup e infraestrutura como código

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.

Mapa de estudo conectando máquinas virtuais, imagens, Instâncias de Contêiner do Azure, grupos de contêineres, Aplicativos de Contêiner do Azure e AKS.
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ãoContêineresMáquinas virtuais
IsolamentoProcessos 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 operacionalCompartilham 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çãoExecute 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.
persistenteConforme 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 falhaA 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.
DensidadeImagens pequenas e pouco overhead permitem mais instâncias por host.Cada convidado duplica consumo de CPU, memória e armazenamento.
Comparação em camadas entre máquinas virtuais com sistemas convidados separados e contêineres que compartilham o kernel.
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.
EtapaResponsabilidade administrativa
BuildUse imagem base mínima e compatível, fixe versões, remova ferramentas desnecessárias e verifique vulnerabilidades.
PublicaçãoAtribua tags deliberadamente, envie a um registro confiável e controle permissões de pull.
ConfiguraçãoForneça CPU, memória, variáveis, segredos, comando, rede, portas, armazenamento e reinicialização fora da imagem quando adequado.
ExecuçãoObserve eventos, , métricas, códigos de saída, integridade e origem; substitua instâncias a partir de uma definição controlada.
Ciclo do código e Dockerfile para imagem em camadas, registro, definição de implantação e instância em execução.
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 .
RecursoSignificado
Inicialização rápidaContêineres costumam iniciar em segundos, o que favorece picos, builds, testes, renderização, automação e tarefas curtas.
Origem da imagemFaça pull de registros públicos ou autenticados, inclusive Docker Hub e .
Acesso públicoExponha o grupo por público e rótulo regional exclusivo, formando um FQDN; proteja os protocolos do aplicativo.
Acesso privadoImplante 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 operacionalEscolha 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 cotasCPU 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 especializadasA 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.

Grupo de Instâncias de Contêiner do Azure usando IP público e DNS ou implantação privada em Rede Virtual com Gateway da NAT.
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.
ÁreaRegra
RecursosACI soma as solicitações de CPU, memória e aceleradores aceitos. Dois contêineres pedindo uma CPU exigem grupo de duas CPUs.
Ciclo de vidaIniciar, parar, reiniciar e excluir operam no grupo. Uma reinicialização manual reinicia todos e pode alterar o .
Rede localContêineres usam localhost e compartilham o de portas; não existe mapeamento de porta por contêiner dentro do grupo.
Rede externaO 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ãoExcluir o grupo libera e FQDN e remove o estado efêmero.
Fronteira de grupo com dois contêineres, soma de CPU e memória, localhost, ciclo compartilhado, volumes, IP, DNS e portas.
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étodoMelhor 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.

Contêineres Web e auxiliar compartilham localhost e endpoint público, com montagens separadas de Arquivos do Azure.
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ãoResponsabilidade do companheiroCuidado operacional
Atualizador de conteúdoBusca 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 monitoramentoSonda o processo principal e emite integridade ou alertas.Sozinho, não fornece disponibilidade entre grupos nem balanceamento externo.
Par front-end/back-endSepara 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.

Aplicativo principal cercado por sidecars de conteúdo, logs e monitoramento com ciclo compartilhado.
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íticaComportamentoUso
AlwaysReinicia o contêiner depois da saída e é o padrão.Serviços longos; evite para uma tarefa que termina com sucesso.
OnFailureReinicia quando o processo encerra com código diferente de zero.Lotes e automações que repetem falhas e permanecem encerrados após sucesso.
NeverExecuta 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
AmbienteUm ou mais aplicativos e trabalhos compartilham fronteira segura, rede, , upgrades, e balanceamento de recursos.
Entrada e descobertaEntrada / gerenciada, descoberta de serviço, comunicação interna, domínios personalizados e rede orientada ao aplicativo.
RevisõesVersões imutáveis permitem implantação controlada, , acesso direto e divisão de tráfego no modo de múltiplas revisões.
DimensionamentoRegras , , 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çosBlocos opcionais do Dapr apoiam invocação, estado, pub/sub, associações, observabilidade e segredos sem expor a do .
TrabalhosTarefas finitas iniciam manualmente, por agenda ou evento; aplicativos contínuos reiniciam réplicas com falha.
Limite de controleO cliente não acessa diretamente Kubernetes nem administra o subjacente. Escolha quando isso for necessário.
Decisão entre Instâncias de Contêiner do Azure, Aplicativos de Contêiner do Azure e AKS.
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.
NecessidadePonto inicialMotivo
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 gerenciadosPlataforma sem servidor no nível do aplicativo, sem administrar .
Kubernetes, controladores, políticas de , rede complexa ou máximo controleKubernetes gerenciado com responsabilidade do cliente pela arquitetura do e das cargas.
Sistema operacional completo, drivers, host, fronteira de kernel ou software legadoConvidado 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.

  1. Crie ou escolha grupo de recursos e região.
  2. Implante uma instância de contêiner do usando a imagem compatível com Docker fornecida.
  3. Defina nome, sistema operacional, tamanho, política de reinicialização, rede, rótulo e porta Web.
  4. Aguarde Running e inspecione provisionamento, eventos, recursos, imagem, e FQDN.
  5. Abra FQDN ou público e confirme a resposta do aplicativo.
  6. Revise e métricas e remova os recursos para encerrar custos.
Fluxo da imagem à implantação ACI, teste do endpoint, logs, métricas e limpeza.
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.
PerguntaResposta corretaPor 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ópicoLembrete
VirtualizaçãoVMs virtualizam hardware e iniciam SO completo; contêineres compartilham kernel e isolam processos.
ValorImagens melhoram portabilidade, velocidade, consistência, densidade e substituição automatizada.
ImagemPacote versionado no registro; contêiner é uma instância em execução.
ACIExecução direta sem servidor de contêiner Linux/Windows, sem VM ou gerenciado pelo cliente.
Rede ACIUse + público ou privada; a saída privada atual requer .
ACIEstado local é efêmero; Linux pode montar com limitações.
GrupoUm host, ciclo, localhost, volumes, soma de recursos e compartilhado.
ImplantaçãoPortal/CLI para o simples; , ou para definição repetível.
Auxiliares acoplados para conteúdo, , monitoramento ou par front-end/back-end.
ReinicializaçãoAlways para serviço, OnFailure para tarefa repetível e Never para execução única.
Aplicativos de ContêinerRevisões, entrada, KEDA, Dapr, descoberta, jobs e escala gerenciada.
Escolha quando Kubernetes e controle de forem requisitos.
LaboratórioImplante 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.