Categorias
Tutoriais

Nós amamos Kubernetes (microsserviços)

Kubernetes compreende um universos de microsserviços que mudaram a face do desenvolvimento de aplicativos. Várias organizações já experimentam microsserviços há um tempo e um grande número dessas empresas já mudou a maneira como desenvolvem aplicativos.

Entenda microsserviços e contêiners

Microsserviços e contêineres são feitos apenas um para o outro. Contêineres são componentes menores de um aplicativo que levam menos tempo para configurar e usar muito menos recursos que as VMs. Os contêineres também são completamente isolados e isso ajuda seu aplicativo baseado em microsserviços a funcionar melhor. No entanto, as cargas de trabalho tornaram-se complexas nos últimos dois anos, à medida que a confiança nos microsserviços aumentou. Isso levou a problemas com escalabilidade e gerenciamento. A configuração de contêineres não é difícil, o problema real é operá-los e gerenciá-los. E, à medida que o número de contêineres implantados aumenta, a expansão pode se tornar um pouco de dor de cabeça. Foi aqui que o Kubernetes entrou.

KUBERNETES DIAGRAMA
KUBERNETES DIAGRAMA

O Kubernetes é uma ferramenta de orquestração de contêiner (microsserviços) de código-fonte aberto que ajuda as organizações a automatizar a implantação, o dimensionamento e o gerenciamento de cargas de trabalho em contêiner.

Qual o motivo do sucesso dos kubernetes?

Desde o desembarque em cena, o Kubernetes conquistou muitos seguidores e se tornou a ferramenta de orquestração de contêineres mais popular. Há uma comunidade movimentada de desenvolvedores que ajudam o Kubernetes a crescer e evoluir para uma versão cada vez mais impressionante de si mesma. Depois de ser desenvolvido pelo Google, o Kubernetes tornou-se parte da CNCF (Cloud Native Computing Foundation), que é a prova do sucesso desse projeto. O Kubernetes ajuda as organizações a gerenciar e monitorar seus contêineres para garantir alta disponibilidade. O Kubernetes permite que os clientes montem qualquer tipo de armazenamento, seja local, nuvem pública ou armazenamento em rede. O Kubernetes também é auto-reparável, o que significa que reinicia os contêineres que falham e também mata os contêineres que não respondem às verificações de saúde e os mantém longe dos clientes até que sejam consertados. O Kubernetes também executa lançamentos progressivos de atualizações e também realiza reversões automatizadas caso as alterações levem à falha.

Vejamos alguns estudos de caso das principais organizações que usam o Kubernetes para ajudar a resolver os desafios que enfrentaram ao adotar microsserviços.

Pinterest

O popular mecanismo de descoberta visual tornou-se parte da comunidade Kubernetes. O Pinterest tem mais de 250 milhões de usuários ativos mensais para os quais fornece mais de 10 bilhões de recomendações. O Pinterest possui uma enorme frota de servidores e mais de 300 petabytes de dados. Está na nuvem desde o primeiro dia. No entanto, à medida que a empresa cresceu, tornou-se uma missão importante liberar a sobrecarga do gerenciamento de VMs. É por isso que eles avaliaram várias plataformas e finalmente acabaram escolhendo o Kubernetes, quando é necessário executarem microsserviços.

Kubernetes ajudou o Pinterest a aumentar sua velocidade de entrega reduzindo o tempo de colocação no mercado para apenas alguns minutos. O aprendizado de máquina é um caso de uso importante para o Pinterest, pois ele aciona seu mecanismo de descoberta visual. O Kubernetes permite ao Pinterest criar, dimensionar, implantar e iterar seus modelos de maneira rápida e fácil. O Kubernetes também ajuda a fornecer ao Pinterest uma abstração limpa, pois cuida de vários trabalhos manuais anteriormente e permite que os desenvolvedores se concentrem na inovação. Isso mostra como o Kubernetes ajuda as organizações a minimizar o trabalho manual e remove a desordem.

Spotify

O Spotify é o serviço de streaming de música mais popular, com mais de 200 milhões de usuários ativos mensais. O Spotify adotou microsserviços há muito tempo. Ele está executando microsserviços em contêineres em suas próprias VMs com uma plataforma de orquestração de contêineres doméstica, a Helios. O Spotify queria aproveitar o Kubernetes como uma solução complementar ao Helios, para compensar os recursos que sua própria plataforma não possuía.

O Spotify está ativamente realizando a migração de suas cargas de trabalho para a plataforma Kubernetes. Eles começaram pequenos com uma pequena porcentagem para experimentar a plataforma de código aberto antes de mergulhar fundo. Depois de adotar o Kubernetes, os desenvolvedores do Spotify exigem menos esforço no provisionamento manual de capacidade e podem gastar mais tempo fornecendo novos recursos.

O Spotify também obteve maior velocidade e custos reduzidos com a adoção do Kubernetes. Os serviços que levaram uma hora para criar e executar na produção agora exigem apenas minutos ou até segundos. O maior serviço em execução no Kubernetes recebe 10 milhões de solicitações por segundo. O Kubernetes também ajuda a melhorar a utilização da CPU, em grande medida. O Spotify esclareceu que sua migração para o Kubernetes continuará em paralelo com o Helios para causar o mínimo de interrupção nas cargas de trabalho existentes. Isso é um testemunho de como o Kubernetes é adaptável e como ele pode coexistir com sua pilha existente, oferecendo a máxima flexibilidade.

Bose

A Bose produz dispositivos conectados há vários anos. No entanto, quando a demanda começou a crescer, a Bose começou a construir uma plataforma do zero para acomodá-la. A Bose precisava de uma maneira mais rápida de prototipar e implantar serviços na produção, mantendo também a neutralidade do fornecedor. Para isso, eles avaliaram várias plataformas e finalmente escolheram o Kubernetes devido à sua plataforma como serviço de IoT dimensionada em execução na AWS.

A nova plataforma foi lançada juntamente com o Prometheus para atender cerca de 3 milhões de dispositivos conectados. Hoje, a Bose possui mais de 1.800 namespaces e 340 nós de trabalhadores em um de seus clusters de produção ao vivo. A Bose tem cerca de 100 engenheiros trabalhando nessa plataforma e esta ajuda a fazer 30.000 implantações que não são de produção a cada ano. Bose ficou impressionado que, com o Kubernetes, um serviço pode passar do conceito à produção em questão de duas semanas e meia. Este estudo de caso mostra como o Kubernetes pode ser usado para dimensionar até suas cargas de trabalho complexas de IoT.

Adidas

A Adidas é uma das empresas de artigos esportivos mais populares do mundo e também depende muito da Kubernetes para alimentar sua pilha de tecnologias. O principal requisito para a Adidas era criar VMs. No processo antigo, a criação de uma máquina virtual às vezes levava dias ou semanas, o que impactaria a produtividade dos desenvolvedores. O Kubernetes ajudou a se livrar da sobrecarga que vem com uma infraestrutura baseada em VM, pois os microsserviços podem ser implementados rapidamente.

A Adidas entende que configurar um serviço não é difícil, são as tarefas do dia 2 que podem se tornar um fardo para os desenvolvedores. O Kubernetes assumiu essas atividades do dia 2, ajudando os desenvolvedores a se concentrarem na criação de aplicativos mais novos, com mais rapidez. As implantações que costumavam levar de quatro a cinco dias agora podem ser implantadas quatro a cinco vezes por dia com a ajuda do Kubernetes. Atualmente, a Adidas possui mais de 4.000 pods rodando no Kubernetes, atingindo a velocidade necessária para desenvolver aplicativos mais rapidamente do que nunca.

Porque Kubernetes e microsserviços fazem tanto sucesso?

O Kubernetes está sendo adotado pelas empresas devido à sua flexibilidade e facilidade de aplicação a vários casos de uso. E isso é por causa da comunidade por trás disso. Várias organizações acham atraente o uso de uma plataforma de código aberto para gerenciar seus microsserviços em contêiner. A maior parte disso tem a ver com a comunidade ativa que segue o Kubernetes. Há também um ecossistema crescente de ferramentas em torno do Kubernetes que o torna ideal para empresas que desejam testar as águas.

Hoje, as cargas de trabalho podem se tornar extremamente complexas e a expansão pode se tornar tediosa e, às vezes, impossível. Com o Kubernetes, você cria uma pilha de infraestrutura que evolui à medida que suas cargas de trabalho evoluem. Você pode usá-lo para executar um aplicativo pequeno ou uma enorme carga de trabalho com vários servidores e milhares de serviços. O Kubernetes também garante maior disponibilidade de seus serviços, através da divisão de tarefas por microsserviços. Vários fornecedores fornecem suporte ao Kubernetes devido à sua popularidade nas bolas de neve. E, pelo que parece, está aqui para ficar.

Fonte: http://techgenix.com

Conheça mais sobre a tecnologia acessando os links abaixo:

Kubernetes e a segurança

Kubernetes, uma solução Google/Redhat.

Canonical aprimora confiabilidade dos Kubernetes para IoT

 

Por Adriano Frare

Especialista em segurança. Certificado CISSP e Certicate Ethical Hacking. Gerente de projetos experiente com um histórico comprovado de trabalho no setor de administração governamental. Hábil em Planejamento Estratégico, ITIL, Project Management Office (PMO), Gerenciamento de Serviços de TI e Project Management Body of Knowledge (PMBOK), Certificado Digital (PKI), Segurança (CEH), CISSP, vendas usando métodos Soluction Selling (IBM).

Sair da versão mobile