
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
In un Challenge Lab ti vengono presentati uno scenario e un insieme di attività. Anziché seguire le istruzioni passo passo, utilizzerai le competenze apprese dai lab durante il corso per capire come completare le attività autonomamente. Tramite un sistema di valutazione automatico (visibile in questa pagina), riceverai un feedback che ti consentirà di capire se hai completato le attività in modo corretto.
Quando partecipi a un Challenge Lab non ricevi alcuna formazione sui concetti di Google Cloud. Dovrai estendere le competenze che hai appreso, ad esempio modificare i valori predefiniti e leggere ed esaminare i messaggi di errore per correggere i tuoi errori.
Per ottenere un punteggio del 100% devi completare tutte le attività correttamente nel tempo stabilito.
Questo lab è consigliato per le studentesse e gli studenti che si sono iscritti alla Quest Build a Website on Google Cloud. Accetti la sfida?
Leggi le seguenti istruzioni. I lab sono a tempo e non possono essere messi in pausa. Il timer si avvia quando fai clic su Inizia il lab e ti mostra per quanto tempo avrai a disposizione le risorse Google Cloud.
Con questo lab pratico avrai la possibilità di completare le attività in un ambiente cloud reale e non di simulazione o demo. Riceverai delle nuove credenziali temporanee che potrai utilizzare per accedere a Google Cloud per la durata del lab.
Per completare il lab, avrai bisogno di:
Hai appena assunto un nuovo ruolo in FancyStore, Inc.
L'attività che ti è stata assegnata consiste nel suddividere il sito web monolitico di e-commerce dell'azienda in una serie di microservizi separati logicamente. Il codice del monolite esistente risiede in un repository GitHub e tu dovrai containerizzare l'app e quindi eseguirne il refactoring.
Si presume che tu abbia le competenze e le conoscenze necessarie per svolgere queste attività, quindi non ti verrà fornita una guida passo passo.
Ti è stato chiesto di assumere la leadership di questa attività dopo che l'ultimo team, sofferente per il burnout dovuto al monolite, ha abbandonato il progetto per dedicarsi a qualcosa di più rilassante (ovvero una coltivazione di lavanda). Dovrai recuperare il codice sorgente, creare un container (uno dei coltivatori di lavanda ti ha lasciato un Dockerfile) e poi eseguirne il push in GKE.
Prima di tutto dovrai creare il monolite, eseguirne il deployment e testarlo, per assicurarti che il codice sorgente sia corretto. A quel punto, dovrai suddividere i servizi che lo compongono in specifici deployment di microservizi.
Ecco alcuni standard di FancyStore, Inc. che devi rispettare:
Crea il tuo cluster in
Il formato del nome solitamente è team-risorsa; un'istanza potrebbe chiamarsi ad esempio fancystore-orderservice1.
Alloca risorse di dimensioni economicamente convenienti. I progetti sono monitorati e un utilizzo eccessivo di risorse potrebbe comportare l'interruzione del progetto contenitore.
Salvo diversa indicazione, usa il tipo di macchina e2-medium
.
Non appena ti siedi alla scrivania e apri il tuo nuovo laptop, ricevi la richiesta di completamento delle seguenti attività. In bocca al lupo!
Accedi al tuo nuovo progetto e apri Cloud Shell.
Per prima cosa dovrai clonare il repository Git del tuo team. Nella directory root del progetto è presente uno script setup.sh che dovrai eseguire per completare la creazione del container del monolite.
Dopo avere eseguito lo script setup.sh
, assicurati che Cloud Shell stia eseguendo l'ultima versione di nodeJS:
Potrai creare diversi progetti ed eseguirne il push.
Esegui il push della build del monolite (comodamente a disposizione nella directory monolith
) fino a Google Container Registry. Nella cartella ~/monotlith-to-microservices/monolith
è presente un Dockerfile che puoi utilizzare per creare il container dell'applicazione.
Dovrai eseguire Cloud Build (nella cartella del monolite) per crearlo ed eseguirne il push in GCR.
Assegna all'artefatto il nome seguente:
Suggerimento:
Assicurati di inviare una build denominata
Fai clic su Controlla i miei progressi per verificare l'obiettivo.
Ora che l'immagine è stata creata e inserita nel Container Registry, occorre creare un cluster in cui eseguirne il deployment.
Ti è stato chiesto di eseguire il deployment di tutte le risorse nella zona
Cluster name:
Regione:
Conteggio dei nodi: 3
Suggerimento:
Assicurati che il cluster sia denominato
Ora che hai creato un'immagine e disponi di un cluster operativo, devi eseguire il deployment dell'applicazione.
Dovrai eseguire il deployment dell'immagine che hai creato nel cluster. In questo modo l'applicazione sarà pronta all'uso, ma non sarà accessibile finché non verrà esposta al mondo esterno. Il tuo team ti ha detto che l'applicazione è in esecuzione sulla porta 8080, ma sarà necessario esporla sulla più comune porta 80.
Dovresti visualizzare quanto segue:
Suggerimento:
Assicurati che il deployment sia denominato
Fai clic su Controlla i miei progressi per verificare l'obiettivo.
Ora che puoi creare la tua applicazione monolitica Fancy Store ed eseguirne il deployment, tutto è pronto per iniziare a suddividerla in microservizi.
Ora che il sito web monolitico esistente è in esecuzione su GKE, puoi iniziare a suddividere ogni servizio in microservizi. In genere sarebbe opportuno eseguire una pianificazione per valutare quali servizi suddividere in parti più piccole, soprattutto per quanto riguarda specifiche parti dell'applicazione come il dominio aziendale.
Per le finalità di questo Challenge Lab, anticipa un po' i tempi e supponi di avere già suddiviso il monolite in una serie di microservizi: Orders, Products e Frontend. Il codice è pronto, quindi devi eseguire il deployment dei servizi.
Ci sono 3 servizi da suddividere nei container corrispondenti. Dato che sposterai tutti i servizi in container, per ogni servizio dovrai tenere traccia delle informazioni seguenti:
Crea una versione containerizzata dei tuoi microservizi
Di seguito è riportato un set di servizi che devono essere containerizzati.
Microservizio Orders |
|
Microservizio Products |
|
Suggerimento: assicurati di inviare una build denominata
Fai clic su Controlla i miei progressi per verificare l'obiettivo.
Esegui il deployment di questi nuovi container seguendo la stessa procedura utilizzata per il monolite
Microservizio Orders |
|
Microservizio Products |
|
NOTA: prendi nota degli indirizzi IP dei servizi Orders e Products dopo averli esposti; ti serviranno nei passaggi successivi.
http://ORDERS_EXTERNAL_IP/api/orders
http://PRODUCTS_EXTERNAL_IP/api/products
Ogni servizio restituirà una stringa JSON se i deployment sono andati a buon fine.
Suggerimento: assicurati che i tuoi deployment siano denominati
Fai clic su Controlla i miei progressi per verificare l'obiettivo.
Ora che hai estratto i microservizi Orders e Products, devi configurare il servizio Frontend in modo che punti a quei microservizi ed eseguirne il deployment.
nano
per sostituire l'URL locale con l'indirizzo IP dei nuovi microservizi Products:All'apertura dell'editor, il file dovrebbe avere l'aspetto seguente:
REACT_APP_PRODUCTS_URL
con il nuovo formato durante la sostituzione con gli indirizzi IP dei microservizi Orders e Products, in modo che corrisponda a quanto segue:Premi Ctrl + O, poi Invio e infine Ctrl + X per salvare il file nell'editor nano
.
A questo punto, ricrea l'app frontend prima di containerizzarla:
Dopo avere containerizzato i microservizi Orders e Products e averne eseguito il deployment, e dopo avere configurato il servizio Frontend in modo che punti a questi microservizi, il passaggio finale consiste nella containerizzazione e nel deployment di Frontend.
Usa Cloud Build per creare un pacchetto con i contenuti del servizio Frontend ed eseguirne il push in Google Container Registry.
Il processo potrebbe richiedere alcuni minuti.
Suggerimento: assicurati di inviare una build denominata
Fai clic su Controlla i miei progressi per verificare l'obiettivo.
Per il deployment di questo container, segui la stessa procedura utilizzata per i microservizi Orders e Products.
Verrà visualizzata la home page Fancy Store, con i link alle pagine Products e Orders basate sui tuoi nuovi microservizi.
Fai clic su Controlla i miei progressi per verificare l'obiettivo.
Questo self-paced lab fa parte della Quest con badge delle competenze Build a Website on Google Cloud. Il completamento di questa Quest con badge delle competenze ti permette di ottenere il badge qui sopra come riconoscimento per l'obiettivo raggiunto. Condividi il badge sul tuo CV e sulle piattaforme social e annuncia il risultato che hai raggiunto utilizzando #GoogleCloudBadge.
Questo badge delle competenze fa parte del portafoglio Modernizzazione dell'infrastruttura di Google Cloud. Continua il tuo percorso di apprendimento cercando nel catalogo tra oltre 20 altre Quest con badge delle competenze a cui puoi iscriverti.
… per utilizzare al meglio le tecnologie Google Cloud. I nostri corsi ti consentono di sviluppare competenze tecniche e best practice per aiutarti a metterti subito al passo e avanzare nel tuo percorso di apprendimento. Offriamo vari livelli di formazione, dal livello base a quello avanzato, con opzioni di corsi on demand, dal vivo e virtuali, in modo da poter scegliere il più adatto in base ai tuoi impegni. Le certificazioni ti permettono di confermare e dimostrare le tue abilità e competenze relative alle tecnologie Google Cloud.
Ultimo aggiornamento del manuale: 5 dicembre 2023
Ultimo test del lab: 5 dicembre 2023
Copyright 2025 Google LLC. Tutti i diritti riservati. Google e il logo Google sono marchi di Google LLC. Tutti gli altri nomi di società e prodotti sono marchi delle rispettive società a cui sono associati.
Questi contenuti non sono al momento disponibili
Ti invieremo una notifica via email quando sarà disponibile
Bene.
Ti contatteremo via email non appena sarà disponibile
One lab at a time
Confirm to end all existing labs and start this one