Questo tutorial è rivolto a chi non ha esperienza con la creazione di app nel cloud, ad esempio ingegneri e sviluppatori web, che vogliono apprendere i concetti chiave dello sviluppo di app applicati a Cloud de Confiance by S3NS.
Obiettivi
- Scopri gli strumenti di base di Cloud de Confiance , come la consoleCloud de Confiance e
gcloud. - Eseguire il deployment dell'app in Cloud Run.
- Rendere persistenti i dati con Firestore.
- Archiviare in Cloud Storage i file caricati.
- Monitora la tua app utilizzando Google Cloud Observability.
Costi
In questo documento vengono utilizzati i seguenti componenti fatturabili di Cloud de Confiance by S3NS:
Le istruzioni riportate in questo documento sono progettate per mantenere l'utilizzo delle risorse entro i limiti del livello Always Free di Cloud de Confiance.
Al termine delle attività descritte in questo documento, puoi evitare l'addebito di ulteriori costi eliminando le risorse che hai creato. Per saperne di più, consulta Esegui la pulizia.
Prima di iniziare
-
In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Cloud de Confiance project.
-
Per creare un database Firestore in modalità Native, segui questa procedura:
-
Nella console Cloud de Confiance , vai alla pagina Crea database Firestore.
- Dalla schermata Seleziona una modalità di Cloud Firestore, fai clic su Seleziona modalità Native.
- Seleziona una località per il tuo database Firestore. Questa impostazione di localizzazione è la località delle risorse Cloud de Confiance predefinita per il tuo progetto Cloud de Confiance . Questa località viene utilizzata per i servizi Cloud de Confiance nel tuo progetto Cloud de Confiance che richiedono l'impostazione di una località, in particolare il bucket Cloud Storage predefinito e l'app Cloud Run.
- Fai clic su Crea database.
-
Nella console Cloud de Confiance , vai alla pagina Crea database Firestore.
-
Abilita le API Cloud Run Admin, Cloud Storage, Cloud Logging ed Error Reporting, se non sono già abilitate.
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre dell'autorizzazione
serviceusage.services.enable. Se hai creato il progetto, probabilmente hai già questa autorizzazione tramite il ruolo Proprietario (roles/owner). In caso contrario, puoi ottenere questa autorizzazione tramite il ruolo Amministratore Service Usage (roles/serviceusage.serviceUsageAdmin). Scopri come concedere i ruoli. -
Clona il repository di esempio e apri l'applicazione di esempio in Cloud Shell:
Vai a Cloud ShellCloud Shell fornisce l'accesso tramite riga di comando alle tue risorse Cloud de Confiance direttamente dal browser.
- Al prompt per clonare il repository, fai clic su Conferma.
-
In Cloud Shell, configura lo strumento
gcloudin modo da utilizzare il tuo nuovo progetto Cloud de Confiance :# Configure gcloud for your project gcloud config set project PROJECT_ID
Sostituisci PROJECT_ID con l'ID progetto Cloud de Confiance che hai creato utilizzando la console Cloud de Confiance .
Google Cloud CLI è il modo principale per interagire con le risorse Cloud de Confiance dalla riga di comando. In questo tutorial utilizzerai lo strumento
gcloudper eseguire il deployment dell'app e per monitorarla.
Esegui l'app
-
Installa le dipendenze dell'app utilizzando
composer:composer install -
Esegui il server web incorporato PHP:
GOOGLE_CLOUD_PROJECT=PROJECT_ID php -S localhost:8080Sostituisci PROJECT_ID con l'ID progetto Cloud de Confiance che hai creato.
- In Cloud Shell, fai clic su Anteprima web , e seleziona Anteprima sulla porta 8080. Compare una nuova finestra in cui viene eseguita l'app.
Esecuzione del deployment dell'app in Cloud Run
Cloud de Confiance offre diverse opzioni per l'esecuzione del codice. In questo esempio, esegui il deployment della tua app scalabile in Cloud Run. Cloud Run non richiede la gestione dei server e scala automaticamente per supportare i picchi di traffico.
- Esegui il deployment del container in Cloud Run:
gcloud run deploy bookshelf --region us-central1 --allow-unauthenticated \ --set-env-vars="GOOGLE_CLOUD_PROJECT=
PROJECT_ID" --source .La tua app è ora visualizzabile all'URL mostrato nell'output di
gcloud run:Service [bookshelf] revision [bookshelf-00001] has been deployed and is serving 100 percent of traffic. Service URL: https://bookshelf-swsmmh5s5a-uc.a.run.app
-
Copia l'URL nel browser web per visualizzare l'app.
Per saperne di più sul deployment in Cloud Run, consulta la documentazione di Cloud Run.
Rendi persistenti i dati con Firestore
Non puoi archiviare informazioni sulle istanze di Cloud Run poiché vengono perse al riavvio dell'istanza e non esistono quando vengono create nuove istanze. Puoi, invece, utilizzare un database in cui tutte le istanze eseguono operazioni di lettura e scrittura.
Cloud de Confiance offre diverse opzioni per l'archiviazione dei dati. In questo esempio viene utilizzato Firestore per archiviare i dati di ogni libro. Firestore è un database di documenti NoSQL serverless completamente gestito che consente di archiviare i dati e di eseguire query su di essi. Firestore si ridimensiona automaticamente per soddisfare le esigenze dell'app, con una scalabilità fino a zero quando non la utilizzi. Aggiungi il tuo primo libro.
-
Per creare un libro per l'applicazione di cui hai eseguito il deployment, fai clic su Add book (Aggiungi libro).
- Nel campo Title (Titolo), inserisci
Moby Dick. - Nel campo Author (Autore), inserisci
Herman Melville. -
Fai clic su Save (Save). Adesso esiste una voce nell'applicazione Bookshelf.
-
Nella console Cloud de Confiance , per aggiornare la pagina Firestore, fai clic su Aggiorna refresh.
I dati vengono visualizzati in Firestore. L'app Bookshelf archivia ogni libro come un documento Firestore con un ID univoco e tutti questi documenti vengono archiviati in una raccolta Firestore.
Ai fini di questo tutorial, la raccolta è chiamata "books" (libri).
Firestore archivia i libri utilizzando la libreria client di Firestore. Ecco un esempio di come recuperare un documento Firestore:
Per ulteriori informazioni sull'utilizzo di Firestore, consulta la pagina relativa all'aggiunta di dati a Firestore.
Archivia i file caricati in Cloud Storage
Dopo aver aggiunto un libro, devi aggiungere la rispettiva immagine di copertina. Non puoi archiviare i file nelle istanze. Un database non è la scelta giusta per i file immagine. Utilizza, invece, Cloud Storage.
Cloud Storage è l'archivio blob principale per Cloud de Confiance. Puoi utilizzare Cloud Storage per ospitare gli asset per app che vuoi condividere su Cloud de Confiance. Per utilizzare Cloud Storage, devi creare un bucket Cloud Storage, un container di base in cui conservare i tuoi dati.
- Nella console Cloud de Confiance , vai alla pagina Browser Cloud Storage.
- Fai clic su Crea bucket.
- Nella finestra di dialogo Crea bucket, inserisci un nome per il bucket aggiungendo l'ID progetto Cloud de Confiance alla stringa
_bucketin modo che il nome sia simile aYOUR_PROJECT_ID_bucket. Questo nome è soggetto ai requisiti per i nomi dei bucket. Puoi lasciare invariati i valori predefiniti di tutti gli altri campi. - Fai clic su Crea.
- Una volta creato il bucket, gli oggetti devono essere resi accessibili pubblicamente per poter essere visualizzati dagli utenti. Per rendere gli oggetti accessibili pubblicamente, consulta la pagina Rendere pubblici i dati.
-
Fai clic su Edit book (Modifica libro) e seleziona un'immagine da caricare come copertina del libro. Ad esempio, puoi utilizzare questa immagine di dominio pubblico:
-
Fai clic su Save (Salva). Viene visualizzata la
home page, dove è presente una voce per la tua app Bookshelf.
L'app Bookshelf invia i file caricati a Cloud Storage utilizzando la libreria client di Cloud Storage.
Per saperne di più sull'utilizzo di Cloud Storage, consulta l'introduzione a Cloud Storage.
Monitora la tua app utilizzando Google Cloud Observability
Hai eseguito il deployment dell'app e hai creato e modificato i libri. Per monitorare questi eventi per i tuoi utenti, utilizza gestione delle prestazioni delle applicazioni (APM).
Monitorare i log con Cloud Logging
-
In Cloud de Confiance, vai a Esplora log
Vai a Esplora logPuoi monitorare l'app in tempo reale. Se hai problemi con la tua app, questo è uno dei primi posti in cui cercare.
- Nell'elenco a discesa Risorsa, seleziona Revisione Cloud Run, Bookshelf.
Monitora gli errori con Error Reporting
-
Nella console Cloud de Confiance , vai alla pagina Error Reporting.
Vai alla pagina Error Reporting
Error Reporting evidenzia gli errori e le eccezioni nella tua app e ti consente di configurare i relativi avvisi. -
Nel browser, accedi all'URL
/errorsnell'applicazione
.YOUR_CLOUD_RUN_URL/errors
In questo modo viene generata una nuova eccezione di test che viene inviata a Google Cloud Observability.
-
Nella console Cloud de Confiance , torna alla pagina Error Reporting. Dopo qualche istante, il nuovo errore sarà visibile. Fai clic su Ricaricamento automatico per non dover aggiornare manualmente la pagina.
Esegui la pulizia
Per evitare che al tuo Account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questo tutorial, elimina il progetto che contiene le risorse oppure mantieni il progetto ed elimina le singole risorse.
Elimina il progetto
- Nella console Cloud de Confiance , vai alla pagina Gestisci risorse.
- Nell'elenco dei progetti, seleziona il progetto che vuoi eliminare, quindi fai clic su Elimina.
- Nella finestra di dialogo, digita l'ID progetto, quindi fai clic su Chiudi per eliminare il progetto.