Quando deve utilizar o Kubernetes
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.
- 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.