Quando você hospeda seu aplicativo ou banco de dados com Kinsta, seus projetos são executados na infraestrutura de primeira linha do Google Cloud Platform. Neste guia, analisaremos os detalhes da nossa infraestrutura de Hospedagem de Aplicativos e Hospedagem de Banco de Dados.

Um diagrama da infraestrutura de Hospedagem de Aplicativos e Hospedagem de Banco de Dados da Kinsta
Um diagrama da infraestrutura de Hospedagem de Aplicativos e Hospedagem de Banco de Dados da Kinsta

Implantação

GitHub

O código do seu aplicativo é armazenado dentro de um repositório GitHub.

Adicionando/Implantando um aplicativo no MyKinsta

No MyKinsta, quando você adiciona um aplicativo, ele se conecta ao repositório GitHub para recuperar o aplicativo.

MyKinsta Bot

Com a implantação automática no commit ativada nas configurações do seu aplicativo, se você cometer uma alteração ou fusão no seu repositório GitHub, o bot MyKinsta detecta isso, então puxa o aplicativo do GitHub e implanta a versão atualizada do aplicativo.

Google Cloud Build

MyKinsta envia o aplicativo para o Google Cloud Build para construir uma imagem do aplicativo a partir do código. Ele sabe quais aplicativos ou módulos instalar para o aplicativo a partir das informações contidas nos buildpacks ou no Dockerfile. A saída é uma imagem que pode ser transformada em um contêiner.

Google Artifact Registry

Isto armazena as imagens do contêiner que estão prontas para serem implantadas. Cada aplicativo tem uma única imagem que pode ser usada sempre que precisar ser implantada.

Cluster Kubernetes

A imagem do registro de artefatos é enviada para o cluster. Este é uma máquina virtual (VM) onde vários contêineres podem ser executados. Os clusters são ajustados para garantir que a solicitação do registro do artefato encontre o contêiner certo, os contêineres estejam funcionando e eles tenham os recursos certos. Se houver algum problema com um contêiner, o aplicativo é redirecionada para outro contêiner. Nós utilizamos o cri-o v1.23.x na nossa infraestrutura; no entanto, essa versão não é estática e pode ser atualizada à medida que atualizamos diferentes componentes do sistema.

Solicitações

Cloudflare

Quando um visitante acessa o site para um aplicativo, ele primeiro acessa o Cloudflare, que sabe qual cluster hospeda o site. Ele então envia o pedido de acesso para o cluster correto.

Atualmente, para Hospedagem de Aplicativos e Hospedagem de Banco de Dados, o Cloudflare inclui as regras padrão de firewall, a proteção padrão DDoS e outros padrões.

Balanceador de carga na Nuvem

Cada cluster tem um balanceador de carga que recebe o pedido de acesso do Cloudflare e despacha aleatoriamente um nodo de VM worker.

Ingress

O node de VM worker recebe a solicitação no sistema Ingress, que sabe qual contêiner é responsável pelo hostname que está sendo solicitado. O sistema Ingress envia a solicitação para o contêiner correto, e se o contêiner tiver um banco de dados anexado, ele se comunica com o banco de dados e envia uma resposta na mesma rota.

Máquinas Virtuais (VM)

Uma máquina virtual (VM) pode conter múltiplos contêineres e múltiplos bancos de dados.

Contêineres

Cada contêiner ou aplicativo pode ter múltiplas cópias no VM. Neste caso, o sistema Ingress sabe disso e envia aleatoriamente por uma das cópias do mesmo contêiner.