Publicidade
Economize: canal oficial do CT Ofertas no WhatsApp Entrar

O que é o Kubernetes? Eles estão próximos do seu dia a dia e você nem imagina

Por| 04 de Junho de 2021 às 09h15

Link copiado!

Getup
Getup

Kubernetes. Em algum momento de suas andanças na internet, você já deve ter se deparado com esse simpático termo. Mas você sabe o que ele significa?

Bom, olhando a explicação na Wikipedia, ela não ajuda muito a entender. A não ser que você seja da área de Tecnologia e esteja com seus pares em uma mesa de bar. Basicamente, o Kubernetes é:

"Um sistema de orquestração de contêineres open-source que automatiza a implantação, o dimensionamento e a gestão de aplicações em contêineres."

Entendeu? Pois é, 99,9% da humanidade também não.

Continua após a publicidade

Mas o fato é que o Kubernetes (sim, no singular, conforme você verá abaixo) está muito mais próximo do nosso dia a dia do que imaginamos. Ele está presente naquele app que usamos para pedir um carro que nos levará a um determinado destino; e também no aplicativo onde compramos uma refeição. E até mesmo na hora de fazer um PIX. E muitas outras aplicações.

O fato é que o Kubernetes ajuda a tornar os aplicativos do nosso cotidiano (e os dados que trafegam neles) mais funcionais, estáveis e seguros. E para tentar explicar de uma forma didática como essa tecnologia funciona, o Canaltech conversou com Diogo Goebel, CEO da Getup, startup investida pela Wayra (hub global de inovação aberta da Vivo no Brasil e do grupo Telefônica no mundo) e que é totalmente focada e especializada em prover serviços para esse "sistema operacional da nuvem".


Confira como foi o papo:

Continua após a publicidade

Canaltech - Diogo, explicando de uma forma bem simples: o que são, afinal, os Kubernetes?

Diogo Goebel: Na verdade, dizemos "O" Kubernetes. O Kubernetes é um gerenciador de aplicações (software) que facilita a configuração e automação das operações de TI necessárias para ter um software rodando. Trago um exemplo simples para ilustrar melhor o funcionamento: o desenvolvedor informa para o Kubernetes através de um documento (yaml) que deseja rodar sua aplicação, com 3 réplicas ou contêineres (para fins de redundância) e que novos devem ser criados caso a carga de acessos aumente.

Feito isso, o Kubernetes decidirá sozinho quais os melhores servidores para publicar as réplicas da aplicação e manterá de forma automática o estado desejado (3 réplicas). Ou seja, caso um servidor seja perdido, ele irá re-provisionar outra réplica em uma nova máquina disponível, assim como criar adicionais, caso a carga de acessos aumente (Em uma operação de Black Friday no e-commerce, por exemplo).

A tecnologia é open source, foi criada inicialmente pelo Google, e hoje tem seu desenvolvimento e evolução executada por milhares de desenvolvedores de diferentes empresas.

Continua após a publicidade


CT - E como o Kubernetes está no dia a dia dos usuários? Como ele atua nos aplicativos?

D.G.: Considerando como usuário de Kubernetes o desenvolvedor de software, este interage com o Kubernetes através da sua API, executando as operações diárias ligadas ao desenvolvimento de software (deploy de uma aplicação, atualização, escalabilidade, entre outras). Antes do Kubernetes, os desenvolvedores precisavam pedir para a TI (equipe de operações) que essas tarefas fossem executadas. Então, com esta tecnologia há um ganho de agilidade.

Agora se pensarmos no usuário comum, como alguém fazendo um PIX, pedindo um Uber ou um delivery de comida, este não tem nenhum contato com o Kubernetes diretamente, embora ele esteja lá, cuidando das aplicações e infraestrutura de servidores necessária para que essas operações aconteçam sem qualquer tipo de interrupção.


CT - Em quais aplicativos do nosso dia a dia o Kubernetes está mais presente?

Continua após a publicidade

D.G.: Praticamente qualquer novo aplicativo tem Kubernetes cuidando dele em alguma parte. Por exemplo, o Uber, Spotify, PIX, e-commerces, logística, etc.


CT - Quais as vantagens que plataformas de produtos e serviços têm ao contarem com Kubernetes rodando suas aplicações? Há, por exemplo, redução de custos, estabilidade ou maior segurança? E quanto esse mercado movimenta atualmente?

D.G.:
O Kubernetes está muito ligado ao que o mercado chama de transformação digital. Com ele é possível realizar o desenvolvimento acelerado de novas aplicações, ciclos mais curtos de atualização e novas versões. Além disso, ele é necessário para "validar" um modelo de negócio ou funcionalidade com seus usuários.

A tecnologia garante também maior estabilidade, graças ao nível de automação e capacidade de recuperação automática em caso de falhas, quando configurado apropriadamente. Além disso, o Kubernetes também permite que você tenha "maior densidade" de uso dos servidores, então a redução de custo é um fator relevante.

Porém, a maior redução de custo vem do ganho de produtividade nos times de operações e desenvolvimento, devido a grande redução no overhead operacional.

Continua após a publicidade

Em termos de números e crescimento deste segmento, cito algumas aquisições de empresas com soluções ou serviços para Kubernetes:

  • Rancher Labs: US$ 600 milhões
  • Heptio: US$ 550 milhões
  • Pivotal: US$ 2.7 bilhões


CT - Como a Linux Foundation atua para o desenvolvimento e bom uso dos códigos do Kubernetes?

D.G.: A Linux Foundation é a fundação que criou a Cloud Native Computing Foundation (CNCF) como um braço para cuidar de projetos Cloud Native, sendo um deles o Kubernetes.

Continua após a publicidade

O Kubernetes é o maior projeto open source da atualidade e foi o primeiro habilitado pela CNCF. A entidade atua para garantir um alto padrão de qualidade de código e de documentação dos seus projetos. Ela também está presente na criação de Steering Committee, que cuida da governança e tomada de decisões do projeto, visto que há várias empresas envolvidas.

A CNCF também está na criação do Special Interest Groups (SIG), onde cada grupo lidera uma frente de desenvolvimento diferente, segmentando as iniciativas dentro do projeto e paralelizando as entregas.


Hoje a CNCF passou a marca de 900 iniciativas entre projetos incubados, service providers e plataformas que ela organiza. Entre eles, temos soluções para os mais diversos fins, desde Continuous Delivery até bancos de dados escaláveis.

Continua após a publicidade


CT - Como a Getup trabalha com a tecnologia de Kubernetes? Como ela atua junto aos seus clientes?

D.G.: Somos especialistas em Kubernetes. Começamos a atuar com a tecnologia em 2015, quando foi lançada a versão 1.0. Nesse período, fomos mapeando a forma como as empresas estavam adotando Kubernetes e quais eram os desafios, para então criarmos um pacote de serviços com o objetivo de acelerar o que chamamos de "Jornada Kubernetes".

Hoje, apoiamos nossos clientes em duas frentes: A primeira é na parte de serviços, que vai desde a instalação do Kubernetes - instalação que contempla boas práticas de segurança, conforme as necessidades de governança de uma grande companhia - até o treinamento das equipes e suporte contínuo aos times de operação e desenvolvimento.

A segunda frente está em nossa distribuição Kubernetes, a UnDistro, lançada recentemente e que traz nosso aprendizado nesses anos trabalhando com essa tecnologia. Todo o trabalho é desempenhado por profissionais com certificações Certified Kubernetes Administrator (CKA) e Certified Kubernetes Application Developer (CKAD).

Continua após a publicidade

CT - E o que as empresas que querem começar a trabalhar com Kubernetes em suas aplicações e serviços devem observar? Como elas devem estruturar seus departamentos de TI?

D.G.: Aqui posso dividir algumas dicas baseadas em nossa experiência:

  1. A empresa terá múltiplos ambientes Kubernetes, provavelmente em diferentes infraestruturas e, certamente, sendo usado por diferentes times. Invista um tempo planejando em como montar essa oferta de Kubernetes para suas equipes e não deixe de considerar as mudanças culturais. O Kubernetes criará um ambiente muito mais dinâmico e rápido e pode haver a sensação de perda de controle agora que os processos são mais automatizados;

  2. Atenção ao tipo de Kubernetes que você irá adotar: como a possibilidade de ter múltiplos ambientes é grande, é importante ter compatibilidade entre eles. Recomendamos o uso de Kubernetes "vanilla", ou seja, não modificado;

  3. Automatizar as operações de gestão dos ambientes Kubernetes será importante, já que você terá vários. Mas o mais importante mesmo será definir seu baseline de segurança e governança. Quanto antes, melhor;

  4. Equipe de plataforma: dependendo do tamanho da empresa, é recomendável criar uma equipe de plataforma para dar suporte às equipes ou seus "clientes internos";

  5. Por fim, e relacionado ao item anterior, se questione se gerenciar e manter ambientes Kubernetes é fator de diferenciação no seu mercado. Não sendo, é preferível buscar por suporte externo a essa operação, evitando problemas de recrutamento, capacitação e, o pior deles, o turnover, já que o conhecimento acaba indo embora.


CT - Como profissionais da área de TI devem se especializar para trabalhar no desenvolvimento de Kubernetes? É uma área muito demandada pelas empresas?

Continua após a publicidade

D.G.: Kubernetes hoje é considerado o "sistema operacional da nuvem". A demanda por profissionais que dominem essa tecnologia vem crescendo rapidamente. Para aqueles que querem aprender Kubernetes, minha dica é não se limitar apenas a essa tecnologia.

Aprendam sobre arquiteturas cloud-native porque Kubernetes nada mais é do que uma resposta, uma plataforma para rodar esse tipo de aplicação. Uma boa compreensão das boas práticas ajuda o profissional a aplicar Kubernetes de forma mais eficiente.