Quando deve utilizar o Kubernetes

Concluído

A decisão de utilizar uma plataforma de orquestração de contentores como o Kubernetes depende dos requisitos empresariais e de programação. Segue uma revisão da arquitetura de alto nível da solução de controlo de drones.

A solução é criada como um conjunto de microsserviços concebidos como serviços de colaboração conjugados livremente. Para simplificar a conceção e a manutenção da solução, implemente estes serviços separadamente uns dos outros. Eis a configuração atual da sua solução.

Diagrama da arquitetura de alto nível que descreve a solução de controlo de drones.

  • Web front-end: Mostra mapas e informações sobre drones rastreados.
  • Serviço de cache: Armazena as informações solicitadas com frequência que aparecem no site.
  • API RESTful: Usada por drones rastreados para enviar dados sobre seu status, como localização GPS e níveis de carga da bateria.
  • Fila: contém dados não processados coletados pela API RESTful.
  • Serviço de processamento de dados: Busca e processa dados da fila.
  • Banco de dados NoSQL: Armazena dados de rastreamento processados e informações do usuário capturadas do site e do serviço de processamento de dados.

Estes serviços são criados e detidos por diferentes equipas na sua empresa. Cada equipa utiliza contentores para criar e implementar o seu serviço. Esta nova estratégia permite que as equipas de programadores continuem a satisfazer os requisitos da programação de software moderno para a automatização, os testes e a estabilidade e qualidade gerais.

A mudança nos requisitos do desenvolvedor resultou em vários benefícios de processo e negócios para a empresa. Por exemplo, uma melhor utilização de recursos de computação alojados, novas funcionalidades que melhoraram o tempo de colocação no mercado e um melhor alcance dos clientes.

No entanto, vários desafios com o gerenciamento de contêineres levaram sua empresa a investigar soluções de orquestração de contêineres. As suas equipas descobriram que o dimensionamento da aplicação de controlo para várias implementações é relativamente fácil, mas que o dimensionamento e a gestão de muitas instâncias são difíceis.

Existem outros aspetos a ter em conta. Os exemplos incluem lidar com contêineres com falha, alocação de armazenamento, configuração de rede e gerenciamento de segredos de aplicativos.

Como você aprendeu anteriormente, o Kubernetes fornece suporte para todos esses desafios como uma plataforma de orquestração.

Deve utilizar o Kubernetes quando a sua empresa:

  • Criar aplicações como microsserviços.
  • Criar aplicações como aplicações nativas de cloud.
  • Implementar microsserviços através de contentores.
  • Atualizar contentores em escala.
  • Exigir redes de contentor centralizadas e gestão de armazenamento.

Quando não deve utilizar o Kubernetes

Nem todas as aplicações necessitam de ser executadas no Kubernetes. Como tal, o Kubernetes poderá não ser adequado para a sua empresa.

Por exemplo, o esforço na conteinerização e implantação de um aplicativo monolítico pode ser mais do que os benefícios de executar o aplicativo no Kubernetes. Uma arquitetura monolítica não consegue utilizar facilmente atualizações ou funcionalidades como dimensionamento de componentes individuais.

O Kubernetes pode oferecer muitos benefícios empresariais em termos de criação de software, implementação, gestão e simplificação de processos. No entanto, o Kubernetes tem uma curva de aprendizagem acentuada. O design modular do Kubernetes introduz conceitos potencialmente novos que afetam as equipes em toda a sua empresa.

Suas equipes de desenvolvimento precisam adotar conceitos de design modernos ao desenvolver e projetar aplicativos. Esses conceitos incluem o uso de microsserviços e a conteinerização desses serviços. As equipes também precisam experimentar ambientes de contêiner e orquestração para fazer o melhor uso de todas as opções disponíveis.

Se a sua empresa não estiver pronta para realizar esta mudança, o Kubernetes poderá não ser uma boa opção para a mesma.