Docker DOCKER – A REVOLUÇÃO DA INFRAESTRUTURA DE SISTEMAS DA TECNOLOGIA DA INFORMAÇÃO

  • Pedro Daniel Portes UNIBRASIL
Palavras-chave: Docker, container, virtualização, infraestrutura

Resumo

Com a popularização de metodologias ágeis para o desenvolvimento de software, paralelamente, surge a necessidade de que a infraestrutura que hospeda os softwares seja configurada e publicada o mais rápido possível. Neste panorama, surge o Docker como uma solução robusta para processos de integração e entrega continua (continous integration and continous delivery CI/CD). Ao contrário de maquinas virtuais convencionais, que possuem um sistema operacional inteiro, com tamanho de gigabytes e precisam de um hypervisor (software que separa os componentes da máquina física necessários para a execução de máquinas virtuais, como, por exemplo, CPU, memória e armazenamento) para funcionarem, o Docker provisiona meios para a criação de contêineres, ou seja, ambientes isolados, altamente portáteis e virtualizados no nível do sistema operacional hospedeiro, semelhante ao hypervisor, porem mais leve, onde contém somente o preciso para executar uma aplicação, não necessitando a criação de máquinas virtuais implicando em custos altos de manutenção e levam minutos para serem provisionadas. Devido a esta vantagem de tamanho, geralmente, contêineres possuem um tamanho em megabytes, cópias de um contêiner podem ser criadas e ficarem disponíveis para uso em segundos, cenários com tráfego elevado de dados e usuários, que congestionam e tiram do ar aplicações, são um bom exemplo para este cenário, onde que ferramentas como essa auxilia a aplicação a distribuir a sua carga de trabalho, mantendo sua disponibilidade. Além das vantagens de portabilidade e tamanho de um contêiner, eles podem ser configurados programaticamente, significando que, em equipes grandes de desenvolvedores de softwares, todos irão compartilhar da mesma infraestrutura, facilitando os testes da aplicação e resolução de erros, esta metodologia, evita erros que só são encontrados em ambientes de produção ou homologação, por configurações feitas de maneiras diferentes nestes ambientes. Uma vez definida esta configuração, futuras mudanças estarão disponíveis para todos e, fisicamente, será alterado apenas aquilo que foi mexido, não havendo a necessidade de criar um contêiner novo. Podemos perceber que o Docker veio para ficar e em conjunto de ferramentas de orquestração de contêineres como o kubernetes e openshift, auxilia todos os envolvidos no ciclo de vida de um software, os desenvolvedores se beneficiam de uma infraestrutura única para execução de seus códigos, administradores de sistemas se aproveitam da fácil adição e remoção de recursos e contêineres para manter a disponibilidade e aplicação saudáveis e, por fim, a empresa enxerga os custos da sua infraestrutura e sua manutenção caírem, seja em ambientes nativamente em nuvem, on-premisses (mantidos em uma estrutura física da própria empresa) ou ambientes híbridos, alguns recursos em nuvem e outros locais. Seja em qual for, os contêineres se comportarão da mesma maneira.

Referências

https://docs.docker.com/get-started/overview/
Publicado
2022-11-25
Seção
Engenharia de Software