När du hostar din applikation eller databas hos Kinsta så körs dina projekt på Google Cloud Platform’s förstklassiga infrastruktur. I den här guiden så kommer vi att djupdyka i detaljerna för vår infrastruktur när det gäller applikationshosting och databashosting.

Ett diagram över Kinsta's infrastruktur för applikationshosting och databashosting
Ett diagram över Kinsta’s infrastruktur för applikationshosting och databashosting

Distribuering

GitHub

Koden för din applikation lagras i ett GitHub-arkiv.

MyKinsta Lägg till/delegera applikation

När du lägger till en applikation i MyKinsta så ansluter den till GitHub-arkivet för att hämta applikationen.

MyKinsta Bot

Om du överför en ändring eller sammanslagning till ditt arkiv i GitHub och har aktiverat Automatisk distribuering vid överföring i din applikations inställningar, så upptäcker MyKinsta-robotten detta. Den hämtar sedan applikationen från GitHub och distribuerar den uppdaterade versionen av applikationen.

Google Cloud Build

MyKinsta skickar applikationen till Google Cloud Build för att bygga en avbildning av applikationen från koden. Den vet vilka applikationer eller moduler som ska installeras för applikationen via informationen i buildpacks eller Dockerfilen. Resultatet är en avbildning som kan omvandlas till en container.

Google’s artefakt-register

Här lagras de container’avbildningar som är redo att distribueras. Varje applikation har en enda avbildning som kan användas närhelst som den behöver distribueras.

Kubernetes-kluster

Bilden från artefakt-registret skjuts till klustret, detta är en virtuell maskin (VM) där flera containers kan köras. Klustren är inställda för att se till att begäranden från artefakt-registret hittar rätt container, att containrarna körs och att de har rätt resurser. Om det uppstår problem med en container så omplaceras applikationen till en annan container.

Förfrågningar

Cloudflare

När en besökare går in på webbplatsen för en applikation så går den först in på Cloudflare, som vet vilket kluster som hostar webbplatsen. Den skickar sedan en åtkomstbegäran till rätt kluster.

För närvarande så inkluderar Cloudflare för applikationshosting och databashosting standardbrandväggsregler, standard-DDoS-skydd och andra standardinställningar.

Belastningsutjämning i molnet

Varje kluster har en belastningsutjämning som tar emot åtkomstbegäranden från Cloudflare och som slumpmässigt skickar en VM-bearbetarnod.

Ingress

VM-bearbetarnoden tar emot begärandet i Ingress-systemet, som vet vilken container som är ansvarig för det begärda hostnamnet. Ingress-systemet skickar begärandet till rätt container, och om containern har en databas kopplad till sig så kommunicerar den med databasen och skickar ett svar på samma väg.

Virtuella maskiner (VM)

En virtuell maskin (VM) kan inkludera flera containers och flera databaser.

Container

Varje container eller applikation kan ha flera kopior på den virtuella maskinen. I det här fallet så vet Ingress-systemet detta och skickar slumpmässigt genom en av kopiorna av samma container.