Professional Cloud Developer

Descrição das funções de trabalho

Um Professional Cloud Developer cria aplicativos escalonáveis e altamente disponíveis usando as práticas e ferramentas recomendadas pelo Google. Esse profissional tem experiência com aplicativos nativos da nuvem, ferramentas para desenvolvedores, serviços gerenciados e bancos de dados de última geração. Um Professional Cloud Developer também tem proficiência em pelo menos uma linguagem de programação de uso geral e é capaz de produzir métricas e registros significativos para depurar e rastrear códigos.

Exemplo de estudo de caso

Algumas perguntas do exame de certificação Professional Cloud Developer referem-se a um estudo de caso que descreve um conceito fictício de empresa e solução. Esse estudo de caso tem como objetivo proporcionar um contexto adicional para ajudar você a escolher suas respostas. Recomendamos que você veja o exemplo de estudo de caso que pode ser usado no exame.

HipLocal

*Observação: o exame não avalia diretamente a habilidade em programação. Ele está relacionado à sua capacidade de aproveitar as práticas recomendadas e serviços do GCP para criar, testar, implantar e gerenciar aplicativos escalonáveis e altamente disponíveis. Se você tiver proficiência em pelo menos uma linguagem de programação de uso geral, saberá como interpretar perguntas que apresentem snippets de código.

Guia do exame de certificação

Seção 1: desenvolver aplicativos nativos da nuvem altamente escalonáveis, disponíveis e confiáveis

    1.1 Desenvolver aplicativos e APIs de alto desempenho. Inclui:

    • microsserviços;
    • o escalonamento de características de velocidade/a compensação da IaaS (infraestrutura como serviço) x CaaS (contêiner como serviço) x PaaS (plataforma como serviço);
    • a distribuição geográfica dos serviços do Google Cloud (por exemplo, latência, serviços regionais e por zona etc.);
    • a definição de uma estrutura-chave para aplicativos de alta gravação usando o Cloud Storage, o Cloud Bigtable, o Cloud Spanner ou o Cloud SQL;
    • o gerenciamento da sessão do usuário;
    • soluções de armazenamento em cache;
    • a implantação e segurança de serviços de API;
    • aplicativos assíncronos vagamente acoplados (por exemplo, Apache Kafka e Pub/Sub);
    • a desativação sem dificuldades no encerramento da plataforma;
    • a documentação e práticas recomendadas pelo Google.

    1.2 Desenvolver aplicativos seguros. Inclui:

    • a implementação de requisitos relevantes para regulamentações aplicáveis (por exemplo, limpeza de dados);
    • mecanismos de segurança que protegem serviços e recursos;
    • mecanismos de segurança que protegem/verificam os binários e manifestos do aplicativo;
    • o armazenamento e a rotação de secrets e chaves de aplicativos (por exemplo, Cloud KMS e HashiCorp Vault);
    • Autenticação nos Serviços do Google, como Application Default Credentials, JSON Web Token (JWT) e OAuth 2.0.
    • papéis do IAM para contas de usuários, grupos e serviços;
    • a proteção das comunicações entre serviços (por exemplo, políticas de rede e namespaces do Kubernetes, além da malha de serviço);
    • a execução de serviços com o acesso com privilégio mínimo (por exemplo, Identidade da carga de trabalho);
    • a autenticação com base em certificados (por exemplo, SSL, mTLS etc.);
    • Documentação e práticas recomendadas pelo Google.

    1.3 Gerenciar os dados do aplicativo. Inclui:

    • definir esquemas para bancos de dados gerenciados pelo Google (por exemplo, Firestore, Cloud Spanner, Cloud Bigtable e Cloud SQL);
    • Escolher opções de armazenamento de dados com base em considerações dos casos de uso, como:
      • acesso por tempo limitado a objetos;
      • requisitos de retenção de dados;
      • Dados estruturados x não estruturados
      • consistência estável x eventual;
      • volume de dados;
      • Frequência de acesso a dados no Cloud Storage
    • Documentação e práticas recomendadas pelo Google

    1.4 Modernização de aplicativos. Inclui:

    • o uso de serviços gerenciados;
    • a refatoração de um monolítico para usar a estrutura de microsserviços;
    • a criação de serviços sem estado que podem ser escalonados de forma horizontal;
    • a documentação e práticas recomendadas pelo Google.

Seção 2: criar e testar aplicativos

    2.1 Configurar o ambiente local para desenvolvedores. Inclui:

    • a emulação de serviços do Google Cloud para o desenvolvimento de aplicativos local;
    • a criação de projetos do Google Cloud.
    • usar uma interface de linha de comando (CLI), o Console do Google Cloud e as ferramentas do Cloud Shell.
    • usar ferramentas para desenvolvedores (por exemplo, Cloud Code e Skaffold).

    2.2 Programar um código eficiente. Inclui:

    • Projeto de algoritmo
    • padrões modernos de aplicativos;
    • metodologias de desenvolvimento de software;
    • depuração e criação de perfil para o código.

    2.3 Testes. Inclui:

    • teste de unidade.
    • teste de integração;
    • teste de desempenho;
    • teste de carga.

    2.4 Criação. Inclui:

    • o gerenciamento do controle de origem;
    • a criação de imagens de contêiner seguras a partir do código;
    • o desenvolvimento de um pipeline de integração contínua usando serviços (por exemplo, Cloud Build, Container Registry etc.) que constroem artefatos de implantação;
    • a revisão e melhorias na eficiência do pipeline de integração contínua.

Seção 3: implantar aplicativos

    3.1 Estratégias de implantação apropriadas e recomendadas usando as ferramentas adequadas (por exemplo, Cloud Build, Spinnaker, Tekton e Anthos Configuration Manager) para o ambiente de computação de destino (por exemplo, Compute Engine e Google Kubernetes Engine). Inclui:

    • implantações azul-verde;
    • Implantações de divisão de tráfego
    • Implantações contínuas
    • Implantações canário

    3.2 Implantar aplicativos e serviços no Compute Engine. Inclui:

    • a instalação de um aplicativo em uma máquina virtual (VM);
    • o gerenciamento de contas de serviço para VMs;
    • aplicativos de inicialização independente;
    • exportar registros e métricas de aplicativos;
    • gerenciar imagens e binários da VM do Compute Engine.

    3.3 Implantar aplicativos e serviços no Google Kubernetes Engine (GKE). Inclui:

    • implantar um aplicativo em contêiner no GKE;
    • gerenciar a relação entre o RBAC do Kubernetes e o Google Cloud IAM;
    • configurar namespaces do Kubernetes;
    • definir especificações das cargas de trabalho (por exemplo, requisitos dos recursos);
    • criar uma imagem de contêiner usando o Cloud Build;
    • configurar a acessibilidade de aplicativos para o tráfego de usuários e outros serviços;
    • gerenciar o ciclo de vida de um contêiner;
    • definir recursos e configurações do Kubernetes.

    3.4 Implantar um ambiente do Cloud Functions. Inclui:

    • Cloud Functions ativadas por meio de um evento de serviços do Google Cloud (por exemplo, objetos do Pub/Sub e do Cloud Storage);
    • Cloud Functions invocadas por meio de HTTP
    • Como proteger Funções do Cloud

    3.5 Como usar as contas de serviço. Inclui:

    • criar uma conta de serviço com base no princípio do menor privilégio;
    • fazer o download e usar um arquivo de chave privada da conta de serviço.

Seção 4: integrar serviços do Google Cloud

    4.1 Integrar um aplicativo com serviços de dados e armazenamento. Inclui:

    • ler/gravar dados de/para vários bancos de dados (por exemplo, SQL);
    • conectar-se a um repositório de dados (por exemplo, Cloud SQL, Cloud Spanner, Firestore e Cloud Bigtable);
    • criar um aplicativo que publica/consome dados de maneira assíncrona (por exemplo, do Pub/Sub);
    • armazenar e recuperar objetos do Cloud Storage;

    4.2 Integrar um aplicativo com serviços de computação. Inclui:

    • implementar a descoberta de serviços no GKE e no Compute Engine;
    • ler metadados da instância para conseguir a configuração do aplicativo;
    • autenticar usuários usando o fluxo da Web do Oauth2 e o Identity-Aware Proxy;
    • autenticar para APIs do Cloud com a Identidade da carga de trabalho.

    4.3 Integrar APIs do Cloud aos aplicativos. Inclui:

    • ativar uma API do Cloud;
    • fazer chamadas de API usando opções compatíveis (por exemplo, biblioteca de cliente do Cloud, API ou gRPC REST e APIs Explorer) e considerando:
      • solicitações em lote;
      • restrição dos dados de retorno;
      • paginação de resultados;
      • resultados armazenados em cache;
      • o tratamento de erros (por exemplo, espera exponencial);
    • o uso de contas de serviço para fazer chamadas da API do Cloud.

Seção 5: gerenciar o monitoramento do desempenho dos aplicativos

    5.1 Gerenciar VMs do Compute Engine. Inclui:

    • depurar uma imagem de VM personalizada usando a porta serial;
    • diagnosticar uma inicialização incorreta da VM do Compute Engine;
    • enviar registros de uma VM para o Cloud Logging;
    • visualizar e analisar registros;
    • inspecionar o uso de recursos ao longo do tempo;

    5.2 Gerenciar cargas de trabalho do Google Kubernetes Engine. Inclui:

    • configurar a geração de registros e o monitoramento;
    • analisar eventos do ciclo de vida do contêiner (por exemplo, CrashLoopBackOff e ImagePullErr);
    • visualizar e analisar registros;
    • gravar e exportar métricas personalizadas;
    • usar métricas externas e alertas correspondentes;
    • configurar cargas de trabalho com escalonamento automático.

    5.3 Solucionar problemas no desempenho do aplicativo. Inclui:

    • criar um painel de monitoramento;
    • gravar métricas personalizadas e criar métricas com base em registros;
    • usar o Cloud Debugger;
    • revisar rastreamentos de pilha para análises de erros;
    • exportar registros do Google Cloud;
    • visualizar registros no Console do Google Cloud;
    • analisar o desempenho do aplicativo (por exemplo, Cloud Trace, Prometheus e OpenTelemetry);
    • monitorar e criar um perfil de aplicativo em execução;
    • usar a documentação, os fóruns e o suporte do Google Cloud.