Wenn du deine Anwendung oder Datenbank bei Kinsta hostest, laufen deine Projekte auf der Top-Tier-Infrastruktur von Google Cloud Platform. In diesem Leitfaden gehen wir ein wenig auf die Details unserer Infrastruktur für das Anwendungs- und Datenbank-Hosting ein.

Ein Diagramm der Kinsta-Infrastruktur für Anwendungs- und Datenbankhosting
Ein Diagramm der Kinsta-Infrastruktur für Anwendungs- und Datenbankhosting

Bereitstellung

GitHub

Der Code deiner Anwendung wird in einem GitHub-Repository gespeichert.

MyKinsta Anwendung hinzufügen/verteilen

Wenn du in MyKinsta eine Anwendung hinzufügst, stellt es eine Verbindung zum GitHub-Repository her, um die Anwendung abzurufen.

MyKinsta-Bot

Wenn du in den Einstellungen deiner Anwendung die automatische Bereitstellung bei Übergabe aktiviert hast, erkennt der MyKinsta-Bot, wenn du eine Änderung oder einen Merge an deinem Repository in GitHub vornimmst und ruft dann die Anwendung von GitHub ab und stellt die aktualisierte Version der Anwendung bereit.

Google Cloud Build

MyKinsta sendet die Anwendung an Google Cloud Build, um aus dem Code ein Image der Anwendung zu erstellen. Anhand der Informationen in den Buildpacks oder der Dockerdatei weiß es, welche Anwendungen oder Module für die Anwendung installiert werden müssen. Die Ausgabe ist ein Image, das in einen Container verwandelt werden kann.

Google Artifact Registry

Hier werden die Container-Images gespeichert, die bereit für die Bereitstellung sind. Jede Anwendung hat ein einziges Image, das immer dann verwendet werden kann, wenn sie bereitgestellt werden muss.

Kubernetes Cluster

Das Image aus der Artifact Registry wird in den Cluster gepusht. Dies ist eine virtuelle Maschine (VM), auf der mehrere Container laufen können. Die Cluster werden so eingestellt, dass die Anfrage von der Artefaktregistrierung den richtigen Container findet, die Container laufen und über die richtigen Ressourcen verfügen. Wenn es Probleme mit einem Container gibt, wird die Anwendung in einen anderen Container verlagert.

Anfragen

Cloudflare

Wenn ein Besucher auf die Website einer Anwendung zugreift, greift er zunächst auf Cloudflare zu, das weiß, in welchem Cluster die Website gehostet wird. Dann sendet es die Zugriffsanfrage an den richtigen Cluster.

Derzeit enthält Cloudflare für das Hosting von Anwendungen und Datenbanken die Standard-Firewall-Regeln, den Standard-DDoS-Schutz und andere Standardeinstellungen.

Cloud Load Balancing

Jeder Cluster hat einen Load Balancer, der die Zugriffsanforderung von Cloudflare erhält und nach dem Zufallsprinzip einen VM-Worker-Node schiebt.

Ingress

Der VM-Worker-Knoten empfängt die Anfrage im Ingress-System, das weiß, welcher Container für den angefragten Hostnamen zuständig ist. Das Ingress-System sendet die Anfrage an den richtigen Container. Wenn der Container mit einer Datenbank verbunden ist, kommuniziert er mit der Datenbank und sendet eine Antwort auf demselben Weg.

Virtuelle Maschinen (VM)

Eine virtuelle Maschine (VM) kann mehrere Container und mehrere Datenbanken enthalten.

Container

Jeder Container oder jede Anwendung kann mehrere Kopien auf der VM haben. In diesem Fall weiß das Ingress-System dies und sendet zufällig eine der Kopien desselben Containers durch.