Google Cloud Infraestrutura / Devops

Kubernetes: conheça a plataforma do Google Cloud que facilita a orquestração de contêineres

Kubernetes
Escrito por Karen Ferraz

O Kubernetes tornou-se extremamente popular entre as empresas nos últimos anos, especialmente por ser funcional, escalonável e simplesmente eficiente. O termo Kubernetes vem do grego e significa timoneiro ou piloto. A abreviatura “K8s” representa a contagem das oito letras entre o “K” e o “s”. 

O Kubernetes mescla execução de cargas de trabalho de produção em escala com ideias inovadoras e práticas da comunidade. Em 2014, o Google abriu o código-fonte do projeto Kubernetes o que impulsionou ainda mais as ideias em torno da arquitetura.  

Conheça essa arquitetura de microsserviços que oferece agilidade, velocidade, resiliência e redução de custos na implantação e de aplicações, impulsionando a inovação. A seguir, você confere os principais conceitos relacionados ao K8s, bem como informações sobre quando usar. 

Leia mais: Google Cloud: conheça as soluções de ingestão e coleta de dados da plataforma

O que é arquitetura de micro-serviço?

Antes de seguir, é importante ficar claro que há aplicações chamadas de “monolitos”, onde são registradas todas as funcionalidades, como transações e integração de terceiros em um único artefato implantável. Essa arquitetura “monolítica” é uma forma comum de construir aplicativos até hoje, porém possui suas desvantagens, como o fato de que as implantações podem levar muito tempo, pois tudo precisa ser implementado.

Quando diferentes partes do monólito são gerenciadas por equipes diferentes, a complexidade aumenta. A cada implementação e dimensionamento, as equipes terão de lançar recursos em todo o aplicativo, mesmo que o gargalo esteja apenas em uma única área. 

Para que as pessoas criem microsserviços, cada parte da funcionalidade é dividida em “pedaços” individuais menores. Se houver uma atualização, apenas esse serviço deve ser substituído. Assim, o modelo de arquitetura de microsserviços oferece benefícios de escalonamento, permitindo provisionar de acordo com a demanda. 

Afinal, ter uma máquina para cada serviço exigiria muitos recursos e várias de máquinas, por isso que os contêineres são uma ótima escolha, permitindo às equipes de contêineres “empacotar” seus serviços de maneira organizada para todas as aplicações garantindo que as configuração necessárias sejam entregues juntas e que os serviços sejam executados da mesma maneira. Além disso, a atualização de um contêiner é fácil, pois os desenvolvedores podem criar uma nova versão do contêiner e implantá-lo no lugar. 

Kubernetes: o que é e como funciona?

O Kubernetes é uma plataforma de orquestração de contêiner open source desenvolvida pelo Google para executar serviços e aplicações distribuídas em escala. Simplifica o gerenciamento e possibilita a implantação de containers em escala para cargas de trabalho. 

Esse “orquestrador de contêineres” ajuda a garantir que cada contêiner esteja onde deveria estar e que os contêineres trabalhem juntos. Assim, a plataforma permite certificar que os serviços estejam funcionando perfeitamente da maneira que um desenvolvedor de aplicações deseja. 

Dessa forma, o Kubernetes atua no gerenciamento desses contêineres em máquinas virtuais: os contêineres que eles executam são agrupados como um cluster e cada contêiner tem endpoints, armazenamento de DNS e escalabilidade, tudo o que os aplicativos modernos precisam, sem necessidade do esforço dos desenvolvedores. Isso quer dizer que o Kubernetes automatiza a maior parte da repetição e das ineficiências de fazer tudo manualmente. Funciona assim: basta o desenvolvedor informar ao Kubernetes como deseja o cluster e a “mágica” acontece!  

Apesar dos benefícios dos microsserviços, muitas vezes os monólitos podem ser a solução certa com base nas especificidades da aplicação. Mesmo assim, os monólitos podem ser executados em Kubernetes, mesmo que não possam usar todos os mesmos benefícios. O primeiro passo para começar com o Kubernetes é usar contêineres! 

Quando usar o Kubernetes?

Kubernetes (também conhecido como K8s) tornou-se o padrão para orquestração de contêineres. A plataforma fornece aos usuários um conjunto de recursos robusto e incomparável para gerenciar o ciclo de vida completo do contêiner. 

Porém, traz uma complexidade adicional à arquitetura geral da aplicação, já que as estratégias de infraestrutura, implantação e gerenciamento dependem do provisionamento do Kubernetes. Por esse motivo, muitas vezes ele não é a solução ideal para alguns casos de uso. 

Mas, afinal, quando usar o Kubernetes? Bom, a principal razão para usar o Kubernetes é orquestrar contêineres em uma aplicação em contêiner. A conteinerização possibilita que os desenvolvedores empacotem aplicações em um único contêiner isolado com dependências que podem ser implantadas virtualmente em qualquer lugar. 

Assim, é mais fácil gerenciar um único ou vários contêineres. Além disso, dependendo da funcionalidade ou do caso, os times podem até implantar contêineres como funções para aproveitar serviços FaaS (Function as a Service).

Mas, para isso, a quantidade de contêineres pode chegar a centenas ou milhares nos ambientes de produção. Resultado: gerenciamento sobrecarregado, exigindo até mesmo uma equipe grande. A boa notícia é que o Kubernetes gerencia a maior parte das tarefas de gerenciamento de contêineres automaticamente. Ou seja, as empresas são capazes de realizar implantações e atualizações de contêineres de forma eficaz, bem como dimensionamento, disponibilidade, armazenamento, segurança e rede dentro do cluster Kubernetes utilizando o Kubernetes para gerenciar esses contêineres.

Portanto, o Kubernetes é mais eficaz ao gerenciar contêineres em grande escala. Conte com a Geoambiente para configurar o cluster Kubernetes  e conectá-lo um pipeline DevOps para que as equipes tenham um pipeline de entrega simplificado para dar suporte ao ciclo de vida completo da aplicação.

Benefícios dos aplicativos Kubernetes

Automatização das operações: os comandos integrados do Kubernetes ficam por conta do trabalho pesado de gerenciamento de aplicativos, possibilitando automatizar as operações cotidianas. É uma garantia de que os aplicativos estão sempre sendo executados da forma que você precisa. 

Abstração de infraestrutura: o Kubernetes fica responsável pela computação, a rede e o armazenamento das suas cargas de trabalho. Como reflexo, os desenvolvedores ficam livres para se concentrarem nos aplicativos e não se preocuparem com o ambiente.

Monitoramento da integridade do serviço:  a arquitetura realiza constantemente verificações dos seus serviços, reiniciando os contêineres que apresentaram falhas ou pararam. Além disso, o K8s apenas disponibiliza os serviços aos usuários quando há certificação de que eles estão sendo executados

Ambientes multi-cloud e integração com Anthos: ao operar em vários ambientes de nuvem, as empresas geralmente buscam consistência e portabilidade. Para facilitar, recorrem a contêineres em um formato portátil, que pode ser executado para reempacotar cargas de trabalho em várias nuvens, enquanto se padroniza habilidades e processos de equipes que operam com plataformas. O Google criou o Kubernetes para gerenciar seus próprios contêineres e disponibilizou essa tecnologia para todas as empresas. E para facilitar ainda mais, oferece o Google Kubernetes Engine (GKE), um serviço confiável, seguro, baseado em nuvem e totalmente gerenciado simplifica a execução de aplicativos em containers, em qualquer lugar (outras nuvens ou on-premise), e não apenas na Google Cloud Platform (GCP).




A Geoambiente é Parceira Premier do Google Cloud e oferece ao mercado a solução Google Cloud enquanto plataforma, além de serviços desenvolvidos pelo nosso time de especialistas com base na tecnologia em nuvem.

Atendemos empresas que são referência de mercado (tanto setor privado quanto público). Sabemos como maximizar o poder da plataforma para atingir os objetivos do seu negócio.

Para saber mais informações sobre como a Geoambiente pode ajudar sua empresa a começar a jornada na nuvem, entre em contato com os nossos especialistas de Google Cloud.

Sobre o(a) autor(a)

Karen Ferraz

Jornalista especializada em tecnologia há mais de 10 anos, com atuação em veículos nacionais e internacionais. Atualmente, é mestranda em Sustentabilidade pela USP, onde pesquisa mudanças climáticas.

Deixe um Comentário