Kubernetes para entregar excelência, conheça esse mecanismo com Vinícius Correa, Líder do DevSecOps na Klever
Saiba como a Klever aproveita o código open-source do Google Kubernetes para desenvolver serviços confiáveis e de qualidade para usuários do mundo todo, com o nosso Líder de DevSecOps, Vinícius Correa
Em primeiro lugar, gostaria de me apresentar. Sou Vinicius Niche Correa, mas a maioria me chama pelo apelido de Vini. Na Klever, sou o Líder de DevSecOps e Arquiteto de Software.
Sempre adorei tecnologia e quis aprender sobre o assunto desde cedo, sozinho, com outras pessoas, pessoalmente ou pela internet. Foi essa paixão que me levou a começar minha carreira profissional como desenvolvedor, especificamente com Java nessa época e, eventualmente, passei para o mundo da infraestrutura.
A combinação dessas experiências me deu uma perspectiva ampla e necessária para ajudar na arquitetura e nos aprimoramentos de processos para as soluções da Klever.
Hoje falaremos sobre Kubernetes, também conhecida como K8s, que é um sistema de código aberto (open-source) que usamos na Klever para automatizar a implantação, escalonamento e gerenciamento de aplicações em contêineres.
O Kubernetes é um dos principais componentes que possibilita o ecossistema Klever a alcançar:
Escalabilidade: a infraestrutura cresce junto com nossa base de usuários e diminui quando há menor fluxo de usabilidade;
Confiabilidade: recuperação rápida de interrupções em potencial e alta disponibilidade por meio de vários servidores em execução;
Segurança: por padrão, os serviços do Kubernetes só podem ser acessados dentro de sua rede.
É claro que o valor real dos K8s está nas equipes que estão operando e desenvolvendo o produto, mas a plataforma facilita muito os processos, então podemos aplicar mais esforço na experiência em si do que nas ferramentas que a suportam.
Desenvolvimento para o mercado
Para resumir, nós da Klever contamos com GitOps para implementações automatizadas e Kustomize para atingir vários estágios em ambientes de execução, que geralmente são Desenvolvimento, Staging e, por último, o que nossos usuários veem e consomem, Produção:
Para isso, temos uma Base de arquivos com uma estrutura que estará presente em todos os ambientes de execução e configurações personalizadas dos ambientes.
Por exemplo: Na Base disponibilizamos para um servidor 0,2 CPU e 256 Megabytes de memória e na Produção precisamos de 0,5 CPU e 512 Megabytes de memória. Isso significa que nós só temos que personalizar a Produção e deixar tanto Desenvolvimento como Staging herdando Base de Dados de configurações.
Operações
Com as operações funcionando conforme o esperado, ainda existem recursos extras que precisamos para garantir que tudo permanecerá do jeito certo, como:
Escalabilidade
Isso permite que nossos serviços se comportem da mesma forma com 100, 1.000, 10.000 ou 100.000 usuários, e conseguimos isso configurando com precisão a funcionalidade nativa do Autoescalador Horizontal do Kubernetes, juntamente com métricas personalizadas do Monitoramento em Nuvem do Google, que por meio de testes, descobrimos ser mais confiável do que as métricas nativas do cluster.
Confiabilidade
Também precisamos da capacidade de identificar rapidamente sempre que um servidor está se comportando mal e, eventualmente, tomar uma ação.
Para isso, a Klever conta com o Health Check nativo do Kubernetes para substituir servidores com defeito em caso de falhas e o Grafana Cloud Synthetic Monitoring para monitorar toda a qualidade do serviço, o tempo de atividade e notificar os operadores quando os limites forem atingidos, como tempo de resposta ou taxas de erros mais altas.
Segurança
Vários componentes garantem o mais alto nível de segurança em nossos servidores e serviços prestados, os que merecem destaque são:
O Kubernetes foi projetado para não expor serviços, portanto, para que isso aconteça, deve ser feito explicitamente;
HashiCorp’s Vault permite que segredos (como por exemplo: credenciais de banco de dados) sejam gerenciados e consumidos como um serviço;
Autenticação mútua para comunicações criptográficas de ponta a ponta, em que, combinados com serviços seguros de certificados x509, os clientes também precisam carregar seu keypair e serem verificados pelos servidores quando conectados.
Melhoria continua
O que diferencia a Klever como um todo de outras empresas e firmas em blockchain é a vontade constante de melhorar em todos os aspectos, desde produtos, desenvolvimento, cultura e processos até o engajamento com a comunidade. Todos juntos aprendendo com nossos próprios erros e os erros dos outros, para elevar o nível de qualidade de nossos produtos e serviços.
A arquitetura de software da Klever usando o mecanismo Kubernetes, junto com outras ferramentas de desenvolvimento escalonáveis e flexíveis, nos ajudam a atingir esse objetivo, para que nossos usuários possam desfrutar da experiência de um aplicativo com o mais alto nível de confiabilidade e desempenho que a tecnologia pode proporcionar.
Sinceramente,
Vinícius Niche Correa
Líder de DevSecOps e Arquiteto de Software na Klever.