Cuando alojas tu aplicación o base de datos con Kinsta, tus proyectos se ejecutan en la infraestructura de primer nivel de Google Cloud Platform. En esta guía, nos sumergiremos un poco en los detalles de nuestra infraestructura de Alojamiento de Aplicaciones y Alojamiento de Bases de Datos.

Diagrama de la infraestructura de Alojamiento de Aplicaciones y Alojamiento de Bases de Datos de Kinsta
Diagrama de la infraestructura de alojamiento de aplicaciones y bases de datos de Kinsta

Despliegue

GitHub

El código de tu aplicación se almacena en un repositorio de GitHub.

MyKinsta Añadir/Desplegar Aplicación

En MyKinsta, cuando añades una aplicación, se conecta al repositorio de GitHub para recuperar la aplicación.

Bot MyKinsta

Con la opción Despliegue automático al confirmar activado en la configuración de tu aplicación, si confirmas un cambio o una fusión en tu repositorio de GitHub, el bot de MyKinsta lo detecta, extrae la aplicación de GitHub y despliega la versión actualizada de la aplicación.

Google Cloud Build

MyKinsta envía la aplicación a Google Cloud Build para construir una imagen de la aplicación a partir del código. Sabe qué aplicaciones o módulos instalar para la aplicación a partir de la información de los paquetes de construcción o del archivo Dockerfile. El resultado es una imagen que puede convertirse en un contenedor.

Registro de Artefactos de Google

Almacena las imágenes de contenedor que están listas para desplegarse. Cada aplicación tiene una única imagen que puede utilizarse siempre que sea necesario desplegarla.

Clúster Kubernetes

La imagen del registro de artefactos se envía al clúster, que es una máquina virtual (VM) donde pueden ejecutarse varios contenedores. Los clústeres se ajustan para garantizar que la solicitud del registro de artefactos encuentra el contenedor correcto, los contenedores se ejecutan y tienen los recursos adecuados. Si hay algún problema con un contenedor, la aplicación se redistribuye a otro contenedor.

Solicitudes

Cloudflare

Cuando un visitante accede al sitio web de una aplicación, primero accede a Cloudflare, que sabe qué clúster aloja el sitio web. A continuación, envía la solicitud de acceso al clúster correcto.

Actualmente, para el alojamiento de aplicaciones y bases de datos, Cloudflare incluye las reglas predeterminadas del cortafuegos, la protección DDoS predeterminada y otros valores predeterminados.

Equilibrio de Carga en la Nube

Cada clúster tiene un equilibrador de carga que recibe la solicitud de acceso de Cloudflare y envía aleatoriamente un nodo VM worker.

Ingress

El nodo VM worker recibe la solicitud en el sistema Ingress, que sabe qué contenedor es responsable del nombre de alojamiento solicitado. El sistema Ingress envía la solicitud al contenedor correcto, y si el contenedor tiene una base de datos adjunta, se comunica con la base de datos y envía una respuesta por la misma ruta.

Máquinas virtuales (VM)

Una máquina virtual (VM) puede contener varios contenedores y varias bases de datos.

Contenedores

Cada contenedor o aplicación puede tener varias copias en la VM. En este caso, el sistema Ingress lo sabe y envía aleatoriamente a través de una de las copias del mismo contenedor.