Les inscriptions à la version bêta de l'examen Professional Cloud Developer sont ouvertes depuis le 27 mars. Les candidats à la version bêta sont invités à consulter le guide de l'examen bêta.

Professional Cloud Developer

La nouvelle version bêta de l'examen Professional Cloud Developer sera bientôt disponible ! Les candidats sont invités à consulter le guide de l'examen bêta.

Nouveautés :

Par rapport à l'examen précédent, la prochaine version bêta de l'examen Professional Cloud Developer se concentrera sur les responsabilités d'un développeur utilisant Google Cloud et mettra davantage l'accent sur l'utilisation de GKE et des environnements informatiques sans serveur, Apigee, Cloud Run, les outils d'orchestration Google Cloud, les stations de travail, et les considérations relatives aux coûts et aux ressources lors de la conception de l'application. Cet examen met moins l'accent sur les tâches liées à l'infrastructure et aux bases de données, comme la définition des schémas de base de données, les structures de clés de stockage des données, la gestion des VM Compute Engine et les tâches DevOps/ingénierie SRE classiques (par exemple, la gestion du cycle de vie des conteneurs, la surveillance et le dépannage des applications déployées, les stratégies de déploiement).

Guide de l'examen actuel en DG

Un Professional Cloud Developer crée des applications évolutives et à disponibilité élevée à l'aide des outils et des bonnes pratiques recommandés par Google. Il possède une expérience des applications cloud natives, des outils pour les développeurs, des services gérés et des bases de données de nouvelle génération. Il maîtrise aussi au moins un langage de programmation à générique et instrumente son code pour générer des métriques, des journaux et des traces.

* Remarque : L'examen n'évalue pas directement vos compétences en codage, mais votre capacité à tirer parti des services Google Cloud et des pratiques recommandées pour créer, tester, déployer et gérer des applications évolutives et à disponibilité élevée. Si vous maîtrisez au moins un langage de programmation générique, vous devez pouvoir comprendre toutes les questions présentant des extraits de code.


Section 1 : Concevoir des applications cloud natives hautement évolutives, disponibles et fiables

1.1 Concevoir des API et applications hautement performantes. Voici quelques points à prendre en compte :

    ●  Architecture de microservices

    ●  Choisir la plate-forme appropriée en fonction du cas d'utilisation et des exigences (par exemple, IaaS [Infrastructure as a Service], CaaS [Container as a Service], PaaS [Platform as a Service] et FaaS [Function as a Service])

    ●  Modernisation des applications (par exemple, conteneurisation)

    ●  Compréhension de la répartition géographique des services Google Cloud (par exemple, latence, services régionaux ou zonaux)

    ●  Gestion des sessions utilisateur

    ●  Solutions de mise en cache

    ●  HTTP REST et gRPC (appel de procédure à distance Google)

    ●  Intégration des fonctionnalités Service Control proposées par les services d'API (par exemple, Apigee)

    ●  Applications asynchrones faiblement couplées (par exemple, Apache, Kafka, Pub/Sub)

    ●  Instrumentalisation de code pour produire des métriques, des journaux et des traces

    ●  Optimisation des coûts et des ressources

    ●  Gestion optimale des erreurs, des sinistres et des événements de scaling

1.2 Concevoir des applications sécurisées. Points abordés :

    ●  Implémenter le cycle de vie et la résidence des données pour les exigences réglementaires applicables

    ●  Mécanismes de sécurité qui identifient les failles et protègent les services et les ressources (par exemple, Identity-Aware Proxy [IAP], Web Security Scanner)

    ●  Mécanismes de sécurité qui sécurisent/analysent les binaires, les dépendances et les fichiers manifestes des applications (par exemple, Container Analysis)

    ●  Stockage, accès et rotation des clés et des secrets d'application (par exemple, Secret Manager et Cloud Key Management Service)

    ●  Authentification sur les services Google (par exemple, identifiants par défaut de l'application, jeton Web JSON [JWT] et OAuth 2.0)

    ●  Gestion des comptes utilisateur et authentification à l'aide d'Identity Platform

    ●  Rôles IAM (Identity and Access Management) pour les utilisateurs, les groupes et les comptes de service

    ●  Sécurisation des communications de service à service (par exemple, maillage de services, et règles de réseau et espaces de noms Kubernetes)

    ●  L'exécution de services avec un accès sans clé et selon le principe du moindre privilège (par exemple, Workload Identity, fédération d'identité de charge de travail)

    ● Authentification basée sur un certificat (par exemple, SSL, mTLS)

    ●  Niveaux de la chaîne d'approvisionnement pour les artefacts logiciels (SLSA)

1.3 Choisir les options de stockage des données d'application. Voici quelques points à prendre en compte :

    ●  Accès aux objets limité dans le temps

    ●  Exigences liées à la conservation des données

    ●  Données structurées ou non structurées (par exemple, SQL et NoSQL)

    ●  Cohérence forte ou cohérence à terme

    ●  Volume des données

    ●  Modèles d'accès aux données

    ●  Traitement des transactions en ligne (OLTIP) ou entreposage de données

Section 2 : Créer et tester des applications

2.1 Configurer votre environnement de développement local. Voici quelques points à prendre en compte :

    ●  Émulation des services Google Cloud pour le développement d'applications locales

    ●  Utilisation de la console Google Cloud, du SDK Google Cloud, de Cloud Shell et de Cloud Workstations

    ●  Utilisation des outils pour les développeurs (par exemple, les IDE courants, Cloud Code, Skaffold)

    ●  S'authentifier sur les services Google Cloud (par exemple, proxy d'authentification Cloud SQL, proxy d'authentification AlloyDB)

2.2 Compilation. Voici quelques points à prendre en compte :

    ●  Gestion du contrôle du code source

    ●  Création d'images de conteneurs sécurisées à partir de code

    ●  Développement d'un pipeline d'intégration continue à l'aide de services (par exemple, Cloud Build, Container Registry) qui créent des artefacts de déploiement

    ●  Optimisation du code et des versions de build

2.3 Réaliser des tests. Voici quelques points à prendre en compte :

    ●  Tests unitaires

    ●  Tests d'intégration incluant l'utilisation d'émulateurs

    ●  Tests de performances

    ●  Tests de charge

    ●  Tests de défaillance/ingénierie du chaos

Section 3 : Déployer des applications

3.1 Adopter des stratégies de déploiement de fonctionnalités appropriées. Voici quelques points à prendre en compte :

    ●  Tests A/B

    ●  Commutateurs de fonctionnalité

    ●  Rétrocompatibilité

    ●  API de gestion des versions (par exemple, Apigee)

3.2 Déployer des applications dans un environnement informatique sans serveur. Voici quelques points à prendre en compte :

    ●  Déployer des applications à partir du code source

    ●  Utiliser des déclencheurs pour appeler des fonctions

    ●  Configuration des récepteurs d'événements (par exemple, Eventarc, Pub/Sub)

    ●  Exposer et sécuriser des API d'application (par exemple, Apigee)

3.3 Déployer des applications et services sur Google Kubernetes Engine (GKE). Voici quelques points à prendre en compte :

    ●  Déploiement d'une application en conteneur sur GKE

    ●  Intégrer le contrôle des accès basé sur les rôles Kubernetes (RBAC) avec IAM

    ●  Définition des spécifications pour les charges de travail (par exemple, ressources nécessaires)

    ●  Création d'une image de conteneur à l'aide de Cloud Build

Section 4 : Intégrer une application aux services Google Cloud

4.1 Intégrer une application à des services de données et de stockage. Voici quelques points à prendre en compte :

    ●  Gestion des connexion aux datastores (par exemple, Cloud SQL, Firestore, Bigtable, Cloud Storage)

    ●  Lecture/écriture de données vers ou depuis différents datastores

    ●  Écrire une application qui publie ou consomme des données de manière asynchrone (par exemple depuis Pub/Sub ou des sources de données en flux continu)

    ●  Orchestrer les services applicatifs avec Workflows, Eventarc, Cloud Tasks et Cloud Scheduler

4.2 Intégrer une application aux API Google Cloud. Voici quelques points à prendre en compte :

    ●  Activation des services Google Cloud

    ●  Passer des appels d'API à l'aide d'options compatibles (par exemple, bibliothèque cliente Cloud, API REST ou gRPC, APIs Explorer) en tenant compte des tâches suivantes :

         ○  Effectuer des requêtes par lot

         ○  Restreindre les données affichées

         ○  Effectuer la pagination des résultats

         ○  Mettre en cache les résultats

         ○  Traiter les erreurs (par exemple, intervalle exponentiel entre les tentatives)

    ●  Utilisation des comptes de service pour effectuer des appels d'API Cloud

    ●  Intégration à la suite Google Cloud Operations

Section 1 : Concevoir des applications cloud natives hautement évolutives, disponibles et fiables (environ 27 % de l'examen)

1.1 Concevoir des API et applications hautement performantes. Voici quelques points à prendre en compte :

    ●  Microservices

    ●  Caractéristiques/compromis de l'IaaS (Infrastructure as a Service), du CaaS (Container as a Service), du PaaS (Platform as a Service) et du FaaS (Function as a service) en matière de vélocité de scaling

    ●  Compréhension de la répartition géographique des services Google Cloud (par exemple, latence, services régionaux ou zonaux)

    ●  Gestion des sessions utilisateur

    ●  Solutions de mise en cache

    ●  HTTP REST et gRPC (appel de procédure à distance Google)

    ●  Conception de services d'API avec API Gateway, Cloud Endpoints

    ●  Applications asynchrones faiblement couplées (par exemple, Apache, Kafka, Pub/Sub)

    ●  Instrumentalisation de code pour produire des métriques, des journaux et des traces

    ●  Arrêt progressif des applications en cas d'arrêt de la plate-forme

    ●  Écriture de code tolérant aux pannes

1.2 Concevoir des applications sécurisées. Points abordés :

    ●  Mise en œuvre des exigences de cycle de vie et de résidence des données pour les réglementations applicables

    ● Mécanismes de sécurité qui protègent les services et les ressources

    ● Mécanismes de sécurité qui protègent/analysent les fichiers binaires et les fichiers manifestes d'applications

    ●  Stockage, accès et rotation des clés et des secrets d'application (par exemple, Secret Manager et Cloud Key Management Service)

    ●  Authentification sur les services Google (par exemple, identifiants par défaut de l'application, jeton Web JSON (JWT) et OAuth 2.0)

    ●  Gestion des comptes utilisateur et authentification à l'aide d'Identity Platform

    ● Rôles IAM pour les utilisateurs, groupes et comptes de service

    ●  Sécurisation des communications de service à service (par exemple, maillage de services, et règles de réseau et espaces de noms Kubernetes)

    ●  Exécution de services avec le niveau d'accès le plus faible (par exemple, Workload Identity)

    ●  Authentification basée sur un certificat (par exemple, SSL, mTLS)

1.3 Gérer des données d'application. Points abordés :

    ●  Définition de schémas pour les bases de données gérées par Google (par exemple, Firestore, Cloud Spanner, Cloud Bigtable, Cloud SQL)

    ●  Définition d'une structure de clés de stockage de données pour les applications à forte capacité d'écriture

    ● Choix d'options de stockage de données en fonction des exigences de chaque cas d'utilisation, par exemple :

         ○ Accès aux objets limité dans le temps

         ○ Exigences liées à la conservation des données

         ○ Données structurées ou non structurées

         ○  Cohérence forte ou cohérence à terme

         ○ Volume des données

         ○ Modèles d'accès aux données

         ○ Traitement des transactions en ligne (OLTIP) ou entreposage de données

Section 2 : Créer et tester des applications (environ 20 % de l'examen)

2.1 Configurer votre environnement de développement local. Voici quelques points à prendre en compte :

    ● Émulation des services Google Cloud pour le développement d'applications locales

    ● Utilisation de la console Google Cloud, de Google Cloud SDK et des outils Cloud Shell

    ● Utilisation des outils pour les développeurs (par exemple, Cloud Code, Skaffold)

2.2 Compilation. Voici quelques points à prendre en compte :

    ●  Gestion du contrôle du code source

    ● Création d'images de conteneurs sécurisées à partir de code

    ● Développement d'un pipeline d'intégration continue à l'aide de services (par exemple, Cloud Build, Container Registry) qui créent des artefacts de déploiement

    ●  Optimisation du code et des versions de build

2.3 Réaliser des tests. Voici quelques points à prendre en compte :

    ●  Tests unitaires (par exemple, émulateurs)

    ●  Tests d'intégration

    ●  Tests de performances

    ●  Tests de charge

    ●  Tests de défaillance/ingénierie du chaos

Section 3 : Déployer des applications (environ 18 % de l'examen)

3.1 Adopter des stratégies de déploiement de fonctionnalités appropriées. Voici quelques points à prendre en compte :

    ●  Tests A/B

    ●  Commutateurs de fonctionnalité

    ●  Rétrocompatibilité

3.2 Déployer des applications dans un environnement informatique sans serveur. Voici quelques points à prendre en compte :

    ● Dimensionner et faire évoluer les environnements sans serveur

    ●  Déployer des fonctions à partir du code source

    ●  Passer des appels via des déclencheurs

    ●  Configurer des récepteurs d'événements

    ●  Exposer et sécuriser des API d'application (par exemple, API Gateway, Cloud Endpoints)

3.3 Déployer des applications et services sur Google Kubernetes Engine (GKE). Voici quelques points à prendre en compte :

    ●  Déploiement d'une application en conteneur sur GKE

    ●  Intégration de Kubernetes RBAC à Identity and Access Management (IAM)

    ● Configuration des espaces de noms Kubernetes

    ●  Définition des spécifications pour les charges de travail (par exemple, ressources nécessaires)

    ● Création d'une image de conteneur à l'aide de Cloud Build

    ● Configuration de l'accessibilité des applications pour le trafic utilisateur et d'autres services

    ●  Gestion du cycle de vie des conteneurs

Section 4 : Intégrer les services Google Cloud (environ 20 % de l'examen)

4.1 Intégrer une application à des services de données et de stockage. Voici quelques points à prendre en compte :

    ●  Gestion des connexion aux datastores (par exemple,     ●  Cloud SQL, Cloud Spanner, Firestore, Bigtable, Cloud Storage)

    ●  Lecture/écriture de données vers/depuis différents datastores

    ●  Rédaction d'une application qui publie/consomme des données de manière asynchrone (par exemple, à partir de Pub/Sub)

4.2 Intégrer une application à des services de calcul. Voici quelques points à prendre en compte :

    ●  Utilisation de la détection de services (par exemple, l'annuaire des services)

    ● Lecture des métadonnées d'instance pour obtenir la configuration de l'application

    ●  Démarrage et arrêt progressifs des applications

4.3 Intégrer les API Cloud aux applications. Voici quelques points à prendre en compte :

    ●  Activation d'une API Cloud

    ●  Passer des appels d'API à l'aide d'options compatibles (par exemple, bibliothèque cliente Cloud, API REST ou gRPC, APIs Explorer) en tenant compte des tâches suivantes :

         ○  Effectuer des requêtes par lot

         ○  Restreindre les données affichées

         ○  Effectuer la pagination des résultats

         ○  Mettre en cache les résultats

         ○  Traiter les erreurs (par exemple, intervalle exponentiel entre les tentatives)

    ● Utilisation des comptes de service pour effectuer des appels d'API Cloud

Section 5 : Gérer les applications déployées (environ 15 % de l'examen)

5.1 Gérer les services de calcul dans le cloud (par exemple, Google Kubernetes Engine sans serveur). Points abordés :

    ●  Analyse des événements de cycle de vie

    ● Utilisation de métriques externes et d'alertes correspondantes

    ● Configuration de l'autoscaling des charges de travail

5.2 Résoudre les problèmes liés aux applications. Points abordés :

    ●  Utilisation de Debugger

    ●  Utilisation de Cloud Logging

    ●  Utilisation de Cloud Monitoring

    ●  Utilisation de Cloud Profiler

    ●  Utilisation de Cloud Trace

● Utilisation d'Error Reporting

    ● Utilisation de la documentation, des forums et de l'assistance Google Cloud