Professional Cloud Developer

Description du poste

Un Professional Cloud Developer crée des applications évolutives et à disponibilité élevée à l'aide des pratiques et outils 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 sait générer des métriques et des journaux utiles au débogage et au suivi du code.

Exemple d'étude de cas

Certaines questions de l'examen de certification Professional Cloud Developer peuvent porter sur une étude de cas qui décrit une entreprise fictive et un concept de solution. Cette étude de cas vise à fournir davantage de contexte pour vous aider à choisir les bonnes réponses. Nous vous recommandons de consulter cet exemple d'étude de cas qui pourrait vous être proposé lors de l'examen.

HipLocal

* Remarque : L'examen n'évalue pas directement vos compétences en codage, mais votre capacité à tirer parti des services GCP 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.

Guide de l'examen de certification

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

    1.1 Concevoir des API et applications hautement performantes. Points à prendre en compte :

    • Microservices
    • Caractéristiques/Compromis de l'IaaS (Infrastructure as a Service) en matière de vélocité de scaling par rapport au CaaS (Container as a Service) et au PaaS (Platform as a Service)
    • Répartition géographique des services Google Cloud (par exemple, latence, services régionaux ou zonaux)
    • Définition d'une structure de clés pour les applications à forte capacité d'écriture utilisant Cloud Storage, Cloud Bigtable, Cloud Spanner ou Cloud SQL
    • Gestion des sessions utilisateur
    • Solutions de mise en cache
    • Déploiement et sécurisation de services d'API
    • Applications asynchrones faiblement couplées (par exemple, Apache, Kafka, Pub/Sub)
    • Arrêt progressif lors de la suppression d'une plate-forme
    • Pratiques et documentation recommandées par Google

    1.2 Concevoir des applications sécurisées. Points à prendre en compte :

    • Mise en œuvre d'exigences liées aux réglementations applicables (par exemple, destruction des données)
    • 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 et rotation des secrets et des clés d'application (par exemple, Cloud KMS et HashiCorp Vault)
    • Authentification sur les services Google (par exemple, identifiants par défaut de l'application, jeton Web JSON (JWT) et OAuth 2.0)
    • 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)
    • Pratiques et documentation recommandées par Google

    1.3 Gérer des données d'application. Points à prendre en compte :

    • 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)
    • 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 de données
      • Fréquence d'accès aux données dans Cloud Storage
    • Pratiques et documentation recommandées par Google

    1.4 Moderniser des applications. Points à prendre en compte :

    • Utilisation de services gérés
    • Refactorisation d'une application monolithique en microservices
    • Conception de services sans état pouvant évoluer horizontalement
    • Pratiques et documentation recommandées par Google

Section 2 : Créer et tester des applications

    2.1 Configurer votre environnement de développement local. Points à prendre en compte :

    • Émulation des services Google Cloud pour le développement d'applications locales
    • Création de projets Google Cloud
    • Utilisation de l'interface de ligne de commande (CLI), de Google Cloud Console et des outils Cloud Shell
    • Utilisation des outils pour les développeurs (par exemple, Cloud Code, Skaffold)

    2.2 Écrire du code efficace. Points à prendre en compte :

    • Conception d'algorithmes
    • Schémas d'application modernes
    • Méthodologies de développement de logiciels
    • Débogage et profilage de code

    2.3 Réaliser des tests. Points à prendre en compte :

    • Tests unitaires
    • Tests d'intégration
    • Tests de performances
    • Tests de charge

    2.4 Compilation. 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
    • Vérification et optimisation de l'efficacité du pipeline d'intégration continue

Section 3 : Déployer des applications

    3.1 Recommander des stratégies de déploiement pertinentes basées sur les outils appropriés (par exemple, Cloud Build, Spinnaker, Tekton et le gestionnaire de configuration Anthos) pour l'environnement de calcul cible (Compute Engine, Google Kubernetes Engine, etc.). Points à prendre en compte :

    • Déploiements bleu-vert
    • Déploiements de répartition du trafic
    • Déploiements progressifs
    • Déploiements Canary

    3.2 Déployer des applications et services sur Compute Engine. Points à prendre en compte :

    • Installation d'une application dans une machine virtuelle (VM)
    • Gestion des comptes de service des VM
    • Amorçage d'applications
    • Export de journaux et de métriques d'applications
    • Gestion des images et des fichiers binaires de VM Compute Engine

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

    • Déploiement d'une application en conteneur sur GKE
    • Gestion des relations entre Kubernetes RBAC et Google Cloud 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
    • Définition des ressources et des configurations Kubernetes

    3.4 Déployer une fonction Cloud. Points à prendre en compte :

    • Fonctions Cloud déclenchées par un événement issu de services Google (par exemple : Pub/Sub, objets Cloud Storage)
    • Fonctions Cloud appelées via HTTP
    • Sécurisation des fonctions Cloud

    3.5 Utiliser les comptes de service. Points à prendre en compte :

    • Création d'un compte de service en appliquant le principe du moindre privilège
    • Téléchargement et utilisation d'un fichier de clé privée de compte de service

Section 4 : Intégrer les services Google Cloud

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

    • Données en lecture et en écriture depuis/vers différentes bases de données (par exemple, SQL)
    • Connexion à un datastore (par exemple, Cloud SQL, Cloud Spanner, Firestore, Cloud Bigtable)
    • Rédaction d'une application qui publie/consomme des données de manière asynchrone (par exemple, à partir de Pub/Sub)
    • Stockage et récupération des objets de Cloud Storage

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

    • Mise en œuvre de la détection de services dans GKE et Compute Engine
    • Lecture des métadonnées d'instance pour obtenir la configuration de l'application
    • Authentification des utilisateurs à l'aide du flux Web OAuth2.0 et d'Identity-Aware Proxy
    • Authentification auprès des API Cloud avec Workload Identity

    4.3 Intégrer les API Cloud aux applications. Points à prendre en compte :

    • Activation d'une API Cloud
    • 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 la surveillance des performances des applications

    5.1 Gérer les VM Compute Engine. Points à prendre en compte :

    • Débogage d'une image de VM personnalisée à l'aide du port série
    • Analyse de l'échec du démarrage d'une VM Compute Engine
    • Envoi de journaux à Cloud Logging à partir d'une VM
    • Affichage et analyse des journaux
    • Inspection de l'utilisation des ressources au fil du temps

    5.2 Gérer les charges de travail Google Kubernetes Engine. Points à prendre en compte :

    • Configuration de la journalisation et de la surveillance
    • Analyse des événements de cycle de vie des conteneurs (par exemple, CrashLoopBackOff, ImagePullErr)
    • Affichage et analyse des journaux
    • Écriture et exportation de métriques personnalisées
    • Utilisation de métriques externes et d'alertes correspondantes
    • Configuration de l'autoscaling des charges de travail

    5.3 Résoudre les problèmes liés aux performances des applications. Points à prendre en compte :

    • Création d'un tableau de bord de surveillance
    • Écriture de métriques personnalisées et création de métriques basées sur les journaux
    • Utilisation de Cloud Debugger
    • Vérification des traces de la pile pour analyser les erreurs
    • Exportation des journaux depuis Google Cloud
    • Consultation des journaux dans Google Cloud Console
    • Vérification des performances des applications (par exemple, Cloud Trace, Prometheus, OpenTelemetry)
    • Surveillance et établissement du profil d'une application en cours d'exécution
    • Utilisation de la documentation, des forums et de l'assistance Google Cloud