Vou te dar minha perspectiva. Os desenvolvedores devem se preocupar com o docker, pois existem outros desenvolvedores que desejam usar o docker e que já construíram um conhecimento nele. Eles estão dispostos a assumir as funções de engenheiro de DevOps, além de desenvolvedor. Portanto, a parte Ops do DevOps é o que eles estão desenvolvendo agora.
Hoje em dia, você encontra mais e mais pessoas que podem desenvolver, orquestrar, automatizar testes, automatizar tarefas e criar ferramentas para monitorar e levar esse pacote completo à produção sozinho. Esses são os caras que estão empurrando o docker e outras ferramentas entre a comunidade de desenvolvedores.
Além disso, a maré do mercado é direcionada para virtualização, dimensionamento automático, automação, aprendizado de máquina e docker. Tornou-se muito imperativo usar o docker. As empresas estão dispostas a pagar 2x por um indivíduo que assume todas essas responsabilidades e, quando houver demanda por esses indivíduos, o fornecimento também começará. Isso é do ponto de vista de um empregado-empregador.
Tecnicamente, nas organizações em que trabalhei, existem equipes de desenvolvimento e DevOps separadas, embora trabalhem de perto para entregas. Os engenheiros e desenvolvedores do DevOps compartilham uma grande maioria de conjuntos de habilidades aqui e, portanto, às vezes há uma negociação de tarefas.
O mínimo que um desenvolvedor pode fazer é compartilhar seus binários, mas ele precisa entender que os binários serão usados para executar dentro de um contêiner de docker e, para isso, ele precisa entender como o docker funciona. Para kubes, enxames, mesos, etc., o desenvolvedor pode nem se importar com o que está sendo usado, mas os conceitos básicos do docker devem ser muito bem entendidos pelo desenvolvedor e deve haver uma mentalidade desde o início para criar o aplicativo fracamente acoplado para reutilização. micro-serviços. Se o aplicativo for criado a partir dessa mentalidade (que requer noções básicas de janela de encaixe), os engenheiros do DevOps poderão levá-lo a partir daí para dimensionar, orquestrar, testar, implantar e monitorar automaticamente.
Além disso, na maioria das vezes não existe um tamanho único para todos os tipos de coisas. Um desenvolvedor não sabe claramente como criar um aplicativo compatível com docker e um engenheiro de DevOps com razão não conhece os aspectos internos do processo de criação de aplicativos. Portanto, na maioria das vezes, as organizações preferem dar essas duas tarefas ao mesmo cara para acelerar as coisas. Se houver coisas separadas, é necessário um mecanismo de feedback contínuo da equipe do DevOps para a equipe do desenvolvedor para tornar os aplicativos mais futuristas e prontos para o docker / cloud / scaling.