Hosting di siti web

Last reviewed 2024-06-11 UTC

Questo articolo illustra come ospitare un sito web su Google Cloud. Google Cloud offre una piattaforma solida, flessibile, affidabile e scalabile per la pubblicazione di siti web. Google ha creato Google Cloud utilizzando lo stesso infrastruttura che Google utilizza per pubblicare contenuti da siti come Google.com, YouTube e Gmail. Puoi ospitare i contenuti del tuo sito web utilizzando il tipo e progettazione dell'infrastruttura più adatta alle tue esigenze.

Questo articolo potrebbe esserti utile se:

  • Conoscenza di come creare un sito web, inoltre ha eseguito il deployment e ne ha eseguito infrastruttura di hosting web.
  • Valutare se e come eseguire la migrazione del sito a Google Cloud.

Se vuoi creare un sito web semplice, valuta la possibilità di utilizzare Google Sites, uno strumento strutturato di creazione di wiki e pagine web. Per ulteriori informazioni, visita Guida di Sites.

Scelta di un'opzione

Se non hai mai utilizzato Google Cloud, è un approccio ragionevole utilizzando il tipo di tecnologia con cui hai già familiarità. Per Ad esempio, se al momento utilizzi server hardware o macchine virtuali (VM) per ospitare sul tuo sito, magari con un altro cloud provider o con il tuo hardware, Compute Engine offre un'esperienza paradigma per te. Se usi già un'offerta PaaS (Platform as a Service), come Heroku o Engine Yard, App Engine potrebbe essere il punto di partenza migliore. Se preferisci il serverless computing, Cloud Run probabilmente è una buona opzione per te.

Dopo aver acquisito familiarità con Google Cloud, potrai esplorare la varietà dei prodotti e dei servizi offerti da Google Cloud. Ad esempio: se hai iniziato con Compute Engine, potresti aumentare le capacità del sito utilizzando Google Kubernetes Engine (GKE) o migrare alcune o tutte le funzionalità in App Engine e in Cloud Run.

La tabella seguente riassume le opzioni di hosting su Google Cloud:

Opzione Prodotto Archiviazione dei dati Bilanciamento del carico Scalabilità Logging e monitoraggio
Sito web statico

Cloud Storage

Firebase Hosting

Bucket Cloud Storage

HTTP(S) facoltativo

Automaticamente

Cloud Logging

Cloud Monitoring

Macchine virtuali Compute Engine

Cloud SQL, Cloud Storage, Firestore e Bigtable oppure puoi usare un altro fornitore di archiviazione esterno.

Dischi permanenti basati su disco rigido, denominati dischi permanenti standard dischi permanenti e dischi permanenti a stato solido (SSD).

HTTP(S)

Proxy TCP

Proxy SSL

Terminazione IPv6

Rete

Tra regioni

Interno

Automaticamente con i gruppi di istanze gestite

Cloud Logging

Cloud Monitoring

Monitoraggio console

Container GKE Simile a Compute Engine, ma interagisce con i dischi permanenti in modo diverso

Rete

HTTP(S)

Gestore della scalabilità automatica dei cluster

Cloud Logging

Cloud Monitoring

Monitoraggio console

Piattaforma gestita

App Engine

Servizi Google Cloud come Cloud SQL, Firestore, Cloud Storage e database di terze parti accessibili

HTTP(S)

Gestito da Google

Gestito da Google

Cloud Logging

Cloud Monitoring

Monitoraggio console

Serverless

Cloud Run

Servizi Google Cloud come Cloud SQL, Firestore, Cloud Storage e database di terze parti accessibili

HTTP(S)

Gestito da Google

Gestito da Google

Cloud Logging

Cloud Monitoring

Monitoraggio console

Questo articolo può aiutarti a comprendere le tecnologie principali che puoi utilizzare per l'hosting web su Google Cloud e dare un'occhiata il funzionamento delle tecnologie. L'articolo fornisce link alla documentazione completa, tutorial e articoli sulle soluzioni, che possono aiutarti a comprendere meglio, quando è tutto pronto.

Informazioni sui costi

Ci sono così tante variabili e ogni implementazione è diversa, esula dall'ambito di questo articolo fornire consigli specifici sui costi. A comprendere i principi di Google relativi al funzionamento dei prezzi su Google Cloud, vedi la pagina dei prezzi. Per comprendere i prezzi dei singoli servizi, consulta i prezzi dei prodotti . Puoi utilizzare anche Calcolatore prezzi per stimare il potenziale utilizzo di Google Cloud. Puoi fornire i dettagli dei servizi che vuoi usare e vedere una stima dei prezzi.

Configurazione dei servizi dei nomi di dominio

In genere, è consigliabile registrare un nome di dominio per il sito. Puoi utilizzare uno dei seguenti registrar dei nomi di dominio pubblico per registrare un nome univoco per il tuo sito. Se vuoi il controllo completo della tua DNS (Domain Name System), puoi utilizzare Cloud DNS come provider DNS. La La documentazione di Cloud DNS include una guida rapida per ottenere parteciperai.

Se vuoi utilizzare un provider DNS esistente, di solito devi creare un paio di record con quel provider. Per un nome di dominio come example.com, crei un record A con il tuo provider DNS. Per www.example.com sottodominio, crei un record CNAME per www per puntare al dominio example.com. Il record A mappa un nome host a un indirizzo IP. Il record CNAME crea un alias per il record A.

Se il registrar dei nomi di dominio è anche il tuo provider DNS, probabilmente che devono fare. Se utilizzi provider separati per la registrazione e il DNS, assicurati che il tuo registrar dei nomi di dominio abbia i server dei nomi corretti associati il tuo dominio.

Dopo aver apportato le modifiche al DNS, gli aggiornamenti dei record possono richiedere del tempo si propagano a seconda dei valori di durata (TTL) nella zona. Se si tratta di un nuovo nome host, le modifiche entrano in vigore rapidamente poiché i resolver non hanno valori precedenti memorizzati nella cache e possono contattare il provider DNS per ottenere le informazioni necessarie per indirizzare le richieste.

Hosting di un sito web statico

Il modo più semplice per pubblicare contenuti di un sito web tramite HTTP(S) è ospitare pagine web statiche. Vengono pubblicate pagine web statiche invariate, così come sono state scritte, solitamente tramite HTML. Uso di un sito web statico è una buona opzione se le pagine del tuo sito raramente cambiano dopo che sono pubblicati, ad esempio post di blog o pagine appartenenti a piccole aziende sito web. Puoi fare molto con le pagine web statiche, ma se hai bisogno che il tuo sito interazioni con gli utenti tramite codice lato server, dovresti prendi in considerazione le altre opzioni illustrate in questo articolo.

Hosting di un sito web statico con Cloud Storage

Per ospitare un sito statico in Cloud Storage, devi creare un Bucket Cloud Storage, caricare i contenuti e testare il nuovo sito. Puoi pubblicare i dati direttamente da storage.googleapis.com, oppure puoi verificare la proprietà del dominio e utilizza il tuo nome di dominio.

Puoi creare le pagine web statiche come preferisci. Ad esempio, potresti creare manualmente le pagine utilizzando HTML e CSS. Puoi usare un generatore di siti statico, come Jekyll Fantasma o Hugo, per creare i contenuti. Con i generatori di siti statici puoi creare un sito web statico authoring in markdown, e fornendo modelli e strumenti. Generatori di siti in genere fornire un server web locale che puoi utilizzare per visualizzare l'anteprima dei tuoi contenuti.

Una volta che il sito statico funziona, puoi aggiornare le pagine statiche utilizzando il processo che preferisci. Questo processo può essere semplice come copiare a mano un aggiornata al bucket. Potresti scegliere di usare un approccio più automatizzato ad esempio l'archiviazione dei contenuti su GitHub e l'utilizzo di un webhook di eseguire un che aggiorna il bucket. Un sistema ancora più avanzato potrebbe utilizzare di integrazione continua/distribuzione continua (CI/CD), come Jenkins di aggiornare i contenuti nel di sincronizzare la directory di una VM con un bucket. Jenkins dispone di Cloud Storage plug-in che fornisce un passaggio post-build Google Cloud Storage Uploader per pubblicare la build gli artefatti in Cloud Storage.

Se hai un'app web che deve pubblicare contenuti statici o contenuti statici caricati dagli utenti, Cloud Storage può essere un modo efficiente di ospitare e pubblicare questi contenuti, riducendo al contempo la quantità richieste dinamiche alla tua app web.

Inoltre, Cloud Storage può accettare direttamente i contenuti inviati dagli utenti. Questa funzionalità consente agli utenti di caricare file multimediali di grandi dimensioni direttamente e in modo sicuro senza attraverso i tuoi server.

Per ottenere il massimo rendimento dal tuo sito web statico, consulta Best practice per Cloud Storage.

Per ulteriori informazioni, consulta le seguenti pagine:

Hosting di un sito web statico con Firebase Hosting

Firebase Hosting offre un hosting statico rapido e sicuro per la tua app web. Con Firebase Hosting ti permette di eseguire il deployment di app web e contenuti statici a una rete CDN (Content Delivery Network) globale tramite un singolo comando.

Ecco alcuni vantaggi che ottieni utilizzando Firebase Hosting:

  • SSL a configurazione zero è integrato in Firebase Hosting. Esegue il provisioning di SSL certificati su domini personalizzati gratuitamente.
  • Tutti i tuoi contenuti vengono pubblicati tramite HTTPS.
  • I contenuti vengono forniti agli utenti dai lati CDN attorno allo nel mondo.
  • Con l'interfaccia a riga di comando di Firebase, puoi rendere la tua app operativa in pochi secondi. Utilizza gli strumenti a riga di comando per aggiungere le destinazioni di deployment nel processo di compilazione.
  • Offre funzionalità di gestione delle release, come il deployment atomico di nuovi asset, controllo completo delle versioni e rollback con un solo clic.
  • Hosting offre una configurazione utile per le app con pagina singola e altri siti simili alle app.
  • Hosting è progettato per essere utilizzato senza problemi con altre funzionalità di Firebase.

Per ulteriori informazioni, consulta le seguenti pagine:

Utilizzo delle macchine virtuali con Compute Engine

Per i casi d'uso di Infrastructure as a Service (IaaS), Google Cloud fornisce Compute Engine. Compute Engine offre una solida struttura dell'infrastruttura, ma devi scegliere e configurare i componenti della piattaforma che vuoi utilizzare. Con Compute Engine, è tua responsabilità configurare, amministrare e monitorare i sistemi. Google garantisce che le risorse disponibili, affidabili e pronti all'uso, ma la scelta il provisioning e la gestione. Il vantaggio, in questo caso, è che hai a disposizione il controllo dei sistemi e la flessibilità illimitata.

Usa Compute Engine per progettare ed eseguire il deployment di quasi tutti i servizi di hosting di siti web il sistema desiderato. Puoi utilizzare le VM, instances, per creare proprio come se avessi un'infrastruttura hardware personale. Compute Engine offre una varietà di tipi per personalizzare per soddisfare le tue esigenze e il tuo budget. Puoi scegliere quali sistemi operativi sistemi, stack di sviluppo, linguaggi, framework, servizi e altri software le tecnologie che preferisci.

Configurazione automatica con Google Cloud Marketplace

Il modo più semplice per eseguire il deployment di uno stack di web hosting completo è utilizzare Google Cloud Marketplace. Con pochi clic puoi eseguire il deployment di una qualsiasi delle oltre 100 soluzioni completamente realizzate con Google click-to-deploy o Bitnami.

Cloud Marketplace

Ad esempio, puoi configurare una LAMP pila o WordPress con Cloud Marketplace. Il sistema esegue il deployment di una in pochi minuti su una singola istanza. Prima del deployment, Cloud Marketplace mostra le stime dei costi per che eseguono il sito, ti dà informazioni chiare su quali versioni del software componenti che installa per te e ti consente di personalizzare la configurazione modificando i nomi delle istanze dei componenti, scegliendo il tipo di macchina e scegliendo dimensioni del disco. Dopo il deployment, hai il controllo completo le istanze di Compute Engine, le relative configurazioni e il software.

Configurazione manuale

Puoi anche creare la tua infrastruttura su Compute Engine manualmente, creando la tua configurazione da zero o creando il deployment di Google Cloud Marketplace. Ad esempio, potresti voler utilizzare una la versione di un componente software non offerta da Cloud Marketplace; oppure forse preferisci installare e configurare tutto in autonomia.

Fornire un framework completo e best practice per la creazione di un sito web è che esulano dall'ambito di questo articolo. Ma da un punto di vista generale, il lato tecnico la configurazione di un'infrastruttura di web hosting su Compute Engine richiede che tu:

  • Comprendi i requisiti. Se stai creando un nuovo sito web, assicurati comprendi i componenti di cui hai bisogno, come istanze, esigenze di archiviazione e la tua infrastruttura di rete. Se esegui la migrazione dell'app da un già esistente, probabilmente conosci già questi requisiti, ma devi pensare a come la tua configurazione esistente viene mappata Servizi Google Cloud.
  • Pianifica la progettazione. Pensa alla tua architettura e annota il tuo la progettazione. Cerca di essere il più esplicito possibile.
  • Crea i componenti. I componenti che solitamente consideri risorse fisiche, come computer e switch di rete, attraverso i servizi di Compute Engine. Ad esempio, se vuoi che una devi creare un'istanza Compute Engine. Se vuoi un disco rigido permanente, puoi creare anche questo. Gli strumenti Infrastructure as Code, come Terraform, rendono questo processo facile e ripetibile.
  • Configura e personalizza. Dopo aver ottenuto i componenti necessari, doverli configurare, installare e configurare il software, nonché scrivere ed eseguire il codice di personalizzazione di cui hai bisogno. Puoi replicare la configurazione eseguendo script shell, contribuendo a velocizzare i deployment futuri. Anche in questo caso Terraform è utile, fornendo modelli di configurazione flessibili per il deployment automatico delle risorse. Tu sfruttare anche strumenti di automazione IT come Burattino e Cuoco.
  • Implementa gli asset. Presumibilmente hai pagine web e immagini.
  • Prova. Verifica che tutto funzioni come previsto.
  • Esegui il deployment in produzione. Rendi il tuo sito visibile e utilizzato da tutti.

Archiviazione dei dati con Compute Engine

La maggior parte dei siti web richiede un qualche tipo di spazio di archiviazione. Potrebbe essere necessario spazio di archiviazione per motivi, come il salvataggio dei file caricati dagli utenti e, naturalmente, gli asset utilizzati dal tuo sito.

Google Cloud offre una varietà di servizi di archiviazione gestiti, tra cui:

  • Un database SQL in Cloud SQL, un servizio di database relazionale completamente gestito per MySQL, PostgreSQL e SQL Server.
  • Due opzioni per l'archiviazione dei dati NoSQL: Firestore e Bigtable.
  • Memorystore, un servizio di datastore in memoria completamente gestito per Redis e Memcached.
  • Archiviazione di oggetti coerente, scalabile e di grande capacità in Cloud Storage. Cloud Storage è disponibile in diverse classi:
    • L'opzione Standard offre la massima disponibilità.
    • Nearline è una scelta a basso costo ideale per i dati a cui si accede meno di una volta al mese.
    • Coldline offre una scelta a basso costo ideale per i dati a cui si accede meno di una volta al trimestre.
    • Archive offre la scelta più economica per l'archiviazione, il backup ripristino di emergenza.
  • Dischi permanenti su Compute Engine da utilizzare come spazio di archiviazione principale per le tue istanze. Compute Engine offre Entrambi i dischi permanenti basati su disco rigido, denominati dischi permanenti standard, e dischi permanenti a stato solido (SSD). Puoi anche scegliere di configurare la tua tecnologia di archiviazione preferita su Compute Engine, usando i dischi permanenti. Ad esempio, puoi configurare PostgreSQL come database SQL MongoDB come spazio di archiviazione NoSQL. Per comprendere l'intera gamma e i vantaggi dello spazio di archiviazione su Google Cloud, vedi Scelta di un'opzione di archiviazione.

Bilanciamento del carico con Compute Engine

Per qualsiasi sito web che opera su larga scala, l'utilizzo di tecnologie di bilanciamento del carico per di distribuire il carico di lavoro tra i server è spesso un requisito. Hai una varietà di opzioni per la progettazione di server web con bilanciamento del carico Compute Engine, tra cui:

Il deployment del bilanciamento del carico è flessibile e puoi utilizzare Compute Engine con le tue soluzioni esistenti. Ad esempio: Bilanciamento del carico HTTP(S) con Nginx una possibile soluzione che puoi usare al posto di Compute Engine con il bilanciatore del carico di rete passthrough esterno regionale.

Distribuzione di contenuti con Compute Engine

Perché il tempo di risposta è una metrica fondamentale per qualsiasi sito web, l'utilizzo di una rete CDN per una minore latenza e un aumento delle prestazioni sono spesso un requisito, soprattutto per un sito con traffico web globale.

Cloud CDN utilizza il servizio di Google distribuito a livello globale punti di presenza (POP) perimetrali per distribuire contenuti dalle posizioni della cache più vicine a utenti. Cloud CDN utilizza il bilanciamento del carico HTTP(S). Per pubblicare contenuti da Compute Engine, Cloud Storage o entrambi da un unico IP indirizzo, abilita Cloud CDN per un bilanciatore del carico HTTP(S).

Scalabilità automatica con Compute Engine

Puoi configurare la tua architettura in modo da aggiungere e rimuovere server la domanda può variare. Questo approccio può aiutarti a garantire che il tuo sito abbia un buon rendimento sotto i picchi di carico, mantenendo i costi sotto controllo durante i periodi di domanda più tipici cicli. Compute Engine fornisce un gestore della scalabilità automatica che non ha uno scopo specifico.

La scalabilità automatica è una funzionalità gruppi di istanze gestite. Un gruppo di istanze gestite è un pool di istanze di macchine virtuali omogenee, da un modello di istanza comune. Un gestore della scalabilità automatica aggiunge o rimuove istanze in un gruppo di istanze gestite. Sebbene Compute Engine ha gruppi di istanze gestite e non gestite, utilizzare solo gruppi di istanze gestite con un gestore della scalabilità automatica. Per ulteriori informazioni, vedi con scalabilità automatica su Compute Engine.

Per un'analisi approfondita di ciò che serve per creare un'app web scalabile e resiliente per la risoluzione dei problemi, consulta Creazione di app web scalabili e resilienti.

Logging e monitoraggio con Compute Engine

Google Cloud include funzionalità che puoi usare per tenere sotto controllo che accade con il tuo sito web.

Cloud Logging raccoglie e archivia i log di app e servizi su Google Cloud. Puoi visualizzare o esportare i log e integrare quelli di terze parti utilizzando un un agente.

Logging

Cloud Monitoring fornisce dashboard avvisi per il tuo sito. Puoi configurare Monitoring con Console Google Cloud. Puoi esaminare le metriche delle prestazioni per i servizi cloud, macchine virtuali e server open source più comuni come MongoDB, Apache, Nginx, ed Elasticsearch. Puoi utilizzare l'API Cloud Monitoring per recuperare monitorare i dati e creare metriche personalizzate.

Cloud Monitoring fornisce anche controlli di uptime, che inviano richieste ai tuoi siti web per vedere se rispondono. Puoi monitorare la disponibilità del sito web mediante il deployment di un criterio di avviso che crea un incidente se il controllo di uptime non va a buon fine.

Gestione di DevOps con Compute Engine

Per informazioni sulla gestione di DevOps con Compute Engine, vedi Test di carico distribuito con Kubernetes.

Utilizzo dei container con GKE

Forse stai già utilizzando container, ad esempio Docker containerizzati. Per l'hosting web, i container offrono diversi vantaggi, tra cui:

  • Componentizzazione. Puoi usare i container per separare i vari della tua app web. Ad esempio, supponiamo che il tuo sito utilizzi un sito web un server web e un database. Puoi eseguire questi componenti in container separati, Modificare e aggiornare un componente senza influire sull'altro. Come tuo di progettazione di un'app più complessa, i container sono perfetti per orientata ai servizi, tra cui microservizi. Tra gli altri obiettivi, questo tipo di progettazione supporta la scalabilità.
  • Portabilità. Un container ha tutto ciò che serve per eseguire: la tua app e le sue dipendenze sono in bundle. Puoi eseguire i container su una una varietà di piattaforme, senza doversi preoccupare dei dettagli di sistema sottostanti.
  • Implementazione rapida. Al momento del deployment, il sistema viene creato da una un set di definizioni e immagini, per eseguire rapidamente il deployment delle parti. in modo affidabile e automatico. I container sono in genere di piccole dimensioni e il deployment più rapidamente rispetto, ad esempio, alle macchine virtuali.

Il container computing su Google Cloud offre ancora più vantaggi per il web di hosting, tra cui:

  • Orchestrazione. GKE è un servizio gestito basato su Kubernetes il sistema open source di orchestrazione dei container introdotto da Google. Con GKE, il codice viene eseguito in container che fanno parte di un cluster composto da istanze di Compute Engine. Invece di per l'amministrazione di singoli container o la creazione e l'arresto di manualmente, puoi gestire il cluster automaticamente GKE, che utilizza la configurazione da te definita.
  • Registrazione delle immagini. Container Registry o Artifact Registry offre spazio di archiviazione privato per le immagini Docker su Google Cloud. Puoi accedi al registry tramite un protocollo HTTPS di eseguire il pull delle immagini da qualsiasi macchina, che si tratti di un su un'istanza Compute Engine o sul tuo hardware. Il servizio di registro che ospita le tue immagini personalizzate in Cloud Storage nel progetto Google Cloud. Questo approccio garantisce, per impostazione predefinita, che le tue immagini personalizzate siano accessibili solo dalle entità che hanno accesso al tuo progetto.
  • Mobilità. Ciò significa che hai la flessibilità di spostare e combinare carichi di lavoro con altri cloud provider o combinare carichi di lavoro di cloud computing con implementazioni on-premise per creare una soluzione ibrida.

Archiviazione dei dati con GKE

Poiché GKE viene eseguito su Google Cloud, le istanze Compute Engine come nodi, lo spazio di archiviazione hanno molto in comune con su Compute Engine. Puoi accedere a Cloud SQL, Cloud Storage, Firestore, e Bigtable tramite le API, oppure puoi usare un altro fornitore di archiviazione esterno, se preferisci. Tuttavia, GKE interagisce con Compute Engine dei tuoi dischi permanenti rispetto a una normale istanza Compute Engine.

Un'istanza Compute Engine include un disco collegato. Quando utilizzi Compute Engine, finché l'istanza esiste, il volume del disco rimane con l'istanza. Puoi anche scollegare il disco e utilizzarlo con un in esecuzione in un'istanza Compute Engine. In un container, invece, i file su disco sono temporanei. Quando un container ad esempio in seguito a un arresto anomalo, i file su disco vengono persi. Kubernetes risolve questo problema utilizzando volume e Classe di archiviazione astrazioni. Un tipo di classe di archiviazione è GCE PD Ciò significa che puoi utilizzare i dischi permanenti di Compute Engine con i container impedire che i file di dati vengano eliminati quando utilizzi GKE.

Per comprendere le funzionalità e i vantaggi di un volume, è necessario innanzitutto conoscere un po' sui pod. Puoi pensare a un pod come a un host logico specifico dell'app per uno o più container. Un pod viene eseguito su un nodo in esecuzione in un'istanza Compute Engine. Quando i container sono membri di un pod, possono condividere delle risorse, tra cui un insieme di volumi di archiviazione condivisa. Questi volumi consentono ai dati per sopravvivere ai riavvii dei container e per essere condivisi tra i container all'interno pod. Naturalmente, puoi anche utilizzare un singolo container e volume in un pod, ma è un'astrazione necessaria per collegare logicamente queste risorse e l'altro.

Per un esempio, consulta il tutorial Utilizzo di dischi permanenti con WordPress e MySQL.

Bilanciamento del carico con GKE

Molte grandi architetture di web hosting devono avere più server in esecuzione possono condividere le richieste di traffico. Poiché puoi creare e gestire più di container, nodi e pod con GKE, è una scelta per un sistema di web hosting con bilanciamento del carico.

Utilizzo del bilanciamento del carico di rete

Il modo più semplice per creare un bilanciatore del carico in GKE è usare di Compute Engine del carico di rete. Il bilanciamento del carico di rete può bilanciare il carico dei sistemi in base all'orario in entrata dati relativi al protocollo internet, come indirizzo, porta e tipo di protocollo. Rete il bilanciamento del carico utilizza regole di forwarding. Queste regole puntano a pool di destinazione che elenca le istanze disponibili per il bilanciamento del carico.

Con il bilanciamento del carico di rete, puoi bilanciare il carico aggiuntivo basato su TCP/UDP come il traffico SMTP e la tua app può controllare direttamente i pacchetti.

Puoi eseguire il deployment del bilanciamento del carico di rete semplicemente aggiungendo type: LoadBalancer al file di configurazione del servizio.

Utilizzo del bilanciamento del carico HTTP(S)

Se hai bisogno di funzionalità di bilanciamento del carico più avanzate, ad esempio HTTPS, basato sui contenuti o tra regioni, puoi integrare con il protocollo HTTP/HTTPS di Compute Engine di bilanciamento del carico. Kubernetes fornisce Risorsa in entrata che incapsula una raccolta di regole per il routing il traffico esterno verso gli endpoint Kubernetes. In GKE, viene eseguita La risorsa Ingress gestisce il provisioning e la configurazione di Compute Engine HTTP/HTTPS.

Per ulteriori informazioni sull'utilizzo del bilanciamento del carico HTTP/HTTPS in per GKE, consulta Configurazione del bilanciamento del carico HTTP con Ingress.

Scalabilità con GKE

Per il ridimensionamento automatico dei cluster, puoi utilizzare il gestore della scalabilità automatica del cluster. Questo verifica periodicamente se sono presenti pod in attesa nodo con risorse gratuite, ma che non sono pianificati. Se esistono questi pod, il gestore della scalabilità automatica ridimensiona il pool di nodi se il ridimensionamento consente ai pod in attesa di essere pianificati.

Il gestore della scalabilità automatica del cluster monitora anche l'utilizzo di tutti i nodi. Se un nodo non è necessario per un periodo di tempo prolungato e tutti i suoi pod possono essere pianificati in un'altra posizione, il nodo viene eliminato.

Per saperne di più sul gestore della scalabilità automatica del cluster, sui suoi limiti consulta le best practice Documentazione del gestore della scalabilità automatica dei cluster.

Logging e monitoraggio con GKE

Come su Compute Engine, Logging e Monitoraggio fornire i tuoi servizi di logging e monitoraggio. Logging raccoglie e archivia i log di app e servizi. Tu può visualizzare o esportare i log e integrare log di terze parti utilizzando un agente Logging.

Monitoring fornisce dashboard e avvisi per nel tuo sito. Puoi configurare Monitoring con Console Google Cloud. Puoi rivedere metriche delle prestazioni per servizi cloud, macchine virtuali e i modelli open source più comuni come MongoDB, Apache, Nginx ed Elasticsearch. Puoi utilizzare lo l'API Monitoring per recuperare i dati di monitoraggio e creare metriche di valutazione.

Gestione di DevOps con GKE

Quando utilizzi GKE, ottieni già molte delle è un vantaggio per la maggior parte delle persone quando pensa a DevOps. Ciò è particolarmente vero per quanto riguarda la facilità di pacchettizzazione, deployment e gestione. Per CI/CD per soddisfare le esigenze dei tuoi flussi di lavoro, puoi sfruttare gli strumenti creati per il cloud, come Cloud Build, e Cloud Deploy, o popolari come Jenkins. Per ulteriori informazioni, consulta seguenti articoli:

Creazione su una piattaforma gestita con App Engine

Su Google Cloud, la soluzione Platform as a Service (PaaS) gestita è chiamata App Engine Quando crei il tuo sito web su App Engine, ottieni di concentrarsi sulla programmazione delle tue funzionalità e lasciare che Google si occupi di gestire dell'infrastruttura di supporto. App Engine offre una vasta gamma di funzionalità che semplificano la scalabilità, il bilanciamento del carico, il logging, il monitoraggio e la sicurezza di doverli creare e gestire personalmente. App Engine ti consente codice in una varietà di linguaggi di programmazione e può utilizzare una e altri servizi Google Cloud.

App Engine fornisce l'ambiente standard, che ti consente di eseguire le app in un ambiente sicuro con sandbox. Lo standard di App Engine distribuisce equamente le richieste su più server e ne scala per soddisfare le esigenze di traffico. La tua app viene eseguita nel suo ambiente sicuro e affidabile indipendentemente dall'hardware, dal sistema operativo o dalla posizione fisica o server web.

L'app web utilizza App Engine e altri componenti

Per offrirti più opzioni, App Engine offre l'ambiente flessibile. Quando utilizzi l'ambiente flessibile, l'app viene eseguita in una configurazione le istanze di Compute Engine, ma App Engine gestisce le istanze dell'ambiente di rete. Ciò significa che puoi usare runtime aggiuntivi, runtime personalizzati, per una scelta più ampia dei linguaggi di programmazione. Puoi anche della flessibilità offerta da Compute Engine, ad esempio e potrai scegliere tra una vasta gamma di opzioni di CPU e memoria.

Linguaggi di programmazione

L'ambiente standard di App Engine fornisce runtime predefiniti e scrivere il codice sorgente in versioni specifiche lingue di programmazione supportati.

Con l'ambiente flessibile, scrivi codice sorgente in una versione di qualsiasi dei lingue di programmazione supportati. Tu puoi personalizzare questi runtime o fornire il tuo runtime con un o Dockerfile.

Se il linguaggio di programmazione che utilizzi rappresenta una delle principali preoccupazioni, devi decidere se i runtime forniti dall'ambiente standard di App Engine ai tuoi requisiti. Se non lo fanno, è consigliabile utilizzare l'ambiente flessibile.

Per determinare quale ambiente soddisfa meglio le esigenze della tua app, consulta Scelta di un ambiente App Engine.

Tutorial introduttivi per lingua

I tutorial seguenti possono aiutarti a iniziare a utilizzare lo standard App Engine questo ambiente:

I tutorial seguenti possono aiutarti a iniziare a utilizzare l'ambiente flessibile:

Archiviazione dei dati con App Engine

App Engine offre opzioni per l'archiviazione dei dati:

Nome Strutturazione Coerenza
Firestore Senza schema Coerenza elevata.
Cloud SQL Relazionale Coerenza elevata.
Cloud Storage File e metadati associati Elevata coerenza, tranne quando si eseguono operazioni di elenco che generano un elenco di bucket o oggetti.

Puoi anche utilizzare diversi database di terze parti all'ambiente standard.

Per maggiori dettagli sullo spazio di archiviazione in App Engine, vedi Scegliere un'opzione di archiviazione: e seleziona la programmazione che preferisci lingua.

Quando utilizzi l'ambiente flessibile, puoi usare lo stesso spazio di archiviazione possibili dell'ambiente standard, mentre una gamma più ampia anche dei database di terze parti. Per maggiori informazioni informazioni sui database di terze parti nell'ambiente flessibile, consulta Utilizzo di database di terze parti.

Bilanciamento del carico e scalabilità automatica con App Engine

Per impostazione predefinita, App Engine instrada automaticamente le richieste in entrata le istanze di backend appropriate ed esegue il bilanciamento del carico per te. Tuttavia, se vuoi sfruttare le funzionalità complete di Google Cloud, di bilanciamento del carico HTTP(S) di livello enterprise, puoi utilizzare gruppi di endpoint di rete serverless.

Per la scalabilità, App Engine può creare e arrestare automaticamente le istanze in base alle fluttuazioni del traffico oppure puoi specificare il numero di istanze da eseguire della quantità di traffico.

Logging e monitoraggio con App Engine

In App Engine, le richieste vengono registrate automaticamente e puoi visualizzarle nella console Google Cloud. App Engine funziona anche librerie standard specifiche per i linguaggi che forniscono funzionalità di logging e inoltra le voci di log ai log della console Google Cloud. Ad esempio: in Python puoi utilizzare il modulo di logging Python standard in Java puoi integrare l'appendice logback o java.util.logging con Cloud Logging. Questo approccio abilita tutte le funzionalità di Cloud Logging e richiede solo poche righe di codice specifico di Google Cloud.

Cloud Monitoring offre funzionalità per il monitoraggio le app di App Engine. Tramite la console Google Cloud, puoi monitorare incidenti, controlli di uptime e altri dettagli.

Creazione su una piattaforma serverless con Cloud Run

Il server serverless di Google Cloud consente di scrivere il codice nel modo che preferisci, senza preoccuparti della struttura sottostante dell'infrastruttura. Puoi creare applicazioni serverless full stack con spazio di archiviazione, database, machine learning e altro di Google Cloud.

Per i siti web containerizzati, puoi anche eseguirne il deployment Cloud Run oltre a utilizzare GKE. Cloud Run è una piattaforma serverless completamente gestita che ti consente di eseguire e scalabili su applicazioni containerizzate su Google Cloud. Paghi solo per il tempo di esecuzione del codice.

Utilizzando i container con Cloud Run, puoi sfruttare tecnologie mature come Nginx, Express.js e Django per creare i tuoi siti web, accedere al tuo database SQL su Cloud SQL ed eseguire il rendering pagine HTML dinamiche.

La documentazione di Cloud Run include un guida rapida per iniziare.

Archiviazione dei dati con Cloud Run

I container Cloud Run sono temporanei e devi conoscerne quote e limiti per i tuoi casi d'uso. I file possono essere archiviati temporaneamente per essere elaborati in un contenitore ma questo spazio di archiviazione esce dalla memoria disponibile per il servizio descritto nel contratto di runtime.

Per l'archiviazione permanente, come nel caso di App Engine, puoi scegliere servizi Google Cloud come Cloud Storage, Firestore o Cloud SQL. In alternativa, puoi anche utilizzare una soluzione di archiviazione di terze parti.

Bilanciamento del carico e scalabilità automatica con Cloud Run

Per impostazione predefinita, quando crei su Cloud Run, questo instrada automaticamente alle richieste in entrata ai container di backend appropriati ed eseguono il bilanciamento del carico per te. Tuttavia, se vuoi sfruttare le funzionalità complete di Google Cloud, di bilanciamento del carico HTTP(S) di livello enterprise, puoi utilizzare gruppi di endpoint di rete serverless.

Con il bilanciamento del carico HTTP(S), puoi abilitare Cloud CDN o gestire il traffico da più regioni. Inoltre, puoi utilizzare un middleware come API Gateway per migliorare il tuo servizio.

Per Cloud Run, Google Cloud gestisce la scalabilità automatica delle istanze di container per te. Ogni revisione viene scalato automaticamente al numero di istanze container necessario per gestire a tutte le richieste in arrivo. Quando una revisione non riceve traffico, per impostazione predefinita con lo scale up a zero istanze di container. Tuttavia, se vuoi, puoi modifica questa impostazione predefinita per specificare che un'istanza deve essere mantenuta inattiva o tiepida utilizzando l'impostazione del numero minimo di istanze.

Logging e monitoraggio con Cloud Run

Cloud Run include due tipi di log, che vengono inviate a Cloud Logging:

  • Log delle richieste: log delle richieste inviate ai servizi Cloud Run. Questi log vengono creati automaticamente.
  • Log dei container: log emessi dalle istanze di container, in genere dalle il tuo codice, scritto nelle località supportate come descritto in Scrittura dei log dei container.

Puoi visualizzare i log relativi al tuo servizio in due modi:

  • Utilizza la pagina Cloud Run nella console Google Cloud.
  • Utilizza Esplora log di Cloud Logging nella console Google Cloud.

Entrambi questi metodi di visualizzazione esaminano gli stessi log archiviati Cloud Logging, ma Esplora log fornisce più dettagli e più funzionalità di filtro.

Cloud Monitoring fornisce Monitoraggio delle prestazioni di Cloud Run, metriche, e i controlli di uptime, oltre agli avvisi per inviare notifiche al superamento di determinate soglie delle metriche. Prezzi di Google Cloud Observability Ciò significa che non viene addebitato alcun costo per le metriche nella versione completamente gestita di Cloud Run. Tieni presente che puoi utilizzare anche Metriche personalizzate di Cloud Monitoring.

Cloud Run è integrato con Cloud Monitoring senza necessità di configurazione. Ciò significa che le metriche I servizi Cloud Run vengono acquisiti automaticamente durante l'esecuzione.

Creazione di sistemi di gestione dei contenuti

Ospitare un sito web significa gestire gli asset del sito. Cloud Storage un repository globale per questi asset. Viene eseguito il deployment di un'architettura comune i contenuti statici su Cloud Storage, per poi sincronizzarli con Compute Engine per eseguire il rendering delle pagine dinamiche. Cloud Storage funziona con molti sistemi di gestione dei contenuti di terze parti, come WordPress Drupal e Joomla. Cloud Storage offre inoltre API compatibile con Amazon S3, in modo che qualsiasi sistema compatibile con Amazon S3 possa funzionare con Cloud Storage.

Il diagramma seguente è un'architettura di esempio per un sistema di gestione dei contenuti. Sistema di gestione dei contenuti su Google Cloud

Passaggi successivi

  • Esplora le architetture di riferimento, i diagrammi e le best practice su Google Cloud. Dai un'occhiata al nostro Centro architetture cloud.