Atualmente, é muito comum possuirmos uma, ou várias, máquinas com Docker e corremos nas mesmas os nossos containers. São uma excelente base para para um primeiro contacto com a tecnologia, iniciando o nosso caminho em aplicações Cloud Native.

Portanto, estou plenamente de acordo com esta abordagem, com exceção de quando os nossos testes passam a produtivos pelo sucesso do nosso esforço, e a gestão desses pequenos silos se transforma num problema. A existência de máquinas isoladas não possibilita redundância e não garante a alta disponibilidade que uma aplicação em produção necessita.

A evolução natural passa por termos um cluster de Kubernetes, seja em cloud privada ou pública, e assim possibilitando a redundância desejável para o nosso negócio, bem como a agilidade necessária no go to market.

No entanto, a Kubernetes Vanilla é de difícil implementação e gestão e poderá conter inúmeros desafios. É uma tecnologia complexa, opensource e com ausência de um ambiente gráfico. Por conseguinte, é de morosa configuração de objetos, de difícil perceção de erros e de resolução de dificuldades.

Imaginem agora como seria simples se pudéssemos colocar um ambiente gráfico em frente de Kubernetes. E se existisse uma entidade que nos desse suporte? Se trouxéssemos, com a mesma agilidade que a Kubernetes dá ao nosso negócio, ainda mais agilidade?

A nossa realidade dita-nos competências multidisciplinares, visto termos que gerir múltiplas tecnologias e plataformas e, de certa forma, todas se apresentam como um desafio pelo seu grau de complexidade. Logo, para facilitarmos a nossa de vida é imprescindível que nos apropriemos das ferramentas certas para simplificar o dia a dia.

Se necessitamos de criar um novo cluster de Kubernetes em Azure, AWS EKS, Google GKE ou até mesmo dentro de Datacenter não será proveitoso que esse processo nos tome horas na compreensão de como configurar para colocar o ambiente em produção, fragilizando toda a agilidade que a Kubernetes nos devia proporcionar. Deste modo, devemos ter a capacidade de desenvolver o processo em pequenos passos.

No entanto, se já temos clusters de Kubernetes por que razão não conseguirmos geri-los, centralmente, a partir de uma consola WEB?

Existem imensos projetos de ferramentas que nos ajudam a fazer deploy de clusters de Kubernetes. Uns mais complexos que outros, mas no fim todos têm o mesmo objetivo.

Por isso, gostaria agora de partilhar um projeto em específico que permite, centralmente, gerir múltiplos clusters de Kubernetes, seja em cloud pública ou privada, com uma abordagem click based, tornando-se uma solução muito intuitiva e que traz uma enorme agilidade de aprovisionamento, facilmente escalável, com a criação de novas aplicações e com uma gestão de acessos baseada em funções (RBAC), destacando o Rancher.

O Rancher é um software stack completo para equipas que adotam containers. Este aborda os desafios operacionais e de segurança da gestão de vários clusters Kubernetes em qualquer infraestrutura, ao mesmo tempo em que fornece às equipas de DevOps ferramentas integradas para executar testes de carga nos containers. Não é apenas uma solução para implementar clusters Kubernetes de nível de produção de Datacenter para a Cloud ou Edge, mas também os agrega com autenticação centralizada, controlo de acesso e observabilidade.Rancher

O Rancher permite simplificar a implementação de cluster em bare metal, Cloud privadas e públicas ou vSphere, protegendo-os igualmente através da utilização de políticas de segurança globais.

Usando o Helm ou o Catálogo de aplicações para implantar e gerir aplicações num ou vários ambientes, garante-se a consistência de vários Clusters com uma única solução. Outra forma de agilizar o nosso negócio é implementar novos projetos que possibilitem a resolução de certas dificuldades.

O Rancher contém um Market Place, poderemos designar desta forma, onde conseguimos efetuar uma pesquisa de várias aplicações/projetos, instalar os mesmos com um simples botão de Install, ficando estes up and running em segundos.

Rancherv2

Dos projetos implementados e da nossa experiência com os mesmos, posso afirmar que a agilidade e a simplicidade são pilares fulcrais para o sucesso. E, com esta ferramenta, reduzimos bastante a curva de aprendizagem e potenciamos crescimento em outras áreas. Porém, a agilidade não é feita só de ferramentas e pessoas, mas também de processos.

Presentemente, a Tecnologia não tem que ser um quebra-cabeças que nos faça perder anos de vida para colocar o nosso negócio em produção, estando a solução na eleição de ferramentas adequadas que nos ajudem a simplificar tarefas, concentrando os nossos esforços na realização de conquistas.

solution

A imagem anterior ilustra um exemplo da versatilidade do Rancher, onde conseguimos fazer deploy de clusters de Kubernetes, em praticamente todas as clouds, importando clusters de Kubernetes sejam Vanilla, Aks, EKS, etc. E permite ainda que se consiga fazer deploy de novas aplicações escalar cluster de Kubernetes, sempre por GUI, o verdadeiro single-pane-of-glass.

Retomando os conceitos de Agilidade e Simplicidade, devemos direcionar o nosso tempo para o que realmente potencia crescimento e não o inverso.

Agradeço a vossa atenção e espero que esta partilha seja útil, permitindo que reflitam sobre os aspetos abordados. Encontro-me disponível para que partilhem comigo as vossas opiniões.

 Podem consultar mais sobre Suse Rancher no site oficial.