Hosting delle app su Google Cloud

Google Cloud offre una vasta gamma di opzioni per l'hosting delle applicazioni. Consulta i grafici seguenti per scoprire quale è più adatta alle tue esigenze.


Casi d'uso

Non sai come iniziare? Dai un'occhiata ad alcuni scenari comuni di seguito.
Servizi HTTP e app di backend
Framework web, microservizi
Esempi:
  • Flask
  • Django
  • Express.js
  • Symfony
  • Spring Boot
Ambiente standard di App Engine
  • Scalabilità per soddisfare una domanda improvvisa
  • Pagamento a consumo
  • Supporto per gli endpoint API
Google App Engine Documenti
App basate su eventi e per l'elaborazione di dati
Manipolano dati ed eventi generati dagli utenti
Esempi:
  • Pubblicazione di un commento nel canale Slack in risposta a un commit GitHub
  • Analisi statistiche
  • Creazione di miniature delle immagini
Cloud Functions
  • Progettato per carichi di lavoro basati su eventi
  • Scalabilità per soddisfare una domanda improvvisa
  • Configurazione minima
Google Cloud Functions Guida rapida
App e servizi basati su container
Pacchetto standard di settore per l'infrastruttura multi-cloud
Esempi:
  • Ambienti di runtime personalizzati, tra cui Rust, Kotlin, C++ e Bash
  • App web legacy che utilizzano linguaggi come Python 2.7, Java 7
Cloud Run (completamente gestito)
  • Supporto per container Docker standard di settore
  • Scalabilità automatica delle app containerizzate
  • Personalizzazione di programmi binari e dipendenze di sistema
  • Supporto per gli endpoint API
Cloud Run (completamente gestito) Guida rapida
Carichi di lavoro on-premise e monolitici
Calcolo con dati non elaborati per soddisfare le esigenze dell'infrastruttura esistente
Esempi:
  • Database relazionali, SAP HANA
  • Sistemi CRM
  • Sistemi ERP legacy
Compute Engine
Google Compute Engine Tutorial
Infrastruttura scalabile self-hosted
Hosting autogestito con scalabilità serverless
Esempi:
  • App containerizzate che richiedono hardware e software personalizzato (sistema operativo, GPU)
  • App stateless containerizzate esistenti
  • App su Kubernetes Engine che possono trarre vantaggio dalla scalabilità fino a zero
Cloud Run for Anthos su Google Cloud
  • Packaging di container Docker standard di settore
  • Elevata configurabilità per carichi di lavoro e configurazioni legacy
  • Scalabilità per soddisfare la domanda
Cloud Run for Anthos su GCP Guida rapida
β
Il software beta è privo di SLA e potrebbe non essere adatto ai carichi di lavoro di produzione.

Opzioni di hosting

Molti carichi di lavoro hanno requisiti tecnici specifici. Le piattaforme sono ordinate per grado di astrazione.
Compute Engine Kubernetes Engine (GKE) Cloud Run for Anthos su Google Cloud Cloud Run (completamente gestito) Ambiente flessibile di App Engine Ambiente standard di App Engine Cloud Functions
Formato di deployment
Immagine VM
Cluster
Container
Container

App

o

Container

App
Funzione
URL personalizzati
Scalabilità fino a zero
~
1
Livello gratuito
Dischi permanenti
2
Websocket
~
3
β
Esecuzione di qualsiasi linguaggio
Timeout richiesta
Nessuno
Nessuno
15 minuti
15 minuti
60 minuti
1 minuto
9 minuti
Processi in background
~
4
Accesso TPU/GPU
~
3
Connettività VPC
1
Cloud Run for Anthos su Google Cloud scala i conteggi dei pod fino a zero. Il conteggio dei nodi per cluster non può scalare fino a zero e tali nodi vengono fatturati durante i periodi di assenza di richieste.
2
I dati nelle istanze container su GKE non vengono conservati dopo l'arresto. Tuttavia, è possibile montare dischi permanenti Compute Engine nelle istanze container su GKE .
3
L'uso di websocket e l'accesso TPU/GPU sono tecnicamente possibili con Cloud Run for Anthos su Google Cloud, ma non ufficialmente supportati.
4
L'ambiente standard di App Engine supporta attività in background per le modalità di scalabilità base e manuale.
β
Il software beta non dispone di SLA e potrebbe non essere adatto ai carichi di lavoro di produzione.

Termini chiave

Formato di deployment

Quale formato assume il codice nel deployment su una data piattaforma?

  • Immagini VM: snapshot di un intero filesystem, compreso il sistema operativo sottostante.
  • Container: filesystem con portabilità multipiattaforma isolati dal sistema operativo sottostante.
  • App: un servizio contenuto in una directory con uno o più casi d'uso.
  • Funzioni: singoli snippet di codice, ciascuno corrispondente a un singolo caso d'uso.

URL personalizzati

È possibile creare percorsi dell'URL multilivello (ad esempio /abc/def) e/o utilizzare il proprio nome di dominio?

Dischi permanenti

È possibile salvare lo stato del disco all'arresto di un'istanza, oppure è necessario archiviare i dati a lungo termine fuori dall'istanza?

Scalabilità fino a zero

Questo prodotto supporta la scalabilità fino a zero istanze ed evita la fatturazione per i periodi senza richieste?

Websocket

Questo prodotto supporta il protocollo Websocket?

Esecuzione di qualsiasi linguaggio

Questo prodotto può eseguire codici in qualsiasi linguaggio di programmazione?

Timeout richiesta

Per che periodo di tempo massimo la piattaforma attende una risposta dal codice dell'applicazione?

Processi in background

Questo prodotto può continuare a eseguire operazioni in background al di fuori di un periodo di richiesta?

Uso di GPU e TPU

Questo prodotto supporta l'accelerazione hardware per i carichi di lavoro ottimizzati per GPU/TPU?

Connettività VPC

Questo prodotto è in grado di accedere a risorse in un Virtual Private Cloud?