Professional Cloud Developer
O novo exame Beta da certificação Professional Cloud Developer estará disponível em breve. Os candidatos ao exame devem consultar o guia do exame beta.
Novidades:
O próximo exame Beta da certificação Professional Cloud Developer concentra-se nas responsabilidades de um desenvolvedor que usa o Google Cloud e dá mais ênfase ao uso do GKE e dos ambientes de computação sem servidor, Apigee, Cloud Run, Google Cloud ferramentas de orquestração, estações de trabalho e considerações sobre custo e recursos durante a criação do app do que no exame anterior. Este exame dá menos ênfase a tarefas relacionadas à infraestrutura e ao banco de dados, como definição de esquemas de banco de dados, estruturas de chaves de armazenamento de dados, gerenciamento de VMs do Compute Engine e tarefas típicas de DevOps/SRE (por exemplo, gerenciamento do ciclo de vida de contêineres, monitoramento e solução de problemas de aplicativos implantados, estratégias de implantação).
Guia atual para exames em disponibilidade geral
O Professional Cloud Developer cria aplicativos escalonáveis e altamente disponíveis usando as ferramentas e as práticas recomendadas do 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. Ele também está familiarizado com pelo menos uma linguagem de programação de uso geral e instrumenta o código para produzir métricas, registros e traces.
*Observação: o exame não avalia diretamente a habilidade em programação. Ele foca na sua capacidade de aproveitar as práticas recomendadas e serviços do Google Cloud para criar, testar, implantar e gerenciar aplicativos escalonáveis e altamente disponíveis. Se você conhece bem pelo menos uma linguagem de programação de uso geral, conseguirá interpretar qualquer pergunta com snippets de código.
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 as seguintes considerações:
● Arquitetura de microsserviços
● Escolher a plataforma adequada com base no caso de uso e nos requisitos (por exemplo, IaaS [infraestrutura como serviço], CaaS [contêiner como serviço], PaaS [plataforma como serviço], FaaS [função como serviço])
● Modernização de aplicativos (por exemplo, conteinerização)
● Entender como os serviços do Google Cloud são distribuídos geograficamente (por exemplo, latência, serviços regionais e por zona)
● Gerenciamento da sessão do usuário
● Soluções de armazenamento em cache;
● REST HTTP ou gRPC (chamada de procedimento remoto do Google)
● Incorporação de recursos do Service Control oferecidos pelos serviços de API (por exemplo, Apigee)
● Aplicativos assíncronos vagamente acoplados (por exemplo, Apache Kafka e Pub/Sub)
● Instrumentação do código para produzir métricas, registros e traces
● Otimização de custos e de recursos
● Tratamento eficiente de erros, desastres e eventos de escalonamento
1.2 Desenvolver aplicativos seguros. As considerações incluem:
● Implementar o ciclo de vida e a residência dos dados para requisitos regulamentares aplicáveis
● Mecanismos de segurança que identifiquem vulnerabilidades e protejam serviços e recursos (por exemplo, Identity-Aware Proxy [IAP], Web Security Scanner)
● Mecanismos de segurança que protegem/verificam os binários, as dependências e os manifestos de aplicativos (por exemplo, Container Analysis)
● Armazenamento e rotação de secrets e chaves de criptografia de aplicativos (por exemplo, Secret Manager, Cloud Key Management Service)
● Autenticação nos Serviços do Google Cloud (por exemplo, Application Default Credentials, JSON Web Token [JWT, na sigla em inglês] e OAuth 2.0)
● Autenticação e gerenciamento de contas de usuário final usando o Identity Platform
● Papéis do Identity and Access Management (IAM) para usuários, grupos e contas de serviço
● 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)
● Executar serviços com acesso sem chave e com privilégio mínimo (por exemplo, Identidade da carga de trabalho, federação de identidade da carga de trabalho)
● Autenticação com base em certificados (por exemplo, SSL e mTLS)
● Níveis da cadeia de suprimentos para artefatos de software (SLSA, na sigla em inglês)
1.3 Escolher opções de armazenamento para dados de aplicativo. Inclui as seguintes considerações:
● Acesso por tempo limitado a objetos
● Requisitos de retenção de dados
● Dados estruturados e não estruturados (por exemplo, SQL versus NoSQL)
● Consistência forte x posterior
● Volume de dados
● Padrões de acesso a dados
● Processamento de transações on-line (OLTP, na sigla em inglês) x armazenamento em data warehouse
Seção 2: criar e testar aplicativos
2.1 Configurar o ambiente local para desenvolvedores. Inclui as seguintes considerações:
● Emulação de serviços do Google Cloud para o desenvolvimento de aplicativos local
● Usando o console do Google Cloud, o SDK Google Cloud, o Cloud Shell e o Cloud Workstations
● Uso de ferramentas para desenvolvedores (por exemplo, ambientes de desenvolvimento integrado comuns, Cloud Code, Skaffold)
● Como autenticar nos serviços do Google Cloud (por exemplo, proxy do Cloud SQL Auth e do AlloyDB Auth).
2.2 Criação. Inclui as seguintes considerações:
● Gerenciamento do controle de origem
● Criação de imagens de contêiner seguras usando o código
● Desenvolvimento de um pipeline de integração contínua usando serviços (por exemplo, Cloud Build, Artifact Registry) que constroem artefatos de implantação
● Otimização da compilação de testes e código
2.3 Testes. Inclui as seguintes considerações:
● Teste de unidade
● Testes de integração, incluindo o uso de emuladores
● Teste de desempenho
● Teste de carga
● Testes de falha/engenharia de caos
Seção 3: implantar aplicativos
3.1 Adotar estratégias de lançamento de recursos apropriadas. Inclui as seguintes considerações:
● Teste A/B
● Flags de recurso
● Compatibilidade com versões anteriores
● APIs de controle de versão (por exemplo, a Apigee)
3.2 Implantar aplicativos em um ambiente de computação sem servidor. Inclui as seguintes considerações:
● Implantando aplicativos a partir do código-fonte
● Uso de gatilhos para invocar funções
● Configuração de receptores de eventos (por exemplo, Eventarc e Pub/Sub)
● Expor e proteger APIs de aplicativos (por exemplo, a Apigee)
3.3 Implantar aplicativos e serviços no Google Kubernetes Engine (GKE). Inclui as seguintes considerações:
● Implantação de um aplicativo conteinerizado no GKE
● Integrar o controle de acesso baseado em papéis (RBAC, na sigla em inglês) do Kubernetes com o IAM
● Definição de especificações das cargas de trabalho (por exemplo, requisitos dos recursos)
● Criar uma imagem de contêiner usando o Cloud Build
Seção 4: Integrar um aplicativo aos serviços do Google Cloud
4.1 Integrar um aplicativo com serviços de dados e armazenamento. Inclui as seguintes considerações:
● Gerenciar conexões com armazenamentos de dados (por exemplo, Cloud SQL, Firestore, Bigtable e Cloud Storage)
● Ler/gravar dados em ou de vários repositórios de dados
● Criar um aplicativo que publique ou consuma dados de maneira assíncrona (por exemplo, do Pub/Sub ou de fontes de dados de streaming)
● Orquestrar serviços de aplicativos com o Workflows, Eventarc, Cloud Tasks e Cloud Scheduler
4.2 Integrar um aplicativo com APIs do Google Cloud Inclui as seguintes considerações:
● Ativando os serviços do Google Cloud
● Chamadas de API usando opções compatíveis (por exemplo, Biblioteca de cliente do Cloud, gRPC ou API REST e API Explorer) considerando o seguinte:
○ Solicitações em lote
○ Restrição dos dados de retorno
○ Paginação de resultados
○ Resultados armazenados em cache
○ Tratamento de erros (por exemplo, espera exponencial)
● Uso de contas de serviço para fazer chamadas da API do Cloud
● Integração com o pacote de operações do Google Cloud
1: Desenvolver aplicativos nativos da nuvem altamente escalonáveis, disponíveis e confiáveis (cerca de 27% do exame)
1.1 Desenvolver aplicativos e APIs de alto desempenho. Inclui as seguintes considerações:
● Microsserviços
● Escalonamento de características/compensações de velocidade da infraestrutura como serviço (IaaS), de contêiner como serviço (CaaS, na sigla em inglês), plataforma como serviço (PaaS) e função como serviço (FaaS)
● Entender como os serviços do Google Cloud são distribuídos geograficamente (por exemplo, latência, serviços regionais e por zona)
● Gerenciamento da sessão do usuário
● Soluções de armazenamento em cache;
● REST HTTP ou gRPC (chamada de procedimento remoto do Google)
● Projetar serviços de API com a API Gateway e o Cloud Endpoints
● Aplicativos assíncronos vagamente acoplados (por exemplo, Apache Kafka e Pub/Sub)
● Instrumentação do código para produzir métricas, registros e traces
● Desativação otimizada de aplicativos no encerramento da plataforma
● Escrever código tolerante a falhas
1.2 Desenvolver aplicativos seguros. As considerações incluem:
● Implementação de requisitos de residência e ciclo de vida de dados relevantes para os regulamentos aplicáveis
● Mecanismos de segurança que protegem serviços e recursos
● Mecanismos de segurança que protegem/verificam os binários e manifestos do aplicativo
● Armazenamento e rotação de secrets e chaves de aplicativos (por exemplo, Secret Manager, Cloud Key Management Service)
● Autenticação nos Serviços do Google Cloud (por exemplo, Application Default Credentials, JSON Web Token [JWT, na sigla em inglês] e OAuth 2.0)
● Autenticação e gerenciamento de contas de usuário final usando o Identity Platform
● Papéis do IAM para contas de usuários, grupos e serviços
● 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 de privilégio mínimo (por exemplo, Identidade da carga de trabalho);
● Autenticação com base em certificados (por exemplo, SSL e mTLS)
1.3 Gerenciar os dados do aplicativo. As considerações incluem:
● Definição de esquemas para bancos de dados gerenciados pelo Google (por exemplo, Firestore, Cloud Spanner, Bigtable e Cloud SQL)
● Definição de uma estrutura de chave de armazenamento de dados para aplicativos de gravação alta
● Escolha de 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 e não estruturados
○ consistência forte x posterior
○ Volume de dados
○ Padrões de acesso a dados
○ Processamento de transações on-line (OLTP, na sigla em inglês) x armazenamento em data warehouse
Seção 2: criar e testar aplicativos (cerca de 20% do exame)
2.1 Configurar o ambiente local para desenvolvedores. Inclui as seguintes considerações:
● Emulação de serviços do Google Cloud para o desenvolvimento de aplicativos local
● Usar o console do Google Cloud, o SDK Google Cloud e as ferramentas do Cloud Shell
● Usar ferramentas para desenvolvedores (por exemplo, Cloud Code e Skaffold).
2.2 Criação. As considerações incluem:
● Gerenciamento do controle de origem
● Criação de imagens de contêiner seguras usando o código
● Desenvolvimento de um pipeline de integração contínua usando serviços (por exemplo, Cloud Build, Artifact Registry) que constroem artefatos de implantação
● Otimização da compilação de testes e código
2.3 Testes. Inclui as seguintes considerações:
● Teste de unidade (por exemplo, emuladores)
● Teste de integração
● Teste de desempenho
● Teste de carga
● Testes de falha/engenharia de caos
Seção 3: implantar aplicativos (cerca de 18% do exame)
3.1 Adotar estratégias de lançamento de recursos apropriadas. Inclui as seguintes considerações:
● Teste A/B
● Flags de recurso
● Compatibilidade com versões anteriores
3.2 Implantar aplicativos em um ambiente de computação sem servidor. Inclui as seguintes considerações:
● Dimensionamento e escalonamento de ambientes sem servidor
● Como implantar do código-fonte
● Invocação por gatilhos
● Configuração de receptores de eventos
● Expor e proteger APIs de aplicativos (por exemplo, Gateway de API, Cloud Endpoints)
3.3 Implantar aplicativos e serviços no Google Kubernetes Engine (GKE). Inclui as seguintes considerações:
● Implantação de um aplicativo conteinerizado no GKE
● Integrar o RBAC do Kubernetes ao Identity and Access Management (IAM)
● Configuração de namespaces do Kubernetes
● Definição de especificações das cargas de trabalho (por exemplo, requisitos dos recursos)
● Criar uma imagem de contêiner usando o Cloud Build
● Configuração da acessibilidade de aplicativos para o tráfego de usuários e outros serviços
● Gerenciamento do ciclo de vida de um contêiner
Seção 4: integrar serviços do Google Cloud (cerca de 20% do exame)
4.1 Integrar um aplicativo com serviços de dados e armazenamento. Inclui as seguintes considerações:
● Gerenciar conexões com armazenamentos de dados (por exemplo, Cloud SQL, Cloud Spanner, Firestore, Bigtable e Cloud Storage)
● Ler/gravar dados em/de vários armazenamentos de dados
● Criação de um aplicativo que publica/consome dados de maneira assíncrona (por exemplo, do Pub/Sub)
4.2 Integrar um aplicativo com serviços de computação. Inclui as seguintes considerações:
● Usando a descoberta de serviços (por exemplo, Diretório de serviços)
● Leitura de metadados da instância para receber a configuração do aplicativo
● Inicialização e encerramento sem dificuldades do aplicativo
4.3 Integrar APIs do Cloud aos aplicativos. As considerações incluem:
● Ativação de uma API do Cloud
● Chamadas de API usando opções compatíveis (por exemplo, Biblioteca de cliente do Cloud, gRPC ou API REST e API Explorer) considerando o seguinte:
○ Solicitações em lote
○ Restrição dos dados de retorno
○ Paginação de resultados
○ Resultados armazenados em cache
○ Tratamento de erros (por exemplo, espera exponencial)
● Uso de contas de serviço para fazer chamadas da API do Cloud
Seção 5: gerenciar aplicativos implantados (cerca de 15% do exame)
5.1 Gerenciar serviços de computação em nuvem (por exemplo, Google Kubernetes Engine sem servidor). As considerações incluem:
● Análise de eventos de ciclo de vida
● Uso de métricas externas e alertas correspondentes
● Configurar cargas de trabalho com escalonamento automático
5.2 Solucionar problemas de aplicativos. As considerações incluem:
● Como usar o Debugger
● Como usar o Cloud Logging
● Como usar o Cloud Monitoring
● Como usar o Cloud Profiler
● Como usar o Cloud Trace
● Como usar o Error Reporting
● Uso da documentação, dos fóruns e do suporte do Google Cloud