Professional Cloud DevOps Engineer
Descrição da função
Um Professional Cloud DevOps Engineer é responsável por planejar operações de desenvolvimento eficientes que balanceiam a confiabilidade de serviço e a velocidade de entrega. Esses profissionais têm habilidade em usar o Google Cloud Platform para criar canais de entrega de software, implantar e monitorar serviços e gerenciar incidentes, assim como aprender com eles.
Guia do exame de certificação
1. Aplicar os princípios da engenharia de confiabilidade do site a um serviço
- Descobrir SLIs (disponibilidade, latência etc.)
- Definir SLOs e entender SLAs
- Concordar com as consequências de não atender ao erro de orçamento
- Construir ciclos de feedback para decidir o que construir a seguir.
- Automatizar o trabalho
- Gerenciar um serviço (por exemplo, apresentar, implantar, manter e desativar um serviço)
- Planejar a capacidade (por exemplo, gerenciamento de cotas e limites)
- Prevenir o desgaste (por exemplo, configurar processos automáticos para prevenir o desgaste)
- Adotar uma cultura de aprendizagem
- Adotar uma cultura livre de humilhação
1.1 Balancear a mudança, velocidade e confiabilidade do serviço:
1.2 Gerenciar o ciclo de vida do serviço:
1.3 Garantir uma comunicação e colaboração saudável para as operações:
2. Criar e implementar pipelines de CI/CD para um serviço
- Artefatos imutáveis com o Container Registry
- Repositórios de artefatos com o Container Registry
- Estratégias de implantação com o Cloud Build e o Spinnaker
- Implantação para ambientes híbridos e em várias nuvens com o Anthos, Spinnaker e Kubernetes
- Estratégia de controle de versão do artefato com o Cloud Build e o Container Registry
- Acionadores de pipelines de CI/CD com o Cloud Source Repositories, Cloud Pub/Sub e app GitHub para Cloud Build
- Testar uma nova versão com o Spinnaker
- Configurar processos de implantação (por exemplo: fluxos de aprovação)
- CI com o Cloud Build
- CD com o Cloud Build
- Ferramentas de código aberto (por exemplo: Jenkins, Spinnaker, GitLab e Concourse)
- Autoria e rastreamento de implantações (por exemplo: CSR, Cloud Build e registros de auditoria do Cloud)
- Proteger métodos de armazenamento
- Rotação secreta e mudanças na configuração
- Terraform/Cloud Deployment Manager
- Controle de versões de código da infraestrutura
- Fazer alterações na infraestrutura de maneira mais segura
- Arquitetura imutável
- Ferramentas centralizadas x várias ferramentas (único x vários locatários)
- Segurança das ferramentas de CI/CD
- Escolher um número de ambientes e a finalidade de cada um
- Criar ambientes de maneira dinâmica por ramificação de recurso com o GKE e o Cloud Deployment Manager
- Ambientes de desenvolvimento locais com o Docker, Cloud Code e Skaffold
- Análise de vulnerabilidade com o Container Registry
- Autorização binária
- Políticas do IAM por ambiente
2.1 Projetar pipelines de CI/CD:
2.2 Implementar pipelines de CI/CD:
2.3 Gerenciar configurações e segredos:
2.4 Gerenciar a infraestrutura como código:
2.5 Implantar ferramentas de CI/CD:
2.6 Gerenciar ambientes de desenvolvimento diferentes (por exemplo: preparo, produção etc.):
2.7 Proteger o pipeline de implantação:
3. Implementar estratégias de monitoramento de serviço
- Coletar registros do Compute Engine, GKE com o Stackdriver Logging e Fluentd
- Coletar registros de terceiros e estruturados com o Stackdriver Logging e o Fluentd
- Enviar registros do aplicativo diretamente para a API Stackdriver com o Stackdriver Logging
- Coletar métricas do Compute Engine
- Coletar métricas do GKE/Kubernetes
- Usar o Metrics Explorer para análise de métrica ad hoc
- Criar um painel de monitoramento
- Filtrar e compartilhar painéis
- Configurar o alerta de terceiros no Stackdriver Monitoring (por exemplo: PagerDuty, Slack etc.)
- Definir políticas de alertas baseadas em SLIs com o Stackdriver Monitoring
- Automatizar a definição da política de alertas com o Cloud DM ou Terraform
- Implementar o monitoramento e alerta de SLO com o Stackdriver Monitoring
- Entender as integrações do Stackdriver Monitoring (por exemplo: Grafana e BigQuery)
- Usar ferramentas SIEM para analisar registros de auditoria/fluxo (por exemplo: Splunk e Datadog)
- Projetar uma estratégia de espaço de trabalho do Stackdriver
- Ativar os registros de acesso a dados (por exemplo, registro de auditoria do Cloud)
- Ativar os registros de fluxo da VPC
- Visualizar os registros no Console do GCP
- Usar filtros básicos x avançados de geração de registros
- Implementar métricas com base em registros
- Entender a diferença entre a exclusão e a exportação de geração de registros
- Selecionar as opções de geração de registros
- Implementar uma exportação no nível do projeto / da organização
- Visualizar registros exportados no Cloud Storage e BigQuery
- Enviar registros para uma plataforma de registro externa
- Definir a ACL para restringir o acesso a registros de auditoria com o IAM e o Stackdriver Logging
- Definir a ACL para restringir a configuração de exportação com o IAM e o Stackdriver Logging
- Definir a ACL para permitir a criação de métricas para métricas personalizadas com o IAM e o Stackdriver Monitoring
3.1 Gerenciar registros de aplicativos:
3.2 Gerenciar as métricas do aplicativo com o Stackdriver Monitoring:
3.3 Gerenciar a plataforma do Stackdriver Monitoring:
3.4 Gerenciar a plataforma do Stackdriver Logging:
3.5 Implementar controles de acesso de registros e monitoramento
4. Otimizar o desempenho do serviço
- Avaliar e entender o impacto no usuário (Stackdriver Service Monitoring for App Engine e Istio)
- Utilizar o Stackdriver para identificar utilização de recursos da nuvem
- Utilizar o Stackdriver Trace/Profiler para criar o perfil de características de desempenho
- Interpretar a telemetria da malha de serviço
- Resolver problemas com a imagem/SO
- Resolver problemas de rede (por exemplo, registros de fluxo de VPC, registros do firewall, latência, visualização de detalhes da rede)
- Instrumentação do aplicativo
- Stackdriver Debugger
- Stackdriver Logging
- Stackdriver Trace
- Depurar aplicativos distribuídos
- Servidor de desenvolvimento local do App Engine
- Stackdriver Error Reporting
- Stackdriver Profiler
- Identificar o custo do recurso
- Identificar os níveis de utilização do recurso
- Desenvolver um plano para otimizar as áreas com maior custo ou menor utilização
- Gerenciar VMs preemptivas
- Trabalhar com descontos por uso contínuo
- Considerações de TCO
- Considerar os preços de rede
4.1 Identificar problemas de desempenho no serviço:
4.2 Depurar o código do aplicativo:
4.3 Otimizar a utilização do recurso:
5. Gerenciar incidentes de serviço
- Definir papéis (o comandante, o líder da comunicação e o líder de operações do incidente)
- Lidar com as solicitações para avaliar o impacto
- Oferecer atualizações de status frequentes, internas e externas
- Registrar as principais mudanças no estado do incidente (Quando foi amenizado? Quando foi normalizado? etc.)
- Estabelecer canais de comunicação (e-mail, IRC, Hangouts, Slack, telefone etc.)
- Escalonamento da equipe de resposta e de delegação
- Evitar exaustão/cansaço
- Alternar/distribuir papéis
- Gerenciar o relacionamento das partes interessadas
- Identificar as causas prováveis da falha do serviço
- Avaliar os sintomas de acordo com as causas prováveis e classificar a probabilidade da causa com base no comportamento observado
- Realizar a investigação da causa com mais probabilidade de estar correta
- Identificar alternativas para minimizar o problema
- Versão de reversão
- Diminuir/redirecionar o tráfego
- Desativar o experimento
- Adicionar capacidade
- Mudar um código/corrigir bug
- Verificar correção
- Declarar situação normalizada
- Causas principais do documento
- Criar e priorizar itens de ação
- Comunicar às partes interessadas sobre um post mortem
5.1 Coordenar e implementar canais de comunicação durante um incidente de serviço:
5.2 Investigar sintomas de incidentes que afetam os usuários:
5.3 Minimizar o impacto do incidente para os usuários:
5.4 Resolver problemas (por exemplo, Cloud Build e Jenkins):
5.5 Problema com a documentação em um post mortem: