Ce cours vous présente les principes fondamentaux, les pratiques, les capacités et les outils applicables au développement d'applications cloud natives modernes à l'aide de Google Cloud Run.
Grâce à une combinaison de théorie, de travaux pratiques et de ressources supplémentaires, vous apprendrez à concevoir, mettre en œuvre, déployer, sécuriser, gérer et mettre à l'échelle des applications sur Google Cloud à l'aide de Cloud Run.
introduction au développement d’applications avec Cloud Run
Comprendre Cloud Run
- 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)
Construire des images de conteneurs
- 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
Construire des images de conteneurs
- Cycle de vie des conteneurs
- Inactif vs service
- Hook d’arrêt
- Démarrages à froid
- 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)
Configuration de l’identité et de l’autorisation du service
- 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
Traitement des requêtes
- 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
utiliser les contrôles d’accès entrants et sortants
- 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
Données persistantes
- 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)
Mise en œuvre de la communication de service à service
- 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
Orchestration et automatisation des workflows sans serveur
- 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