Su Kinsta, le applicazioni e i database vengono eseguiti sull’infrastruttura “top tier” di Google Cloud Platform. In questa guida offriremo i dettagli della nostra infrastruttura di Hosting di Applicazioni e Hosting di Database.

Un diagramma dell'infrastruttura di Hosting di Applicazioni e di Hosting di Database di Kinsta
Un diagramma dell’infrastruttura di Hosting di Applicazioni e di Hosting di Database di Kinsta

Distribuzione

GitHub

Il codice dell’applicazione è memorizzato in un repository GitHub.

Aggiungere/Diistribuire un’Applicazione in MyKinsta

Quando si aggiunge un’applicazione, MyKinsta si connette al repository GitHub per recuperare l’applicazione.

Bot di MyKinsta

Se nelle impostazioni dell’applicazione è abilitato il deploy automatico su commit, effettuando un commit di una modifica o un merge sul repository in GitHub, il bot di MyKinsta lo rileva, recupera l’applicazione da GitHub e distribuisce la versione aggiornata dell’applicazione.

Google Cloud Build

MyKinsta invia l’applicazione a Google Cloud Build per creare un’immagine dell’applicazione a partire dal codice. Sa quali applicazioni o moduli installare per l’applicazione grazie alle informazioni contenute nei buildpack o nel Dockerfile. Il risultato è un’immagine che può essere trasformata in un container.

Google Artifact Registry

Memorizza le immagini dei container pronte per essere distribuite. Ogni applicazione ha una singola immagine che può essere utilizzata ogni volta che deve essere distribuita.

Cluster Kubernetes

L’immagine del registro degli artefatti viene inviata al cluster, una macchina virtuale (VM) in cui possono essere eseguiti più container. I cluster vengono messi a punto per far sì che la richiesta del registro degli artefatti trovi il container giusto, che i container siano in esecuzione e che dispongano delle risorse giuste. Se un container ha dei problemi, l’applicazione viene reintegrata in un altro container.

Richieste

Cloudflare

Quando un visitatore accede al sito web di un’applicazione, per prima cosa accede a Cloudflare, che sa quale cluster ospita il sito web. Quindi invia la richiesta di accesso al cluster giusto.

Attualmente, per l’Hosting di Applicazioni e per l’Hosting di Database, Cloudflare usa le regole del firewall predefinite, la protezione DDoS predefinita e altre impostazioni predefinite.

Bilanciamento del Carico Cloud

Ogni cluster ha un bilanciatore di carico che riceve la richiesta di accesso da Cloudflare e invia casualmente un nodo VM worker.

Ingresso

Il nodo VM worker riceve la richiesta dal sistema Ingress, che sa quale container è responsabile dell’hostname richiesto. Il sistema Ingress invia la richiesta al container corretto e, se al container è collegato un database, comunica con il database e invia una risposta lungo lo stesso percorso.

Macchine Virtuali (VM)

Una macchina virtuale (VM) può contenere più container e più database.

Container

Sulla macchina virtuale ci possono essere più copie di ogni container o applicazione. In questo caso, il sistema di Ingress lo sa e invia casualmente una delle copie dello stesso container.