Em 2020, quando a Google decidiu definir o suporte ao Docker como ‘deprecated’, a partir da versão 1.20 do Kubernetes, e foi removido definitivamente em futuras versões, uma movimentação muito grande para encontrar alternativas foi criada. Diante disso, ainda vale a pena aprender Docker?
Contextualizando
Docker é uma plataforma para desenvolvimento, provisionamento e execução de aplicações usando tecnologia de containers. Esta plataforma oferece um conjunto de poderosas ferramentas que aprimoram a forma de criar e administrar aplicações entre ambientes diferentes. Além disso, garante isolamento de recursos para que o administrador possa disponibilizar uma aplicação segura.
Com a “revolução” da cultura DevOps – movimento que promove um conjunto de processos e métodos para pensar sobre comunicação e colaboração entre os desenvolvedores de software e administradores de sistemas computacionais – o surgimento de ferramentas que pretendem agilizar essas operações surgem até hoje. Entre elas, surgiu a Docker. Disponibilizada pela primeira vez em 2013, de lá pra cá o Docker vem numa crescente enorme! Principalmente, porque proporcionou agilidade na entrega dos serviços.
Contudo, em 2020, a Google decidiu definir o suporte ao Docker como ‘deprecated’, a partir da versão 1.20 do Kubernetes (maior orquestrador de containers existente no momento), e foi removido definitivamente em futuras versões, uma movimentação muito grande para encontrar alternativas foi criada. Ou seja, o Docker como um agente de execução primário foi deixado de lado em favor de agentes de execução que utilizam a Interface de Agente de Execução de Containers (Container Runtime Interface “CRI”) criada nativamente para o Kubernetes. E o povo da TI julgou isso como o fim do Docker :/
Mas, isso não significou a morte do Docker. Pelo contrário, o Docker ainda é uma ferramenta útil para a construção de containers, e as imagens resultantes ainda rodam em um cluster Kubernetes, por exemplo. Entretanto, antes de tudo isso, a Mirantis anunciou, em 2019, a aquisição da Docker Enterprise que é era o coração da empresa de Docker e linhas de produtos relacionados. Mais fatos que comprometeram a imagem da ferramenta. Assim, existe uma corrente que procura usar alternativas ao Docker (como o Podman) em detrimento do uso dele.
Aprender Docker?
Se a questão for falta de apoio ou suporte, conforme as releases notes oficiais, o projeto continua firme e forte.
Por outro lado, se a questão for a existência de alternativas para desbancar o Docker, o fato é real. Mas, não por completo. A Docker como PLATAFORMA a nível de usuário ainda é (2022) bem completa perante a outras que, eventualmente, fazem partes do que a Docker já faz por completo há muito tempo.
O grande ponto favorável da Docker, mesmo com alguns murmurinhos no meio do percurso, é que ela segue os padrões da OCI (Open Container Initiative) que garante que qualquer imagem criada com esses padrões, independente da ferramenta usada para construí-la, será vista da mesma, tanto Docker como outra alternativa que siga os padrões estabelecidos.
Por isso, se for para opinar sobre isso, digo que você deve ainda, sim, aprender Docker (o quanto antes) 🙂
Mas, por que aprender Docker?
Corriqueiramente, configurações de ambientes para sistemas web são encontradas em tutoriais na internet. Por exemplo, se deseja configurar um servidor Web Apache com suporte ao PHP, você precisa instalar: o apache, a extensão PHP, habilitar módulos e configurar Virtual Host’s (VHosts) para disponibilizar múltiplos sites numa única instalação do Apache; por exemplo.
Veja um exemplo disso em Docker
O que acabei de mostrar foi a execução de um Docker Container que é uma instância em execução de uma imagem docker, no imagem do Apache. Por isso, quando executei a imagem do docker usando o comando $docker run , esse container foi criado. Bom, hein?
Você pode até executá-los no mesmo host, pois estão completamente separados um do outro. Isso é realmente ótimo e permite que você execute qualquer comando da web, pois o efeito será isolado apenas naquele contêiner do Docker.
Portanto, isso já é um grande motivo para aprender Docker. Pois, o Docker, realmente, simplifica como você desenvolve e implanta seu código e executa seu aplicativo. O envio do seu aplicativo para um contêiner torna a implantação e o dimensionamento mais fáceis… Isso torna o DevOps fácil e torna seu ambiente de produção robusto.
Aprenda Docker do zero
Se percebeu os benefícios e o ganho de tempo na entrega dos serviços, lhe convido a conhecer o Curso Docker – Introdução a administração de containers – curso introdutório da plataforma Docker que lhe dará melhor compreensão sobre as vantagens da ferramenta. Esse curso foi criado por mim e disponibilizado na plataforma Udemy. Confira AQUI mais informações 🙂