Application Development with Cloud Run
Présentation du cours
Ce cours vous présente les principes fondamentaux, les pratiques, les fonctionnalités et les outils applicables au développement d’applications cloud natives modernes à l’aide de Google Cloud Run.
Grâce à une combinaison de conférences, d’ateliers pratiques et de supports supplémentaires, vous apprendrez à concevoir, mettre en œuvre, déployer, sécuriser, gérer et faire évoluer des applications sur Google Cloud à l’aide de Cloud Run.
Objectifs pédagogiques
- Obtenir une compréhension détaillée de Cloud Run, la plate-forme de calcul entièrement gérée de Google Cloud pour déployer et faire évoluer des applications conteneurisées rapidement et en toute sécurité.
- Écrire et migrer du code à votre guise en utilisant vos langages préférés (Go, Python, Java, Ruby, Node.js, etc.).
- Sécuriser la communication de service à service en fonction des identités de service et n’accorder aux applications que les autorisations dont elles ont besoin.
- Découvrir comment créer des applications hautement disponibles avec une faible latence pour l’utilisateur final, à l’échelle mondiale.
- Découvrir comment se connecter et conserver des données dans les offres de bases de données gérées sur Google Cloud.
- Comprendre comment l’abstraction de toute la gestion de l’infrastructure crée une expérience de développeur simple.
Public cible
- Développeurs cloud, développeurs d’API, clients et partenaires
Prérequis
Pour tirer le meilleur parti de ce cours, les participants doivent :
- Être familiers avec les commandes Linux et l’interface de ligne de commande.
- Comprendre les bases de Google Cloud.
- Comprendre les bases des réseaux.
- Comprendre les bases d’un ou plusieurs langages de programmation tels que Go, Python, Java, Ruby ou Node.js.
- Comprendre les bases des scripts shell, YAML, JSON, HTTP et TLS.
Programme
Module 1: Introduction au développement d’applications avec Cloud Run
Sujets
- Ce module donne un aperçu général de Cloud Run. Si vous êtes nouveau sur Cloud Run (ou même sur Google Cloud), ce sera une excellente introduction.
Objectifs
- Compréhension générale de Cloud Run.
- Comprendre comment la haute disponibilité, la faible latence de l’utilisateur final et la productivité des développeurs sont des moteurs architecturaux importants pour les applications Web d’aujourd’hui.
- Comprendre les avantages du serverless (sans serveur) sur Google Cloud.
Module 2: Comprendre Cloud Run
Sujets
- Vous pouvez utiliser n’importe quel langage, n’importe quelle bibliothèque et n’importe quel binaire. Cloud Run s’attend à ce que votre application (dans une image de conteneur) écoute sur un port et réponde aux requêtes HTTP.
- Utilisez un dépôt Docker sur Artifact Registry pour stocker vos images : Cloud Run ne se déploie qu’à partir de là.
- Cloud Run utilise l’autoscaling pour gérer toutes les requêtes entrantes
- Modèle de tarification à l’utilisation.
- Aucune tâche en arrière-plan : la durée de vie du conteneur n’est garantie que lors du traitement des demandes.
- Il n’y a pas de stockage persistant : stocker les données en aval.
- Cloud Run est portable (conteneurs et Knative)
Objectifs
- Comprendre les images de conteneurs et les conteneurs
- Comprendre en quoi Cloud Run est différent d’un serveur toujours actif
- Mettre en œuvre le déploiement d’une image de conteneur dans Cloud Run (atelier pratique)
- Comprendre la mise à l’échelle automatique et les conteneurs à la demande
Activités
- 1 lab
Module 3: Construire des images de conteneurs
Sujets
- Le contenu d’une image de conteneur (analyse approfondie)
- Il existe deux façons de créer des images de conteneur
- Buildpacks (sans intervention)
- Docker (vous avez le contrôle)
- Cloud Run prend en charge à la fois le flux de travail basé sur la source et le flux de travail basé sur l’image du conteneur
- Les considérations les plus importantes pour créer une image de conteneur sécurisée
Objectifs
- Comprendre en profondeur ce qui se trouve à l’intérieur d’une image de conteneur
- Empaqueter une application dans une image de conteneur avec Buildpacks (atelier activité de laboratoire)
- Comprenez que les Dockerfiles sont une alternative plus bas niveau et plus transparente que les Buildpacks
Activités
- 1 lab
Module 4: Construire des images de conteneurs
Sujets
- Cycle de vie des conteneurs
- Inactif vs service
- Hook d’arrêt
- Démarrages à froid
- Instances minimales
- Préparation des conteneurs
- La ressource de service et ce qu’elle décrit
- Configuration des limites de mémoire et de l’allocation du processeur
- Déploiement d’une nouvelle révision
- Pilotage du trafic (balisage, déploiements progressifs)
Objectifs
- Comprendre les avantages du hook d’arrêt
- Comprendre comment éviter la file d’attente des demandes
- Implémenter de nouvelles versions d’une application (activité de laboratoire pratique)
- Mettre en œuvre une migration progressive du trafic (activité de laboratoire pratique)
Activités
- 1 lab
Module 5: Configuration de l’identité et de l’autorisation du service
Sujets
- Cloud IAM
- Service account, policy binding, rôles, types de membres, hiérarchie des ressources (en pratique)
- Service accounts
- Rôles Cloud Run IAM
- Cloud Run
- Service account par défaut
- Risques liés à l’utilisation du Service account par défaut
Objectifs
- Comprendre que chaque action sur une ressource Cloud est en fait un appel d’API
- Comprendre comment et pourquoi limiter les autorisations dans votre service Cloud Run aux seuls appels d’API spécifiques et nécessaires
- Comprendre le processus nécessaire pour rendre les autorisations par défaut d’une API Cloud plus sécurisées
- Utiliser les bibliothèques clientes pour appeler d’autres services Google Cloud (activité pratique en atelier)
Activités
- 1 lab
Module 6: Traitement des requêtes
Sujets
- Custom Domains
- Global Load Balancer
- URL Map
- Frontend
- Backend services
- Avantages et inconvénients de GLB par rapport au domaine personnalisé
- Types de backends GLB
- Équilibrage de charge multirégional
- Défis des applications multirégionales
- Cloud CDN
Objectifs
- Utiliser Cloud CDN pour améliorer la fiabilité et les performances d’une application
- Utiliser le routage basé sur les paths pour combiner plusieurs applications sur un domaine
- Acheminer les requêtes entrantes vers le service Cloud Run le plus proche des clients
Activités
- 1 lab
Module 7: Utiliser les contrôles d’accès entrants et sortants
Sujets
- Paramètres Ingress
- Cloud Armor
- Utiliser Cloud IAM pour protéger les services
- Comprendre le fonctionnement des requêtes authentifiées (tokens IAM + OIDC). S’appuie sur le module 5.
- VPC, connecteur d’accès VPC
- Paramètres Engress
Objectifs
- Connecter votre projet à des ressources avec une adresse IP privée
- Mettre en œuvre des contrôles pour empêcher le trafic sortant vers des hôtes dangereux ou indésirables
- Implémenter des filtres pour le trafic entrant à l’aide de règles basées sur le contenu
- Mettre en œuvre un accès contrôlé à uniquement des services account spécifiques
Activités
- 1 lab
Module 8: Données persistantes
Sujets
- Comprendre pourquoi vous devez stocker des données en externe lors de l’exécution d’une charge de travail sur Cloud Run.
- Se connecter avec Cloud SQL depuis Cloud Run
- Comprendre son fonctionnement (proxy Cloud SQL géré)
- Gérer la concurrency comme moyen de préserver les performances (comprendre pourquoi et quand)
- Connexion avec Memorystore
- Connecteur VPC
- Défis liés à la mise à l’échelle de Memorystore (débit)
- Présentation brève de Cloud Storage, Firestore et de Cloud Spanner, tout en expliquant comment les bibliothèques clientes utilisent le service account intégré pour se connecter (le module 5 est une connaissance préalable).
- Stockage de données multirégional (et ce que Spanner et Firestore peuvent faire pour vous)
Objectifs
- Comprendre comment connecter votre application à Cloud SQL pour stocker des données relationnelles
- Utiliser un connecteur VPC pour accéder à une instance Memorystore privée
- Comprendre comment se connecter à Cloud Storage, Spanner et Firestore
Activités
- 1 lab
Module 9: Mise en œuvre de la communication de service à service
Sujets
- Comprendre Cloud Pub/Sub
- Comprendre les topics, les push subscriptions
- Idempotence (gestion des retry et at-least once invocation)
- Event ID, design for resume, ou utilisation d’un lease
- Traitement des messages non distribuables
- Comment planifier de manière asynchrone une tâche en arrière-plan sur un service différent
- Cloud Tasks et quand le choisir plutôt que Cloud Pub/Sub
- Avantages de l’utilisation de Pub/Sub pour transmettre des messages plutôt que d’effectuer des requêtes RPC de synchronisation
- En savoir plus sur les services dans Google Cloud avec une intégration built-in pour envoyer des événements à Pub/Sub (Cloud Build, Artifact Registry, Cloud Storage, IOT Core, BigQuery)
- Cloud Scheduler pour appeler des services selon un calendrier.
- CloudEvents
- EventArc et comment utiliser les journaux d’audit
- À quoi s’attendre maintenant et comment EventArc se développera-t-il au fil du temps
Objectifs
- Utiliser Cloud Pub/Sub pour envoyer des messages entre les services
- Découvrir l’URL d’autres services Cloud Run
- Recevoir des événements d’autres services Google Cloud
- Traitement asynchrone des tâches en arrière-plan
Activités
- 1 lab
Module 10: Orchestration et automatisation des workflows sans serveur
Sujets
- Présentation conceptuelle de Cloud Workflows
- Invoquer et transmettre des paramètres
- Comprendre les pas et les sauts
- Définir, utiliser et transmettre des valeurs avec des variables
- Utilisation de l’instruction switch pour ajouter de la logique
- Visualisation du flux de travail
- Appeler des points de terminaison HTTPS
- Appeler un service Cloud Run authentifié
- Exemple : interrogation de l’API pour terminaison
Objectif:
- Comprendre les fonctionnalités de Cloud Workflows
- Apprendre à modéliser un flux de travail simple avec des étapes et des sauts conditionnels
- Intégrer Cloud Run avec Cloud Workflows
- Comprendre comment invoquer des workflows
Les concepts suivants ne sont pas couverts dans ce cours
- Présentation détaillée de KubeRun (alias Cloud Run pour Anthos). Le sujet sera traité en détail dans le cours avancé. Voir les hypothèses pour un aperçu du cours avancé.
- Présentation approfondie de la CI/CD. Ce cours utilise la CI/CD mais ne fournit pas une couverture approfondie de la pile technologique.
- Présentation approfondie des outils de développement Google Cloud. Ce cours suggère et exploite un ou plusieurs outils de développement Google Cloud, mais ne fournit pas une couverture approfondie de la pile technologique.
- Présentation approfondie d’Apigee. Dans le cadre du cours, les API sont utilisées et la gestion des API est abordée. Les détails sur le développement et la gestion d’API avec Apigee sont traités dans le cadre du cours « Developing APIs with Google Cloud’s Apigee API Platform ».
Ce cours vous intéresse ?
Demandez un devis
personnalisée ? Contactez-nous