Je vais vous donner mon point de vue. Les développeurs doivent se soucier de Docker car il existe d'autres développeurs qui sont prêts à utiliser Docker et ont déjà acquis une expertise dans ce domaine. Ils sont prêts à assumer les rôles d'ingénieur DevOps en plus d'être développeur. Donc, la partie Ops de DevOps est sur laquelle ils développent maintenant leur expertise.
Ces jours-ci, vous trouverez de plus en plus de gars capables de développer, d'orchestrer, d'automatiser des tests, d'automatiser des travaux et de créer des outils pour surveiller et mettre ce package complet en production à lui seul. Ce sont les gars qui poussent Docker et d'autres outils parmi la communauté des développeurs.
En outre, la marée du marché est vers la virtualisation, la mise à l'échelle automatique, l'automatisation, l'apprentissage automatique et le docker s'intègre dans tous ces domaines. Il est devenu impératif d'utiliser Docker. Les entreprises sont prêtes à payer 2x pour un seul homme qui prend toutes ces responsabilités et lorsqu'il y a une demande pour de tels gars, l'offre commencera également. C'est du point de vue d'un employé-employeur.
Techniquement, dans les organisations dans lesquelles j'ai travaillé, il existe des équipes de développement et DevOps distinctes, bien qu'elles travaillent très étroitement pour les livraisons. Les ingénieurs et développeurs DevOps partagent ici une grande majorité de compétences et il y a donc parfois une négociation de tâches.
Le strict minimum qu'un développeur peut faire est de partager ses fichiers binaires, mais il doit comprendre que les fichiers binaires seront utilisés pour s'exécuter dans un conteneur Docker et pour cela, il doit comprendre comment fonctionne Docker. Pour les kubes, les essaims, les mesos, etc., le développeur peut même ne pas se soucier de ce qui est utilisé, mais les bases de docker devraient être très bien comprises par le développeur et un état d'esprit devrait être là dès le début pour créer l'application couplée de manière lâche pour une réutilisation comme micro-services. Si l'application est construite à partir de cet état d'esprit (ce qui nécessite des bases de docker), les ingénieurs DevOps peuvent ensuite reprendre à l'échelle automatique, orchestrer, tester, déployer et surveiller.
De plus, la plupart du temps, il n'y a pas de taille unique pour tous les types de choses. Un développeur ne sait pas clairement comment créer une application compatible avec les dockers et un ingénieur DevOps ne connaît pas à juste titre les éléments internes du processus de création d'application. Par conséquent, la plupart du temps, les organisations préfèrent confier ces deux tâches au même gars pour accélérer les choses. S'il y a des choses distinctes, alors un mécanisme de rétroaction continue est requis de l'équipe DevOps à l'équipe de développement pour rendre les applications plus futuristes et docker / cloud / scaling ready.