Recursos/White Papers

Tecnologia

Cinco motivos pelos quais os desenvolvedores adoram containers

Os desenvolvedores são uma força motriz por trás da adoção da tecnologia de container, em geral e Docker, em particular. Aqui está o porquê

Paul Rubens, CIO/EUA

Publicada em 10 de abril de 2017 às 12h43

Os containers Linux existem há quase uma década, mas foi apenas com o lançamento do Docker, há quatro anos, que um grande número de desenvolvedores começou a adotar a tecnologia. Agora parece que os containers estão em toda parte e sua popularidade continua a aumentar.

Os containers tornaram-se uma parte tão importante do cenário de TI que gigantes da virtualização de servidores, como VMware e Microsoft, tiveram que sair de seu caminho para acomodá-los. A VMware agora oferece uma maneira de implantar, executar e gerenciar containers de seu sistema de gerenciamento de infraestrutura de virtualização vSphere, enquanto a Microsoft - que construiu a virtualização de servidores Hyper-V em seu produto Windows Server - fez parceria com Docker para criar containers do Windows Server e adicionar suporte ao kernel do Windows 10.

Isso ocorre porque as máquinas virtuais (VMs) costumavam ser a tecnologia go-to para organizações ágeis. Agora, muitas dessas organizações estão repensando suas estratégias de virtualização e olhando para contêineres, além de, ou em vez de, VMs.

Mas quais motivos levaram os containers a ser tão populares entre os desenvolvedores? 

As razões incluem a facilidade de instalação e uso, capacidade de automatizar tarefas comuns, a documentação e, talvez, até mesmo o fato do principal produto ser de código aberto. É quase certo que esses fatores, combinados, ajudaram a tornar o Docker popular entre os desenvolvedores.

Mas há outras razões. 

1. Tendência para microserviços 
Há uma tendência hoje para arquitetura de microserviços, com aplicativos construídos a partir de múltiplos componentes autosuficientes. Em muitos casos, estes componentes são candidatos perfeitos para a contêinerização. "Os desenvolvedores gostam de containers porque facilitam a passagem para uma arquitetura de microserviços - reduzem o atrito", diz Dave Bartoletti, analista da Forrester Research.

De fato, a relação entre containers e a arquitetura de microserviços é complexa porque os dois são interdependentes, de acordo com Al Gillen, analista de desenvolvimento de software da empresa de pesquisa IDC.

"Os containers dão a você a capacidade de 'fazer' microserviços, e microserviços funcionam bem com containers", diz ele.

Dito de outra forma, os desenvolvedores gostam de containers porque eles são convenientes para a construção de microserviços, e uma razão para a popularidade da arquitetura microserviços é que os containers  os tornam de fácil implementação.

É tipo a situação do que veio primeiro, se o ovo ou a galinha.

containers

2. Ascensão do DevOps 
Há uma outra razão para que os desenvolvedores gostem da arquitetura de microserviços, diz Gillen. "Se você construir microserviços, ou um app compartimentado com pequenas peças lógicas que interagem através de APIs, então isso é melhor para se mover para DevOps", diz ele.

Você poderia argumentar que a maioria dos desenvolvedores se preocupa em escrever código e não sobre como seus aplicativos são implantados, mas a realidade é que o processo DevOps está se tornando mais comum e o uso de containers certamente facilita a implantação. Isso ocorre porque oscontainers serão executados em qualquer ambiente - de um laptop a um data center ou na nuvem - e muitas tarefas do DevOps podem ser automatizadas usando Docker.

"É claro que você  pode fazer DevOps sem container", diz Bartoletti. "Se você quer DevOps, é fácil de fazer implantar a metodologia em uma infraestrutura de containers".

3. Preguiça do desenvolvedor 
Larry Wall, o irreverente autor da linguagem de programação Perl, diz que a preguiça é uma das "três virtudes dos grandes programadores". As outras duas são impaciência e arrogância.

Preguiça, neste contexto, significa usar ferramentas de economia de trabalho e automação sempre que possível, e containers tornam este tipo de preguiça muito fácil.

O uso do Docker também torna mais fácil para os desenvolvedores serem preguiçosos, oferecendo um conjunto útil de ferramentas que automatizam muitas das tarefas mais chatas e mundanas associadas ao processo de criação e desenvolvimento de aplicativos.

docker

4. Atração por ferramentas de código aberto 
O simples fato de que o Docker é de código aberto e tem uma ampla comunidade de contribuidores, bem como de parceiros, é outra razão para a sua popularidade entre os desenvolvedores.

Ferramentas de desenvolvimento de código aberto tendem a ser populares entre os desenvolvedores porque eles estão interessados ​​em ferramentas de desenvolvimento em geral e porque estão qualificados para escrever e contribuir com o código - ou plugins para o código - para torná-las melhores.

Além disso, muitos desenvolvedores relutam em ficar "trancados" em plataformas proprietárias, de um determinado fornecedor, e o Docker faz parte de um ecossistema de código aberto que inclui o sistema de orquestração Docker, por exemplo, mas também sistemas de orquestração alternativos, como o Google Kubernetes. E porque é de código aberto, os desenvolvedores são livres para escrever seu próprio sistema de orquestração, se assim o desejarem.

Como um sistema de container como o Docker é uma parte fundamental da infraestrutura de TI de uma organização, o fato de ser de código aberto também é extremamente útil quando se trata de solução de problemas e otimização. Como os desenvolvedores não estão trabalhando com uma "caixa preta", quando ocorrem problemas ou comportamento inesperado, eles podem examinar o código-fonte do Docker para identificar problemas e entender como trabalhar em torno deles.

5. Melhores perspectivas de carreira
Uma última razão pela qual os desenvolvedores gostam de usar containers e Docker é que são novos. "Os desenvolvedores geralmente querem colocar as mãos nas novas ferramentas, porque isso pode representar um investimento em sua carreira", diz ele.

"Você não quer que o item principal em seu currículo seja 50 anos de experiência COBOL, mas se você pode dizer que você está alinhado com técnicas de desenvolvimento ágil e familiarizado com Docker. Isso cai bem. "



Reportagens mais lidas

Acesse a comunidade da CIO

LinkedIn
A partir da comunidade no LinkedIn, a CIO promove a troca de informações entre os líderes de TI. Acesse aqui