Ambientes de tecnologia precisam de resiliência, agilidade e estabilidade. Visando atingir esses atributos, é comum que empresas adotem tecnologias baseadas em containers para entregar suas aplicações e escalar suas capacidades de atender o usuário final de forma simples.

Apesar do boom em torno do assunto nos últimos anos, a tecnologia em si não é nada nova.

Datado de meados dos anos 70, o conceito ganhou força através da plataforma Docker que consegue simplificar seu uso e entregar ótimos níveis de desempenho com pouco ou nenhum esforço.

Ficou interessado no assunto? Continue lendo nosso post e saiba quais são as vantagens do uso de containers.

O que são containers?

A tecnologia consiste em aplicar camadas sobre o núcleo do sistema operacional do servidor de forma com que essas camadas estejam em um nível isolado do resto do sistema operacional e consumam apenas recursos necessários para execução do serviço do container.

Aqui vemos um novo conceito, o de microsserviços.

Isso significa que cada container tem uma função específica, como, por exemplo, entregar uma parte ou módulo de uma aplicação.

Alguns containers apenas executam alguns procedimentos por poucos segundos e são destruídos em seguida.

Essa arquitetura também acaba com o paradigma de administração de servidor.

Um container nasce pronto para fazer o que precisa ser feito, podendo ser destruído logo em seguida.

Caso o procedimento precise ser executado novamente, a imagem do container é instanciada novamente em poucos segundos. Este ciclo pode se repetir milhares de vezes por dia dependendo do ambiente.

Quando é necessário haver grande escalabilidade de containers, utilizamos orquestradores como o DockerSwarm, Kubernetes, Mesos, Openshift, etc.

Essas ferramentas monitoram o ecossistema de containers e alteram seu comportamento de acordo com atributos como picos de acesso, queda de servidores físicos, etc. Nesse cenário, os orquestradores são opcionais.

Quais são as vantagens de utilizar um container?

Em tempos onde automação é a nova lei, o container é justamente o que possibilita que ecossistemas sejam automatizados independente da infraestrutura que os receba.

As principais vantagens de usá-lo são:

Maior portabilidade

Quando o desenvolvedor do app entrega uma versão em container, isso significa que seu app já está encapsulado na infraestrutura e pronto para ser usado com mínima intervenção.

Independentemente de qual versão do Linux seu servidor rode, se o Docker está instalado, o app vai rodar de forma idêntica ao container que estava na máquina do desenvolvedor.

Migração facilitada

Imagens Docker são facilmente customizáveis, tanto em implementações estáticas quanto em tempo de execução através de variáveis de ambiente.

É comum que o desenvolvedor permita que configurações de banco de dados, comportamento do app ou performance sejam configuradas através de variáveis de ambiente na hora de fazer o deploy do container.

Na prática, isso significa que uma aplicação containerizada pode ser instalada em qualquer ecossistema ainda que credenciais e endereços do banco de dados mudem ou hajam escopos variados para seu comportamento.

Ambiente seguro

A partir do momento em que seu aplicativo está em container, isso significa que você sabe tudo sobre sua construção de ponta a ponta.

Isso torna seu ecossistema extremamente testável e auditável. Nada fica obscuro em relação a como as coisas estão sendo executadas.

Se falarmos em relação às alterações ou invasões, o container tende a ser totalmente stateless, ou seja, ele nasce sempre com o mesmo estado.

Caso um atacante consiga invadir seu sistema e alterar trechos de código, basta que você destrua o container e suba um novo.

Já no que se refere à segurança interna, containers têm camadas de isolamento entre si e o host.

Isso é uma proteção em duas vias, já que beneficia o sistema operacional do host e os apps containerizados, tanto em hosts bare metal quanto virtualizados.

Continue lendo sobre o assunto em nosso post que aprofunda mais no assunto de orquestradores, conheça os mais utilizados clicando aqui!

(Imagens: divulgação)


  • Share:
Contato via Site CL9