Professional Cloud Developer

Guia do exame de certificação

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

Um Professional Google Cloud Developer desenvolve aplicativos escalonáveis e altamente disponíveis usando as práticas recomendadas pelo Google, além de ferramentas que usam serviços totalmente gerenciados. Esse profissional tem experiência prática com bancos de dados de última geração, ambientes de execução e ferramentas para desenvolvedores. Ele tem proficiência em pelo menos uma linguagem de programação de uso geral para definir novas APIs e invocar APIs do Google. Além disso, esse profissional também está habilitado para usar o Stackdriver e produzir métricas e registros significativos para depurar e rastrear códigos.

*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ê tem proficiência em pelo menos uma linguagem de programação de uso geral, precisa saber como interpretar perguntas que apresentem snippets de código.

1. Desenvolver aplicativos nativos da nuvem altamente escalonáveis, disponíveis e confiáveis

    (Para exames concluídos antes de 23 de março de 2020)

    1.1 Desenvolver aplicativos e APIs com bom desempenho. Inclui as considerações a seguir:

    • Infrastructure as a Service (IaaS) x Container as a Service (CaaS) x Platform as a Service (PaaS). Por exemplo: implicações do escalonamento automático
    • Projeto de portabilidade x específico de plataforma
    • Avaliação de diferentes serviços e tecnologias
    • Versões do sistema operacional e ambientes de execução básicos dos serviços
    • Distribuição geográfica dos serviços do Google Cloud
    • Microsserviços
    • Definição de uma estrutura-chave para aplicativos de gravação alta usando o Cloud Storage, o Cloud Bigtable, o Cloud Spanner ou o Cloud SQL
    • Gerenciamento de sessões
    • Implantação e segurança de APIs com o Cloud Endpoints
    • Aplicativos com acoplamento fraco usando eventos assíncronos do Cloud Pub/Sub
    • Verificações de integridade
    • Documentação e práticas recomendadas pelo Google

    1.2 Desenvolver aplicativos seguros. Inclui as seguintes considerações:

    • Legislação e requisitos regulamentares aplicáveis
    • Mecanismos de segurança que protegem serviços e recursos
    • Armazenamento e rotação de chaves secretas
    • Papéis do IAM para contas de usuários, grupos e serviços
    • Certificados HTTPs
    • Documentação e práticas recomendadas pelo Google

    1.3 Gerenciar os dados do aplicativo. Inclui as seguintes tarefas:

    • definir esquemas para bancos de dados gerenciados pelo Google (por exemplo, Cloud Datastore, Cloud Spanner, Cloud Bigtable, BigQuery);
    • escolher opções de armazenamento de dados com base em considerações de caso de uso como:
      • URLs assinados do Cloud Storage para conteúdo carregado pelo usuário
      • Uso do Cloud Storage para executar um site estático
      • Dados estruturados x não estruturados
      • Transações ACID x processamento analítico
      • Volume de dados
      • Frequência de acesso a dados no Cloud Storage
    • trabalhar com sistema de ingestão de dados, (por exemplo, Cloud Pub/Sub e serviço de transferência do Cloud Storage);
    • seguir a documentação e as práticas recomendadas pelo Google.

    1.4 Rearquitetar aplicativos a partir de serviços locais para o Google Cloud Platform. Inclui as seguintes tarefas:

    • o uso de serviços gerenciados;
    • o uso do padrão de estrangulamento para migração;
    • documentação e práticas recomendadas pelo Google.

2. Criar e testar aplicativos

    2.1 Configurar o ambiente de desenvolvimento. Inclui as seguintes considerações:

    • emulação de serviços do GCP para o desenvolvimento de aplicativos locais;
    • criação de projetos do GCP.

    2.2 Criar um pipeline de integração contínua. Inclui as seguintes considerações:

    • criação de um Cloud Source Repository e confirmação do código para esse repositório;
    • criação de imagens de contêiner a partir do código;
    • desenvolvimento de testes de unidade para todo o código escrito;
    • desenvolvimento de um pipeline de integração usando serviços, como o Cloud Build e o Container Registry, para implantar o aplicativo no ambiente de destino (por exemplo, desenvolvimento, teste ou preparação);
    • revisão dos resultados do teste do pipeline de integração contínua.

    2.3 Testes. Inclui as seguintes considerações:

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

    2.4 Programação. Inclui as seguintes considerações:

    • projeto de algoritmo;
    • padrões modernos de aplicativos;
    • eficiência;
    • metodologia ágil.

3. Como implantar aplicativos

    3.1 Implementar estratégias de implantação apropriadas com base no ambiente de computação de destino. Por exemplo, Compute Engine, Kubernetes Engine, App Engine. Estas são algumas estratégias:

    • 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. As tarefas incluem:

    • inicializar uma instância de computação usando o Console do GCP e o SDK do Cloud (gcloud). Por exemplo, atribuir discos, política de disponibilidade e chaves SSH;
    • mover um disco permanente para uma VM diferente;
    • criar um grupo de instâncias gerenciadas com escalonamento automático usando um modelo de instância;
    • gerar/fazer upload de uma chave SSH personalizada para as instâncias;
    • configurar uma VM para o Stackdriver Monitoring e Logging;
    • criar uma instância com um script de inicialização que instala softwares;
    • criar tags de metadados personalizados;
    • criar um balanceador de carga para instâncias do Compute Engine.

    3.3 Implantar aplicativos e serviços no Kubernetes Engine. Inclui as seguintes tarefas:

    • implantar um cluster do GKE;
    • implantar um aplicativo em contêiner no GKE;
    • configurar o monitoramento e a geração de registros de aplicativos do GKE;
    • criar um balanceador de carga para instâncias do GKE;
    • criar uma imagem de contêiner usando o Cloud Build.

    3.4 Implantar um aplicativo no App Engine. Inclui as seguintes considerações:

    • configuração de escalonamento;
    • versões;
    • divisão de tráfego;
    • implantação azul-verde.

    3.5 Implantar um ambiente do Cloud Functions. Os tipos incluem:

    • Cloud Functions acionadas por um evento (por exemplo, eventos do Cloud Pub/Sub e eventos de notificação de alteração de objetos do Cloud Storage);
    • Cloud Functions invocadas via HTTP.

    3.6 Criar recursos de armazenamento de dados. Inclui as seguintes tarefas:

    • criar um Cloud Repository;
    • criar uma instância do Cloud SQL;
    • criar índices compostos no Cloud Datastore;
    • criar conjuntos de dados do BigQuery;
    • planejar e implantar o Cloud Spanner;
    • criar um bucket do Cloud Storage;
    • criar um bucket do Cloud Storage e selecionar a classe de armazenamento apropriada;
    • criar um tópico do Cloud Pub/Sub.

    3.7 Implantar e implementar recursos de rede. Inclui as seguintes tarefas:

    • criar uma VPC de modo automático com sub-redes;
    • criar regras de firewall de entrada e saída para uma VPC (por exemplo, sub-redes IP, tags e contas de serviço);
    • configurar um domínio com o Cloud DNS.

    3.8 Automatizar o provisionamento de recursos com o Deployment Manager

    3.9 Gerenciar contas de serviço. Inclui as seguintes tarefas:

    • criar uma conta de serviço com um número mínimo de escopos necessários;
    • fazer o download e usar um arquivo de chave privada da conta de serviço.

4. Integrar os serviços do Google Cloud Platform

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

    • ativar o BigQuery e definir permissões em um conjunto de dados;
    • escrever uma consulta SQL para recuperar dados de bancos de dados relacionais;
    • analisar dados usando o BigQuery;
    • buscar dados de vários bancos de dados;
    • ativar o Cloud SQL e configurar uma instância;
    • conectar-se a uma instância do Cloud SQL;
    • ativar o Cloud Spanner e configurar uma instância;
    • criar um aplicativo que usa o Cloud Spanner;
    • configurar uma assinatura de push do Cloud Pub/Sub para chamar um endpoint;
    • conectar-se a uma consulta do Cloud SQL e executá-la;
    • armazenar e recuperar objetos do Google Storage;
    • publicar e consumir fontes de ingestão de dados;
    • ler e atualizar uma entidade em uma transação do Cloud Datastore de um aplicativo;
    • usar as ferramentas da CLI;
    • provisionar e configurar redes.

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

    • implementar a descoberta de serviços no Google Kubernetes Engine, App Engine e Compute Engine;
    • criar um aplicativo que publica/consome do Cloud Pub/Sub;
    • ler metadados da instância para obter a configuração do aplicativo;
    • autenticar usuários usando o fluxo da Web do Oauth2 e o Identity-Aware Proxy;
    • usar as ferramentas da CLI;
    • definir configurações de rede de serviços de computação (por exemplo, sub-rede, entrada/saída de firewall e IPs públicos/privados).

    4.3 Integrar APIs do Google Cloud aos aplicativos. Inclui as seguintes tarefas:

    • ativar uma API do GCP;
    • usar APIs de ML pré-treinadas do Google;
    • fazer chamadas de API com uma biblioteca de cliente do Cloud, a API REST ou o APIs Explorer, pensando no seguinte:
      • solicitações em lote;
      • restrição dos dados de retorno;
      • paginação de resultados;
      • resultados armazenados em cache;
    • usar contas de serviço para fazer chamadas da API do Google;
    • usar APIs para ler/gravar de serviços de dados (BigQuery, Cloud Spanner);
    • usar o SDK do Cloud para realizar tarefas básicas.

5. Gerenciar o monitoramento de desempenho de aplicativos

    5.1 Instalar o agente de monitoramento e de geração de registros.

    5.2 Gerenciar VMs. As tarefas incluem:

    • depurar uma imagem de VM personalizada usando a porta serial;
    • analisar uma inicialização incorreta da VM do Compute Engine;
    • enviar registros de uma VM para o Stackdriver.

    5.3 Visualizar métricas de desempenho do aplicativo com o Stackdriver. Inclui as seguintes tarefas:

    • criar um painel de monitoramento;
    • visualizar syslogs de uma VM;
    • gravar métricas personalizadas e criar métricas a partir de registros;
    • gerar gráficos com as métricas;
    • usar o Stackdriver Debugger;
    • fazer streaming de registros a partir do Console do GCP;
    • revisar rastreamentos de pilha para análises de erros;
    • configurar coletores de registros;
    • visualizar registros no Console do GCP;
    • traçar o perfil de desempenho de solicitação/resposta;
    • criar perfil de serviços;
    • analisar o desempenho do aplicativo com o Stackdriver Trace e o Stackdriver Logging;
    • monitorar e criar perfil de aplicativo em execução.

    5.4 Diagnosticar e resolver problemas de desempenho do aplicativo. Inclui as seguintes tarefas:

    • configurar verificações de tempo de atividade e outros alertas básicos;
    • configurar a geração de registros e o rastreamento;
    • configurar o monitoramento de recursos;
    • solucionar problemas de rede;
    • depurar/rastrear aplicativos de nuvem;
    • solucionar problemas com a imagem/SO;
    • usar a documentação, os fóruns e o suporte do Google.