
Before you begin
- Labs create a Google Cloud project and resources for a fixed time
- Labs have a time limit and no pause feature. If you end the lab, you'll have to restart from the beginning.
- On the top left of your screen, click Start lab to begin
Download the monolith code and build your container
/ 10
Create a kubernetes cluster and deploy the application
/ 20
Create a containerized version of orders and product Microservices
/ 20
Deploy the new microservices
/ 20
Create a containerized version of the Frontend microservice
/ 10
Deploy the Frontend microservice
/ 20
Dans un atelier challenge, vous devez suivre un scénario et effectuer une série de tâches. Aucune instruction détaillée n'est fournie : vous devez utiliser les compétences acquises au cours des ateliers du cours correspondant pour déterminer comment procéder par vous-même. Vous saurez si vous avez exécuté correctement les différentes tâches grâce au score calculé automatiquement (affiché sur cette page).
Lorsque vous participez à un atelier challenge, vous n'étudiez pas de nouveaux concepts Google Cloud. Vous allez approfondir les compétences précédemment acquises. Par exemple, vous devrez modifier les valeurs par défaut ou encore examiner des messages d'erreur pour corriger vous-même les problèmes.
Pour atteindre le score de 100 %, vous devez mener à bien l'ensemble des tâches dans le délai imparti.
Cet atelier est recommandé aux participants inscrits à la quête Build a Website on Google Cloud. Êtes-vous prêt pour le challenge ?
Lisez ces instructions. Les ateliers sont minutés, et vous ne pouvez pas les mettre en pause. Le minuteur, qui démarre lorsque vous cliquez sur Démarrer l'atelier, indique combien de temps les ressources Google Cloud resteront accessibles.
Cet atelier pratique vous permet de suivre les activités dans un véritable environnement cloud, et non dans un environnement de simulation ou de démonstration. Des identifiants temporaires vous sont fournis pour vous permettre de vous connecter à Google Cloud le temps de l'atelier.
Pour réaliser cet atelier :
Vous venez de décrocher un poste chez FancyStore, Inc.
Votre objectif est de décomposer le site Web d'e-commerce monolithique existant de votre entreprise en un ensemble de microservices séparés logiquement. Le code monolithique existant est stocké dans un dépôt GitHub, et vous devez conteneuriser cette application avant de la refactoriser.
Vous êtes censé disposer des compétences et connaissances requises pour ces tâches. Ne vous attendez donc pas à recevoir des instructions détaillées.
L'entreprise vous a demandé de reprendre le flambeau, car l'équipe responsable de cette application monolithique n'arrivait plus à gérer la charge de travail. Ses membres ont décidé d'aller voir si l'herbe était plus verte ailleurs (au sens littéral du terme : ils s'occupent désormais d'un champ de lavande). Votre tâche consistera à extraire le code source, à créer un conteneur à partir de ce code (un membre de l'ancienne équipe vous a laissé un Dockerfile), puis à le transférer vers GKE.
Vous devez commencer par créer, déployer et tester l'application monolithique afin de vous assurer que le code source fonctionne bien. Vous devez ensuite décomposer les services de l'application en déploiements de microservices.
Voici certaines normes de FancyStore, Inc. que vous devez respecter :
Créez votre cluster dans
Les noms suivent normalement le schéma équipe-ressource : par exemple, une instance peut être nommée fancystore-servicecommandes1.
La quantité de ressources allouée doit être rentable. Les projets sont surveillés, et s'ils utilisent trop de ressources, ils sont abandonnés.
Sauf indication contraire, utilisez le type de machine e2-medium
.
Dès que vous vous asseyez à votre bureau et ouvrez votre nouvel ordinateur, vous devez effectuer les tâches suivantes. Bonne chance !
Connectez-vous à votre nouveau projet et ouvrez Cloud Shell.
Pour commencer, vous devrez cloner le dépôt Git de votre équipe. Le répertoire racine du projet contient un script setup.sh. Exécutez-le afin de créer votre conteneur monolithique.
Après avoir exécuté le script setup.sh
, vérifiez que Cloud Shell exécute la dernière version de nodeJS :
Plusieurs projets peuvent être créés et publiés.
Transférez le build monolithique (situé dans le répertoire monolith
) vers Google Container Registry. Un Dockerfile est compris dans le dossier ~/monolith-to-microservices/monolith
. Vous pouvez vous en servir pour créer le conteneur d'application.
Pour cela, vous devrez l'exécuter dans Cloud Build (dans ce dossier monolithique), puis le transférer vers Google Container Registry.
Nommez votre artefact comme suit :
Indice :
Assurez-vous d'envoyer un build nommé
Cliquez sur Vérifier ma progression pour valider l'objectif.
Maintenant qu'une image a été créée et qu'elle se trouve dans Container Registry, vous pouvez créer un cluster dans lequel la déployer.
Puisque vous devez déployer toutes vos ressources dans la zone
Nom du cluster :
Région :
Nombre de nœuds : 3
Indice :
Assurez-vous que votre cluster est nommé
Maintenant que vous avez créé une image et que votre cluster est opérationnel, vous pouvez déployer l'application.
Vous devrez déployer l'image créée sur votre cluster pour rendre votre application opérationnelle. Toutefois, personne ne pourra y accéder tant que vous ne l'aurez pas exposée pour la rendre accessible depuis l'extérieur. Votre équipe vous a indiqué que l'application s'exécutait sur le port 8080, mais vous devrez l'exposer sur le port 80, plus courant.
Le résultat suivant doit s'afficher :
Indice :
Assurez-vous que votre déploiement est nommé
Cliquez sur Vérifier ma progression pour valider l'objectif.
Maintenant que vous pouvez créer et déployer votre application monolithique FancyStore, vous pouvez commencer à la décomposer en microservices.
Maintenant que votre site monolithique existant est exécuté sur GKE, vous pouvez commencer à décomposer chaque service en microservice. En principe, il convient d'étudier les services afin de déterminer la manière dont ils peuvent être décomposés. Généralement, chaque sous-ensemble correspond à une partie spécifique de l'application (par exemple, le domaine d'activité).
Pour les besoins de cet atelier, accélérons un peu le processus et admettons que vous avez réussi à décomposer l'application monolithique en un ensemble de trois microservices : "Orders" (Commandes), "Products" (Produits) et "Frontend" (Interface). Votre code étant prêt, vous devez à présent déployer vos services.
Vous devez décomposer trois services dans leur propre conteneur. Puisque vous déplacez chaque service dans un conteneur, vous devez déterminer les informations suivantes pour chacun d'entre eux :
Créer une version conteneurisée de vos microservices
Vous trouverez ci-dessous la liste des services devant être conteneurisés.
Microservice "Orders" |
|
Microservice "Products" |
|
Conseil : Assurez-vous d'envoyer un build nommé
Cliquez sur Vérifier ma progression pour valider l'objectif.
Déployez ces nouveaux conteneurs en suivant le même processus que pour le monolithe
Microservice "Orders" |
|
Microservice "Products" |
|
Remarque : Notez l'adresse IP des services "Orders" et "Products" une fois exposés. Vous en aurez besoin lors de la suite de la procédure.
http://ORDERS_EXTERNAL_IP/api/orders
http://PRODUCTS_EXTERNAL_IP/api/products
Chaque service renverra une chaîne JSON si les déploiements ont été correctement effectués.
Conseil : Assurez-vous que vos déploiements sont nommés
Cliquez sur Vérifier ma progression pour valider l'objectif.
Maintenant que vous avez extrait les microservices "Orders" et "Products", vous devez configurer le service "Frontend" pour qu'il renvoie vers ces microservices, puis le déployer.
nano
, remplacez l'URL locale par l'adresse IP du nouveau microservice "Products" comme suit :Lors de l'ouverture de l'éditeur, votre fichier devrait se présenter comme suit :
REACT_APP_PRODUCTS_URL
au nouveau format en remplaçant une partie du code par les adresses IP de vos microservices "Orders" et "Products" comme suit :Appuyez sur les touches Ctrl+O, Entrée, puis Ctrl+X pour enregistrer le fichier dans l'éditeur nano
.
Recompilez à présent l'application frontend avant de la conteneuriser :
Les microservices "Orders" et "Products" sont à présent conteneurisés et déployés, et le service "Frontend" est configuré de manière à renvoyer vers ces microservices. La dernière étape consiste à conteneuriser et à déployer le service "Frontend".
À l'aide de Cloud Build, empaquetez le contenu du service "Frontend", puis transmettez-le vers Google Container Registry.
Merci de patienter pendant ce processus, qui peut prendre quelques minutes.
Conseil : Assurez-vous d'envoyer un build nommé
Cliquez sur Vérifier ma progression pour valider l'objectif.
Déployez ce conteneur en suivant le même processus que celui suivi pour les microservices "Orders" et "Products".
La page d'accueil de FancyStore contient des liens vers les pages "Products" et "Orders" fournies par vos nouveaux microservices.
Cliquez sur Vérifier ma progression pour valider l'objectif.
Cet atelier d'auto-formation fait partie de la quête Build a Website on Google Cloud. Si vous terminez cette quête, vous obtiendrez le badge de compétence ci-dessus attestant de votre réussite. Ajoutez votre badge à votre CV et partagez-le sur les réseaux sociaux en utilisant le hashtag #GoogleCloudBadge.
Ce badge de compétence est associé aux formations Google Cloud sur la modernisation de l'infrastructure. Poursuivez votre apprentissage en parcourant le catalogue pour découvrir plus de vingt autres quêtes auxquelles vous pouvez vous inscrire pour gagner un badge de compétence.
Les formations et certifications Google Cloud vous aident à tirer pleinement parti des technologies Google Cloud. Nos cours portent sur les compétences techniques et les bonnes pratiques à suivre pour être rapidement opérationnel et poursuivre votre apprentissage. Nous proposons des formations pour tous les niveaux, à la demande, en salle et à distance, pour nous adapter aux emplois du temps de chacun. Les certifications vous permettent de valider et de démontrer vos compétences et votre expérience en matière de technologies Google Cloud.
Dernière mise à jour du manuel : 5 décembre 2023
Dernier test de l'atelier : 5 décembre 2023
Copyright 2025 Google LLC. Tous droits réservés. Google et le logo Google sont des marques de Google LLC. Tous les autres noms d'entreprises et de produits peuvent être des marques des entreprises auxquelles ils sont associés.
Ce contenu n'est pas disponible pour le moment
Nous vous préviendrons par e-mail lorsqu'il sera disponible
Parfait !
Nous vous contacterons par e-mail s'il devient disponible
One lab at a time
Confirm to end all existing labs and start this one