CC

Guia oficial do exame AZ-400

Formato do exame, dom\u00EDnios e dicas de prepara\u00E7\u00E3o

AZ-400: Guia de Estudo para Projetar e Implementar Soluções DevOps da Microsoft

Visão Geral do Exame

  • Certificação: Microsoft DevOps Engineer Expert
  • Código do Exame: AZ-400
  • Público-Alvo: engenheiros DevOps, desenvolvedores e administradores de infraestrutura
  • Experiência Necessária: experiência tanto com administração do Azure QUANTO com desenvolvimento, além de GitHub e Azure DevOps

Pré-requisitos

  • Uma das seguintes certificações de nível associado:
    • Azure Administrator Associate (AZ-104)
    • Azure Developer Associate (AZ-204)

Habilidades Avaliadas (a partir de 26 de julho de 2024)

1. Projetar e Implementar Processos e Comunicações (10-15%)

Projetar e Implementar Rastreabilidade e Fluxo de Trabalho

  • Projetar e implementar estrutura para o fluxo de trabalho (GitHub Flow)
  • Projetar e implementar estratégia para ciclos de feedback (notificações, problemas do GitHub)
  • Projetar e implementar integração para acompanhamento do trabalho (projetos do GitHub, Azure Boards, repositórios)
  • Projetar e implementar rastreabilidade de código-fonte, bugs e qualidade

Projetar e Implementar Métricas e Consultas Apropriadas para DevOps

  • Projetar e implementar painel (tempos de ciclo, tempo para recuperação, tempo de entrega)
  • Métricas apropriadas para planejamento de projetos
  • Métricas apropriadas para desenvolvimento
  • Métricas apropriadas para testes
  • Métricas apropriadas para segurança
  • Métricas apropriadas para entrega
  • Métricas apropriadas para operações

Configurar Colaboração e Comunicação

  • Documentar projetos usando wikis e diagramas de processo (Markdown e Mermaid)
  • Configurar documentação de lançamento e documentação de API
  • Automatizar a criação de documentação a partir do histórico do Git
  • Configurar integração de webhooks
  • Configurar integração entre Azure Boards e repositórios do GitHub
  • Configurar integração com o Microsoft Teams

2. Projetar e Implementar uma Estratégia de Controle de Código-Fonte (10-15%)

Projetar e Implementar Estratégias de Ramificação

  • Projetar estratégia de ramificação (baseada em tronco, ramificação de recursos, ramificação de versão)
  • Implementar fluxo de trabalho de solicitação de pull usando políticas e proteções de ramificação
  • Implementar restrições de mesclagem de ramificações

Configurar e Gerenciar Repositórios

  • Estratégia para gerenciar arquivos grandes (Git LFS, git-fat)
  • Estratégia para dimensionar e otimizar repositórios do Git (Scalar, compartilhamento entre repositórios)
  • Configurar permissões no controle de código-fonte
  • Configurar tags para organizar o repositório
  • Recuperar dados específicos usando comandos do Git
  • Remover dados específicos do controle de código-fonte

3. Projetar e Implementar Pipelines de Compilação e Liberação (50-55%)

Projetar e Implementar Estratégia de Gerenciamento de Pacotes

  • Recomendar ferramentas de gerenciamento de pacotes (GitHub Packages, Azure Artifacts)
  • Projetar feeds e visualizações de pacotes para pacotes locais e upstream
  • Implementar estratégia de versão de dependências (SemVer, CalVer)
  • Implementar estratégia de versionamento para artefatos de pipeline

Projetar e Implementar Estratégia de Testes para Pipelines

  • Projetar e implementar portões de qualidade e liberação
  • Projetar estratégia abrangente de testes (local, unidade, integração, testes de carga)
  • Implementar testes no pipeline (tarefas de teste, agentes de teste, resultados de teste)
  • Implementar análise de cobertura de código

Projetar e Implementar Pipelines

  • Selecionar solução de automação de implantação (GitHub Actions, Azure Pipelines)
  • Projetar infraestrutura de executores do GitHub ou agentes do Azure DevOps
  • Integrar repositórios do GitHub com Azure Pipelines
  • Desenvolver regras de acionamento de pipeline
  • Desenvolver pipelines usando YAML
  • Projetar estratégia de ordem de execução de trabalhos (paralelismo, várias etapas)
  • Desenvolver cenários complexos de pipeline (híbrido, modelos de VM, executores auto-hospedados)
  • Criar elementos de pipeline reutilizáveis (modelos YAML, grupos de tarefas, variáveis)
  • Projetar verificações e aprovações usando ambientes YAML

Projetar e Implementar Implantações

  • Projetar estratégia de implantação (azul-verde, canário, anel, exposição progressiva, recursos ativados, teste A/B)
  • Garantir que as implantações de dependências sejam ordenadas de forma confiável
  • Minimizar o tempo de inatividade (troca VIP, balanceamento de carga, implantações Rolling, slots de implantação)
  • Projetar plano de caminho para correções
  • Implementar estratégia de resiliência para implantação
  • Implementar recursos ativados usando Azure App Configuration
  • Implementar implantação de aplicativos (containers, binários, scripts)
  • Implementar implantação com tarefas de banco de dados

Projetar e Implementar Infraestrutura como Código (IaC)

  • Recomendar tecnologia de gerenciamento de configuração
  • Implementar estratégia de gerenciamento de configuração
  • Definir estratégia de IaC (controle de código-fonte, automação de testes e implantação)
  • Implementar configuração de estado desejado (Azure Automation, ARM, Bicep, Automanage)
  • Implementar Ambientes de Implantação do Azure

Manter Pipelines

  • Monitorar a integridade do pipeline (taxa de falha, duração, testes instáveis)
  • Otimizar o pipeline para custo, tempo, desempenho, confiabilidade
  • Otimizar a simultaneidade do pipeline
  • Projetar estratégia de retenção para artefatos e dependências
  • Migrar pipelines do clássico para YAML

4. Desenvolver um Plano de Segurança e Conformidade (10-15%)

Projetar e Implementar Autenticação e Autorização

  • Escolher entre Principais de Serviço e Identidade Gerenciada
  • Implementar autenticação do GitHub (Aplicativos GitHub, GITHUB_TOKEN, PATs)
  • Implementar conexões de serviço e PATs do Azure DevOps
  • Projetar permissões e funções no GitHub
  • Projetar permissões e grupos de segurança no Azure DevOps
  • Configurar níveis de acesso apropriados
  • Configurar projetos e equipes no Azure DevOps

Projetar e Implementar Estratégia para Gerenciar Informações Confidenciais

  • Implementar segredos, chaves e certificados usando Azure Key Vault
  • Implementar segredos em GitHub Actions e Azure Pipelines
  • Gerenciar arquivos confidenciais durante a implantação (arquivos seguros)
  • Projetar pipelines para evitar vazamento de informações confidenciais

Automatizar Exames de Segurança e Conformidade

  • Projetar estratégia de exame de segurança e conformidade
  • Configurar Microsoft Defender para Segurança DevOps na Nuvem
  • Configurar GitHub Advanced Security
  • Integrar GitHub Advanced Security com Microsoft Defender
  • Automatizar verificação de contêineres e análise CodeQL
  • Automatizar análise usando alertas do Dependabot

5. Implementar uma Estratégia de Instrumentação (5-10%)

Configurar Monitoramento para Ambiente DevOps

  • Configurar integração do Azure Monitor e Log Analytics
  • Configurar coleta de telemetria (Application Insights, VM Insights, Container Insights, Storage Insights, Network Insights)
  • Configurar monitoramento no GitHub (insights, gráficos)
  • Configurar alertas para GitHub Actions e Azure Pipelines

Analisar Métricas da Instrumentação

  • Inspecionar indicadores de desempenho de infraestrutura (CPU, memória, disco, rede)
  • Analisar métricas usando a telemetria coletada
  • Inspecionar rastreamento distribuído usando Application Insights
  • Interrogar logs usando consultas básicas em KQL

Detalhes do Exame

  • Pontuação de Aprovação: 700
  • Formato das Questões: Estudos de caso, múltipla escolha, arrastar e soltar
  • Duração do Exame: 120 minutos (150 minutos para não falantes nativos de inglês)
  • Idiomas Disponíveis: Múltiplos idiomas, incluindo inglês, japonês, chinês, coreano, alemão, francês, espanhol, português, italiano
  • Custo do Exame: $165 USD (varia por região)

Principais Tecnologias a Dominar

Controle de Versão

  • Fluxos de trabalho e estratégias do Git
  • GitHub Flow
  • Políticas e proteções de ramificação
  • Fluxo de trabalho de solicitação de pull
  • Git LFS para arquivos grandes

Plataformas de CI/CD

  • Sintaxe YAML do Azure Pipelines
  • Fluxos de trabalho do GitHub Actions
  • Acionadores e condições de pipeline
  • Pipelines em várias etapas
  • Compilações de matriz

Gerenciamento de Pacotes

  • Azure Artifacts
  • GitHub Packages
  • Feeds NuGet, npm, Maven
  • Fontes upstream
  • Exibições e retenção de feeds

Infraestrutura como Código

  • Modelos ARM
  • Bicep
  • Noções básicas de Terraform
  • CLI/PowerShell do Azure
  • Desired State Configuration

Ferramentas de Segurança

  • Azure Key Vault
  • Segredos do GitHub
  • Arquivos seguros
  • Conexões de serviço
  • Identidades gerenciadas

Monitoramento

  • Application Insights
  • Azure Monitor
  • Log Analytics
  • Consultas KQL
  • Alertas e painéis

Práticas DevOps

Integração Contínua

  • Automação de compilação
  • Testes de unidade
  • Cobertura de código
  • Análise de código estático
  • Publicação de artefatos

Entrega Contínua

  • Pipelines de lançamento
  • Promoção de ambientes
  • Portões de aprovação
  • Estratégias de reversão
  • Recursos ativados

Estratégias de Teste

  • Pirâmide de testes
  • Testes shift-left
  • Automação de testes
  • Testes de desempenho
  • Testes de segurança

Padrões de Implantação

  • Implantações azul-verde
  • Lançamentos canários
  • Implantações em anel
  • Rollouts progressivos
  • Recursos ativados

Caminho de Certificação

  • Pré-requisitos: AZ-104 ou AZ-204 necessário
  • Renovação: Necessária a cada 12 meses por meio do Microsoft Learn
  • Certificações Relacionadas:
    • Azure Solutions Architect Expert (com AZ-305)
    • Azure Security Engineer Associate (AZ-500)
    • Certificações do GitHub