Checkpoint
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
Build a Website on Google Cloud: Challenge Lab
- GSP319
- Introduzione
- Configurazione
- Scenario della sfida
- Attività 1: scarica il codice del monolite e crea un container
- Attività 2: crea un cluster Kubernetes ed esegui il deployment dell'applicazione
- Attività 3: crea nuovi microservizi
- Attività 4: esegui il deployment dei nuovi microservizi
- Attività 5: configura ed esegui il deployment del microservizio Frontend
- Attività 6: crea una versione containerizzata del microservizio Frontend
- Attività 7: esegui il deployment del microservizio Frontend
- Complimenti!
GSP319
Introduzione
In un Challenge Lab ti vengono presentati uno scenario e un insieme di attività. Anziché seguire le istruzioni dettagliate, utilizzerai le competenze apprese dai lab nella Quest 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?
Configurazione
Prima di fare clic sul pulsante Avvia lab
Leggi le seguenti istruzioni. I lab sono a tempo e non possono essere messi in pausa. Il timer si avvia quando fai clic su Avvia 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 prima persona, 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:
- Accesso a un browser internet standard (Chrome è il browser consigliato).
- È ora di completare il lab: ricorda che, una volta iniziato, non puoi metterlo in pausa.
Scenario della sfida
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
.
La sfida
Non appena ti siedi alla scrivania e apri il tuo nuovo laptop, ricevi la richiesta di completamento delle seguenti attività. In bocca al lupo!
Attività 1: scarica il codice del monolite e crea un container
-
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:
- GCR Repo: gcr.io/${GOOGLE_CLOUD_PROJECT}
- Image name:
- Image version: 1.0.0
Suggerimento:
Assicurati di inviare una build denominata
Fai clic su Controlla i miei progressi per verificare l'obiettivo.
Attività 2: crea un cluster Kubernetes ed esegui il deployment dell'applicazione
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
- Crea il cluster in questo modo:
-
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.
- Crea ed esponi il deployment nel modo seguente:
- Cluster name:
- Container name:
- Container version: 1.0.0
- Application port: 8080
- Externally accessible port: 80
- Prendi nota dell'indirizzo IP assegnato nell'operazione di esposizione del deployment. Ora dovresti essere in grado di visitare l'indirizzo IP dal tuo browser.
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.
Esegui la migrazione del monolite a 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.
Attività 3: crea nuovi microservizi
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:
- La cartella root del servizio (in cui creerai il container)
- Il repository in cui caricherai il container
- Il nome e la versione dell'artefatto container
Crea una versione containerizzata dei tuoi microservizi
Di seguito è riportato un set di servizi che devono essere containerizzati.
- Accedi alle cartelle root di origine citate in precedenza e carica gli artefatti creati in Google Container Registry con i metadati indicati:
Microservizio Orders |
|
Microservizio Products |
|
- Dopo aver containerizzato questi microservizi e aver caricato le relative immagini in GCR, devi eseguire il deployment di questi servizi ed esporli.
Suggerimento: assicurati di inviare una build denominata
Fai clic su Controlla i miei progressi per verificare l'obiettivo.
Attività 4: esegui il deployment dei nuovi microservizi
Esegui il deployment di questi nuovi container seguendo la stessa procedura utilizzata per il monolite
- Crea ed esponi i deployment nel modo seguente:
Microservizio Orders |
|
Microservizio Products |
|
NOTA: prendi nota degli indirizzi IP dei servizi Orders e Products dopo averli esposti; ti serviranno nei passaggi successivi.
- Per controllare che i deployment siano andati a buon fine e che i servizi siano stati esposti, visita gli URL seguenti nel browser:
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.
Attività 5: configura ed esegui il deployment del microservizio Frontend
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.
Riconfigura Frontend
- Usa l'editor
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:
- Sostituisci
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:
Attività 6: crea una versione containerizzata del microservizio Frontend
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.
- Service root folder: ~/monolith-to-microservices/microservices/src/frontend
- GCR Repo: gcr.io/${GOOGLE_CLOUD_PROJECT}
- Image name:
- Image version: 1.0.0
Il processo potrebbe richiedere alcuni minuti.
Suggerimento: assicurati di inviare una build denominata
Fai clic su Controlla i miei progressi per verificare l'obiettivo.
Attività 7: esegui il deployment del microservizio Frontend
Per il deployment di questo container, segui la stessa procedura utilizzata per i microservizi Orders e Products.
- Crea ed esponi il deployment nel modo seguente:
- Cluster name:
- Container name:
- Container version: 1.0.0
- Application port: 8080
- Externally accessible port: 80
- Puoi verificare che il deployment sia andato a buon fine e che i microservizi siano stati esposti correttamente usando il seguente indirizzo IP del servizio frontend nel browser:?.
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.
Complimenti!
Guadagna il tuo prossimo badge delle competenze
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.
Formazione e certificazione Google Cloud
… 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 2024 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.