Når du hoster din applikation eller database hos Kinsta, kører dine projekter på Google Cloud Platforms førsteklasses infrastruktur. I denne vejledning dykker vi lidt ned i detaljerne om vores infrastruktur for applikationshosting og databasehosting.

Et diagram over Kinsta's infrastruktur for applikation hosting og databas hosting
Et diagram over Kinsta’s infrastruktur for applikationshosting og databasehosting

Implementering

GitHub

Din applikations kode er gemt i et GitHub-repository.

MyKinsta Tilføj/udrulning af applikation

Når du tilføjer en applikation i MyKinsta, opretter den forbindelse til GitHub-repositoriet for at hente applikationen.

MyKinsta Bot

Med Automatisk udrulning ved commit aktiveret i din applikations indstillinger, registrerer MyKinsta-botten dette, hvis du commiterer en ændring eller sammenlægning til dit repository i GitHub, og derefter henter den applikationen fra GitHub og udruller den opdaterede version af applikationen.

Google Cloud Build

MyKinsta sender applikationen til Google Cloud Build for at opbygge et image af applikationen ud fra koden. Den ved, hvilke programmer eller moduler der skal installeres til applikationen ud fra oplysningerne i buildpacks eller Dockerfilen. Output er et image, der kan omdannes til en container.

Google Artifact Registry

Dette gemmer de containerimages, der er klar til at blive distribueret. Hver applikation har et enkelt image, der kan bruges, når den skal implementeres.

Kubernetes Cluster

Billedet fra artefaktregistret skubbes til klyngen, dette er en virtuel maskine (VM), hvor flere containere kan køre. Klyngerne er indstillet til at sikre, at anmodningen fra artefaktregistret finder den rigtige container, at containerne kører, og at de har de rigtige ressourcer. Hvis der er problemer med en container, bliver programmet omplaceret til en anden container.

Anmodninger

Cloudflare

Når en besøgende får adgang til webstedet for et program, får den først adgang til Cloudflare, som ved, hvilken klynge der er host for webstedet. Den sender derefter adgangsanmodningen til den korrekte klynge.

I øjeblikket omfatter Cloudflare for applikationshosting og databasehosting standardfirewallreglerne, standard DDoS-beskyttelse og andre standardindstillinger.

Lastudligning i skyen

Hver klynge har en load balancer, der modtager adgangsforespørgslen fra Cloudflare og tilfældigt skubber en VM-worker node.

Indgang

VM-arbejderknuden modtager anmodningen på Ingress-systemet, som ved, hvilken container der er ansvarlig for det hostnavn, der anmodes om. Ingress-systemet sender anmodningen til den korrekte container, og hvis containeren har en database tilknyttet, kommunikerer den med databasen og sender et svar ad samme rute.

Virtuelle maskiner (VM)

En virtuel maskine (VM) kan indeholde flere containere og flere databaser.

Containere

Hver container eller applikation kan have flere kopier på den virtuelle maskine. I dette tilfælde ved Ingress-systemet dette og sender tilfældigt gennem en af kopierne af den samme container.