Te daré mi perspectiva. Los desarrolladores deben preocuparse por Docker ya que hay otros desarrolladores que están dispuestos a usar Docker y ya han desarrollado una experiencia en él. Están dispuestos a asumir los roles de un ingeniero DevOps junto con ser un desarrollador. Entonces, la parte de Ops de DevOps es en lo que ahora están construyendo experiencia.
En estos días, encontrará más y más personas que pueden desarrollar, orquestar, automatizar pruebas, automatizar trabajos y crear herramientas para monitorear y llevar este paquete completo a producción sin ayuda. Estos son los tipos que están empujando Docker y otras herramientas entre la comunidad de desarrolladores.
Además, la marea del mercado es hacia la virtualización, el autoescalado, la automatización, el aprendizaje automático y el docker encaja en todo esto. Se ha vuelto muy imperativo usar Docker. Las empresas están dispuestas a pagar 2 veces por un hombre soltero que asuma todas estas responsabilidades y, cuando exista demanda para tales hombres, la oferta también comenzará. Esto es desde el punto de vista de un empleado-empleador.
Técnicamente, en las organizaciones en las que he trabajado, hay equipos de desarrollo y DevOps separados, aunque trabajan muy de cerca para las entregas. Los ingenieros y desarrolladores de DevOps comparten una gran mayoría de conjuntos de habilidades aquí y, por lo tanto, a veces hay una negociación de deberes.
Lo mínimo que puede hacer un desarrollador es compartir sus archivos binarios, pero debe comprender que los archivos binarios se utilizarán para ejecutarse dentro de un contenedor acoplable y para eso necesita comprender cómo funciona el acoplador. Para kubes, enjambres, mesos, etc., el desarrollador puede no preocuparse por lo que se está utilizando, pero el desarrollador debe entender muy bien los conceptos básicos de Docker y debe haber una mentalidad desde el principio para construir la aplicación acoplada libremente para su reutilización como microservicios Si la aplicación se crea a partir de esa mentalidad (que requiere conceptos básicos de Docker), los ingenieros de DevOps pueden utilizarla desde allí para autoescalar, orquestar, probar, implementar y monitorear.
Además, la mayoría de las veces no hay una talla única para todo tipo de cosas. Un desarrollador no sabe claramente cómo construir una aplicación compatible con Docker y un ingeniero de DevOps con toda razón no conoce los aspectos internos del proceso de construcción de la aplicación. Por lo tanto, la mayoría de las veces, las organizaciones prefieren asignar ambas tareas al mismo tipo para acelerar las cosas. Si hay cosas separadas, entonces se requiere un mecanismo de retroalimentación continua del equipo de DevOps al equipo de desarrollo para que las aplicaciones sean más futuristas y estén listas para acoplarse / en la nube / escalar.