Olá, pessoal!
Este artigo é um pouco mais voltado para o conceito e as ideias que fazem do Docker uma tecnologia/solução tão inovadora, eficiente e, claro, popular.
Precisamos entender, antes de tudo, como a vida de um profissional pode ser. Primeiro, temos o mundo das empresas que adotam o método tradicional de trabalho – nessa empresa, o horário é fixo, as decisões são demoradas e geralmente as ideias que você pode ter estão descritas em um manual interno.
Geralmente essas empresas demoram a reagir ao mercado, ou seja, algo novo demora a ser posto em prática, e as mudanças são vistas como um problema.
Temos outro mundo, a de empresas que veem em mudanças um forma de ganhar espaço no mercado, e ideias novas e desafios são um requisito para se trabalhar, você é instigado a ver as coisas de uma outra perspectiva, pois deve se manter sempre à frente do que vem em seguida.
Um os grandes entraves em ambas as empresas é a diferenciação que há entre as equipes de desenvolvimento e infraestrutura – elas não se conversam, e o que uma propõe é um problema para a outra. Isso leva apenas a um lugar: estagnação, pois gera a não colaboração entre elas para criar ou resolver algo que seja vital para a empresa.
Felizmente essa percepção está sendo mudada e, em seu lugar, surgiu um novo conceito de trabalho, que serve para ambas as empresas que mencionei acima: o conceito de DevOps. Mas o que ser isso, cacique?
DevOps é uma metodologia que incentiva uma maior integração entre as diferentes áreas da empresa, ou seja, em vez de cada um fazer uma coisa, as equipes tendem a se integrar em prol de um objetivo comum, seja um projeto ou a resolução de um problema.
Para que isso seja possível, existem diversas ferramentas que auxiliam o desenvolvimento conjunto de projetos, desde base de conhecimento até orquestração de serviços. É nesse sentido que o Docker auxilia tanto o pessoal de Dev quanto o pessoal de Ops. O Docker permite que o desenvolvedor tenha todo o seu ambiente de desenvolvimento e teste totalmente agnóstico da infraestrutura. Da mesma forma, ele permite ao analista de infraestrutura realizar ou configurar o ambiente de produção de uma maneira muito mais segura e eficiente, pois basta replicar o ambiente de homologação (que já foi testado pelo desenvolvedor) no ambiente de produção, e isso sem se preocupar com as diferenças nos ambiente, pois é o mesmo ambiente.
Outro beneficio que o Docker proporciona é a agilidade no deploy das aplicações, pois não é necessário subir uma instância ou instalar um servidor todo apenas para testar algo, basta criar um container e subir sua aplicação.
Nos próximos artigos, nós iniciaremos alguns tutoriais que explicarão melhor como podemos integrar de forma mais eficiente o Docker a outras ferramentas, permitindo criar um ecossistema completo de desenvolvimento e integra contínua, tendo em vista os benefícios tanta para Dev quanto Ops.