Infraestrutura

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

Repositório Git

O código do seu aplicativo é armazenado em um repositório Git. Você pode escolher entre qualquer um (ou todos) os seguintes:

Adicionando/Implantando um aplicativo no MyKinsta

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

MyKinsta Bot

Com a implantação automática no envio habilitada nas configurações do seu aplicativo, se você fizer um commit ou mesclar uma alteração em seu repositório, o bot MyKinsta detectará isso, em seguida, buscará o aplicativo do seu provedor de serviço Git 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.

Nossa infraestrutura Kubernetes oferece suporte a um ambiente multi-inquilino, onde cada aplicativo é executado em seu próprio ambiente contêinerizado. Através do isolamento de rede e da virtualização em várias camadas, garantimos a segurança e evitamos o acesso não autorizado entre os aplicativos. Essa abordagem de design proporciona uma plataforma de hospedagem confiável e segura, permitindo que você foque no seu negócio principal enquanto nós cuidamos da infraestrutura subjacente.

Implantamos pelo menos um cluster por região, podendo ter clusters adicionais conforme o número de aplicativos em cada região. Isso garante uma alocação de recursos otimizada e escalabilidade para atender às crescentes necessidades de nossos clientes. Assim, você tem a tranquilidade de contar com uma infraestrutura confiável, enquanto se concentra no crescimento e desenvolvimento do seu negócio.

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.

Armazenamento Persistente

Você pode adicionar armazenamento persistente a um processo web ou processos em segundo plano. Isso adiciona um volume de armazenamento que é conectado à VM (máquina virtual) do seu aplicativo e mantém os dados mesmo se o aplicativo for reiniciado ou reimplantado.

Este artigo foi útil?