Container: Uma nova tecnologia

Publicado em Últimas notícias, Data Center, por Juniper em 10/05/2016


Grandes companhias estão explorando as possibilidades que as soluções em container oferecem. Mas, afinal, do que se trata? Containers são ambientes portáveis e isolados que permitem aos desenvolvedores empacotar aplicações com todos os links e bibliotecas que as aplicações demandam. O uso desta tecnologia melhora a eficiência das equipes de software, porque facilita o trabalho conjunto de seus integrantes, ao mesmo tempo em que reduz despesas com comunicações.

Em grandes companhias, aplicações como conjuntos de software de ERP ou de CRM frequentemente começam como simples projetos, mas, com o passar do tempo, elas se tornam rapidamente “desajeitadas” e ineficientes, com um código base monolítico que emperra o progresso dos times de desenvolvimento. Para superar esta ineficiência, uma nova abordagem desagrega a aplicação em componentes menores, conhecidos como microsserviços. Adotar uma arquitetura de microsserviços dá às equipes de desenvolvimento eficiência operacional em função do pequeno código base de cada componente de aplicação.

Na medida em que o software passa por vários estágios de desenvolvimento pode avançar do PC do desenvolvedor para um ambiente de laboratório ou de teste; ou se mover de um ambiente físico para um virtual e, finalmente, para um de produção. Em cada um desses ambientes, a aplicação deve ter um desempenho consistente. A tecnologia de container resolve o problema dos desenvolvedores de software para encapsular um componente de aplicação em um pacote único e leve. Baseada em Linux, a tecnologia promete rodar com consistência entre um ambiente de computador para outro, seja ele virtual ou físico.

Os containers também são uma ferramenta ideal para DevOps*, tanto para desenvolvedores como para administradores de sistemas porque liberam os primeiros para manter o foco na sua atividade principal, enquanto os times de operações se beneficiam da flexibilidade, de menores áreas ocupadas no data center e de custos mais baixos.

A tecnologia de container trabalha melhor quando cada elemento é designado para um processo simples. Por isso, começar a implementar uma arquitetura de microsserviços para uma grande aplicação ou projeto de software pode representar uma demanda intensiva de recursos, mas é um esforço que é recompensado pelos ganhos de agilidade obtidos, em função da velocidade de implementação dos containers, que varia de mili segundos a poucos segundos. O carregamento da aplicação no container usa o kernel do servidor que hospeda o sistema operacional, o que exclui a necessidade de recuperar o sistema operacional (OS) como parte do processo inicial.

Gerenciadores de Containers

O grupo de máquinas físicas ou virtuais no qual os containers podem ser executados é chamado de cluster, que necessita de alguma forma de monitoramento. Como parte da evolução de tecnologias de container, as empresas podem empregar ferramentas de gerenciamento como o OpenShift e o Kubernetes, desenvolvido pela Google, as quais trabalham em conjunto com o Docker (projeto OpenSource que fornece uma plataforma para desenvolvedores e administradores de sistemas, permitindo que se crie containers). Além de operar como o equipamento de execução para containers, o Docker também provê o gerenciamento de seus sistemas de arquivos.

Ferramentas de gerenciamento de cluster como o Kubernetes em geral criam uma abstração no nível de um componente de aplicação. Essa abstração, chamada de pod, inclui um grupo de um ou mais containers, seu armazenamento compartilhado, e opções para operá-los. Agendar pods em uma máquina no cluster representa o Docker executando um container.

A missão da Juniper é proteger a rede fim a fim, automatizar problemas complexos de rede e desenvolver plataformas abertas e robustas que pavimentem o caminho para a adoção de tecnologias como as mencionadas. As empresas poderão adotar cada vez mais arquiteturas de microsserviços e aplicações em ambientes virtualizados e de cloud, adotando soluções inovadoras como containers, e ainda assim empregando funcionalidades avançadas de segurança

* DevOps: Junção das palavras desenvolvimento e operações. É uma cultura, movimento ou prática que enfatiza a colaboração e comunicação tanto entre desenvolvedores de software como entre outros profissionais de TI, ao mesmo tempo em que automatiza processos de mudanças na entrega de software e de infraestrutura. Seu objetivo é estabelecer uma cultura e um ambiente no qual as tarefas de desenvolver, testar e entregar software possam ser processadas de forma rápida, frequente e confiável.

Para saber mais sobre a tecnologia, acesse:

Os avanços da solução Contrail para SDN/NFV, na opinião de seus usuários
Firewalls mais ágeis e com tecnologia container
Solution: SDN Solutions
Blog: Demystifying Containers and Minimalist Operating Systems
Additional Insights Articles
 

 


Tags: Container, Cluster, DevOps, Docker, Linux, Microsserviços


Tags: container, cluster, devops, docker, linux, microsservicos


Posts Relacionados


Deixe seu comentário:

=