Professional Cloud Developer
Guide de l'examen de certification
Un Professional Cloud Developer crée et déploie des applications évolutives, sécurisées 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 applications conteneurisées, des API, des outils pour les développeurs, des outils d'orchestration, des services gérés, des stratégies de test, des plates-formes sans serveur et des bases de données 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.
Section 1 : Concevoir des applications cloud natives évolutives, disponibles et fiables (environ 33 % de l'examen)
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/Subn Eventarc)
● 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 de chiffrement et des secrets d'application (par exemple, Secret Manager et Cloud Key Management Service)
● Authentification sur les services Google Cloud (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 les certificats (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 (environ 26 % 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, 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 (environ 19 % 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é
● 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 des applications aux services Google Cloud (environ 22 % de l'examen)
4.1 Intégrer des applications à 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 des applications 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