A computação em nuvem vem ganhando cada vez mais adeptos, em grande parte devido a sua
facilidade de utilização aliado ao baixo custo. Porém, os métodos tradicionais de virtualização
que sempre foram utilizados pelas empresas quando se é necessário poder computacional, não
vem conseguindo acompanhar a agilidade necessária pelos projetos atuais. Assim, foi
desenvolvida a tecnologia de containers Docker, que aliada aos orquestradores de cluster,
trazem mais agilidade e confiança para projetos modernos. Docker é um projeto open-source
que engloba o código e dependências de uma aplicação e permite uma execução rápida e
confiável. É uma abstração na camada de aplicação que executa processos isolados. Isso
oferece agilidade para o desenvolvimento e execução de aplicações em nuvem, especialmente
quando combinado com aplicações que se utilizam de micro serviços. Se utiliza do conceito
de containers Linux, que foi quem introduziu essa ideia de isolamento dentro do sistema
operacional. A tecnologia de containers vem sendo cada vez mais utilizada entre empresas de
grande porte, por exemplo Twitter e Netflix já utilizam em grande escala em suas aplicações.
Para aprimorar o controle sobre essas aplicações em containers, a Google em 2014
desenvolveu o Kubernetes, que é um serviço em cluster responsável por executar e
administrar aplicações em containers. Dessa maneira, este trabalho tem como objetivo
comparar máquinas virtuais tradicionais com clusters Kubernetes, através de testes de
benchmarking em uma aplicação web e realizar análises relacionadas ao ciclo de
desenvolvimento utilizando as duas arquiteturas. Assim, teremos dados para verificar as
vantagens e desvantagens de se utilizar as novas tecnologias baseadas em containers por meio
da comparação direta entre as duas arquiteturas estudadas. |