As tecnologias emergentes devem demonstrar valor antes de se tornarem convencionais na TI corporativa. Os PCs fizeram essa transição na década de 1980, depois a virtualização no início de 2000. Hoje, o container Kubernetes continua sua jornada nas funções de TI convencionais.
Os clusters do Kubernetes têm se tornado cada vez mais um serviço de infraestrutura de TI central, em vez de uma plataforma que os desenvolvedores gerenciam dentro de VMs.
Como parte dessa mudança, uma equipe de operações de TI precisa de ferramentas melhores para implantar e gerenciar o Kubernetes na produção.
Entenda Kubernetes
Kubernetes é um sistema de código aberto usado para gerenciar contêineres Linux em ambientes de nuvem privada, pública e híbrida. Em outras palavras, o Kubernetes pode ser usado para gerenciar arquiteturas de micros serviço e pode ser implantado na maioria dos provedores de nuvem.
A tecnologia empregada pelo Kubernetes automatiza a implantação, dimensionamento, manutenção, programação e operação de vários contêineres de aplicativos em clusters de nós.
Os contêineres são executados em cima de um sistema operacional (SO) comum compartilhado em máquinas host, mas são isolados uns dos outros, a menos que um usuário decida conectá-los.
Na prática, o Kubernetes é usado principalmente por desenvolvedores de aplicativos e administradores de sistema de TI – incluindo engenheiros DevOps – em organizações que implantam contêineres.
Além disso, o Kubernetes permite que os usuários planejem, executem e monitorem contêineres, normalmente em configurações em cluster, automatizando tarefas operacionais relacionadas. Esses incluem:
- Verificar continuamente a integridade do contêiner, reiniciando quando ocorrer falhas e removendo os que não respondem.
- Executar o balanceamento de carga para distribuir o tráfego em várias instâncias de contêiner.
- Lidar com diversos tipos de armazenamento para dados de contêiner, de armazenamento local a recursos de nuvem.
- Definir e modificar os estados preferenciais para a implantação do contêiner. Os usuários podem criar novas instâncias de contêiner, migrar as existentes para eles e remover as antigas.
- Adicionar um nível de inteligência às implantações de contêineres, como otimização de recursos, identificando quais nós estão disponíveis e quais recursos são necessários para os contêineres e ajuste os contêineres automaticamente a esses nós.
- Gerenciar senhas, tokens, chaves SSH e outras informações confidenciais.
Os desafios permanecem com o Kubernetes em produção para as equipes de TI
Embora os avanços do mercado tenham simplificado a implementação do Kubernetes e o uso da produção, as equipes de operações de TI ainda enfrentam vários desafios com o sistema de gerenciamento de contêineres – ou seja, monitoramento e solução de problemas e gerenciamento de dados.
Monitoramento e solução de problemas
Uma tarefa padrão para as equipes de operações de TI é monitorar a disponibilidade e o desempenho dos aplicativos e, em seguida, resolver quaisquer problemas que surjam. O Kubernetes adiciona outra camada de abstração que requer monitoramento adicional para entender a integridade geral do aplicativo.
As ferramentas existentes de monitoramento de TI corporativo precisam expandir sua cobertura para incluir o Kubernetes como uma plataforma e permitir que as equipes de operações de TI monitorem o Kubernetes em produção, bem como monitorem os hipervisores.
Armazenamento e gerenciamento de dados
Os containers Docker e Kubernetes atendem à necessidade de empacotar e executar aplicativos, mas ainda há o problema dos dados.
Muitos aplicativos dentro do Docker e Kubernetes exigem servidores de arquivos e banco de dados para armazenar grandes quantidades de dados. Grandes volumes de dados valiosos demoram para copiar ou mover, o que limita a mobilidade dos aplicativos.
Esperava-se inicialmente que os contêineres do Docker fossem temporários e efêmeros, sem dados persistentes. Agora, as empresas podem ter armazenamento completo anexado a contêineres como volumes.
No entanto, os volumes podem ser ainda mais difíceis de copiar ou mover do que os servidores de arquivos e bancos de dados. A mobilidade de dados sempre foi um desafio para as operações de TI, que nem os contêineres nem o Kubernetes eliminam.
Adicione uma malha de serviço para o apoio ao Kubernetes
Uma malha de serviço (service mesh) é uma ferramenta emergente para aplicativos de micros serviço que usam Docker e Kubernetes. Ela permite que vários micros serviços se descubram e restringe a comunicação a caminhos permitidos entre eles.
Nem todo aplicativo no Kubernetes exigirá uma malha de serviço, mas a tecnologia tem potencial para se tornar um requisito padrão incluído em uma plataforma Kubernetes – e dará suporte adicional uma transição à tecnologia para um componente central da infraestrutura de TI.
Sobre a Service IT
Tecnologia é a nossa especialidade! Integradora de soluções e serviços de TI desde 1995, a Service IT possui uma equipe de profissionais altamente treinados e capazes de atender as demandas de tecnologia da sua empresa. E por isso, se responder a perguntas como a que foi feita ainda é um desafio para sua empresa, entre em contato agora mesmo!
A Service IT é especializada em outsourcing e consultoria de tecnologia. Distribuída através de escritórios em Porto Alegre, Curitiba, São Paulo, Rio de Janeiro, Buenos Aires e Santiago, a empresa possui estrutura preparada para atender toda a América Latina. Com um Centro de Operações próprio, a Service IT monitora e gerencia o ambiente de TI de seus principais clientes com foco em infraestrutura, managed services, cloud e segurança.