Como construir uma infraestrutura amigável para containers

As empresas se vêem hoje com a incumbência de atender a uma demanda de usuários cada vez mais exigentes. O mundo hoje espera que serviços de natureza altamente holística sejam entregues com rapidez e confiabilidade, e há pouca tolerância para o fracasso.

A entrega deste nível de serviço está levando muitas organizações a implementar novas arquiteturas baseadas em containers e a nova classe de microserviços que elas oferecem. Mas infraestrutura container-friendly não vem de um vácuo, e como muitas empresas estão aprendendo, é preciso um pouco de trabalho extra para atualizar ambientes legados para suportar eficazmente arquiteturas de microserviços.

Uma das primeiras coisas a mudar, de acordo com o executivo Matt Ellis, da Tibco, foi a estrutura organizacional interna das empresas. Em um webinar recente realizado pela RT Insights, Ellis afirma que “antes das organizações abraçarem soluções como a Tibco Integration Stack, elas precisam adotar um modelo DevOps de entrega contínua/integração contínua de aplicativos e serviços, preferencialmente baseados em workflows concatenados com as equipes que acomodam os padrões preferidos de integração (B2B, API, MFT) e de implementação (on-premise, cloud, IoT). A partir daí, a empresa pode então empregar várias soluções de infraestrutura baseada em nuvem híbrida e os sistemas de gerenciamento necessários que mantêm um ambiente coeso.

Os microserviços também exigirão uma nova abordagem para a rede, diz Ranga Rajagopalan, CTO da Avi Networks. A velocidade e a flexibilidade dos containers permitem que as aplicações sejam quebradas em várias partes constituintes, o que proporciona um ambiente de desenvolvimento eficaz porque as funções individuais podem ser misturadas, combinadas e atualizadas sem desplugar o aplicativo inteiro. Mas isso também requer uma ampla conectividade horizontalizada para permitir que os containers se comuniquem diretamente, ao invés do fluxo verticalizado de arquiteturas de dados tradicionais. Isso significa que as empresas terão que investir na flexibilidade e elasticidade de serviços, balanceadores de carga de software distribuídos e feedback de dados da rede em tempo real para garantir conectividade flexível e confiável em ambientes distribuídos.

Quando comparado com as arquiteturas de software monolíticas que temos hoje, containers e microserviços evidentemente fornecem um ecossistema de desenvolvimento altamente dinâmico e escalável. Mas há algumas desvantagens. Por um lado, diz Josh Symonds da AppDynamics, “eles exigem um alto grau de automação de infraestrutura, algo ainda bastante incipiente no que se refere a sistemas legados. Além disso, obter dados de serviço para serviço de forma consistente será um desafio para qualquer negócio – algo que provavelmente exigirá um conjunto de microserviços apenas para manter a representação canônica de mensagens de objetos e dados de autenticação. Na maioria dos casos, no entanto, as organizações vão descobrir que a vantagem dos ambientes “conteinerizados” supera a desvantagem.

Os executivos também logo perceberão que os containers não são a solução “perfeita” para todos os aplicativos e serviços. Conforme destacou Dale Kim, da MapR, os containers não são bons para aplicativos que exigem dados persistentes. Sem meios para armazenamento de dados a longo prazo, o container perde seus arquivos quando é desativado – mesmo se a intenção seja reimplementar um novo servidor. Claro, você pode armazenar dados em um sistema de arquivos do host, mas isso inibe a portabilidade do container porque seus movimentos devem agora ser coordenados com um cluster de analytics centralizado. E com os volumes de hoje e a atividade de alta performance e velocidade, as soluções de armazenamento tradicionais como SAN, NAS e DBMS são financeira e operacionalmente inviáveis. O desenvolvimento com base em soluções de container persistente está evoluindo, logo, há uma boa chance de que uma opção viável venha a surgir dentro em breve.

Os containers e os microserviços certamente irão compor grande parte do que está se tornando o ambiente de dados da próxima geração, e o crescimento de uma infraestrutura abstrata e definida por software permitirá que essa transição se desenrole rapidamente.

E uma vez que o verdadeiro trabalho de conversão da infraestrutura legada esteja concluído, o próximo desafio será aproveitar os microserviços de maneiras que atraiam o mais exigente “consumidor de dados” da atualidade.

Fonte: ITBusinessEdge

21