¿Cuáles son las razones para usar Docker en su proceso de desarrollo de software si no lo está usando en producción?

8

Docker tiene un gran potencial para resolver problemas en mi lugar de trabajo en un gran equipo (100) de desarrolladores de software y se utiliza para resolver problemas en mi lugar de trabajo. Esto incluye:

Los comentarios volvieron a mí:

Es genial que esto funcione, pero comprender el ecosistema de Docker es un salto mental para algunas personas . Ya se ha establecido que no ejecutaremos docker en producción, por lo que realmente no creemos que haya una razón para invertir en capacitar a nuestra gente en esta herramienta.

Mi pregunta es: ¿Cuáles son las razones para usar Docker en su proceso de desarrollo de software si no lo está usando en producción?

ojo de halcón
fuente
55
El hecho de que no lo vaya a usar en producción no significa que no sea una herramienta útil para fines de desarrollo, por lo que el argumento "no lo vamos a usar en producción, por lo que no queremos verlo en absoluto "me parece inválido. Ya tienes una lista de cosas que muestran cómo puede ser útil. Lo uso para ejecutar bases de datos para desarrollo y pruebas en mi máquina de desarrollo.
Jesper
Solo una nota rápida: para mí, usted escala (máquina más potente) o escala horizontalmente (agregue más máquinas). Escalar horizontalmente me parece extraño.
Machado
1
Hágase un favor y dedique una máquina a replicar las condiciones de producción si decide seguir esa ruta de uso de Docker para poder probar el programa en un entorno lo más similar posible a la producción. Aparte de eso, vuelve loco a Docker, diviértete.
Neil
Otro consejo rápido: los servidores de control de código fuente, los servidores de compilación y los servidores de CI son servidores de producción para sus desarrolladores. Su organización puede estar usando TI como un medio para un objetivo final (lo que significa que no está en el negocio de Tecnología), pero si tiene desarrolladores, esperan tener un entorno en el que puedan confiar para hacer algún trabajo. Eso significa que todos los servidores anteriores deben ser tratados como críticos como todo lo demás en su infraestructura, o de lo contrario obtendrá un equipo sin recursos para trabajar y entregar. Incluso si TI es un lado de soporte de su operación, no desea que simplemente se queden esperando que los servidores vuelvan a estar en línea.
Machado
El problema con los comentarios que recibió es: está traducido a »Vete con docker. No lo queremos. «Por supuesto, hay muchas razones que uno podría dar para usar Docker, pero en este caso, parece que los comentarios son solo una excusa educada.
Thomas Junk

Respuestas:

8

Aquí hay algunas razones por las que usamos docker como parte de nuestro proceso de desarrollo de software (todavía no lo usamos en producción):

  • Entorno de implementación local consistente y controlado por la versión: verificamos nuestras versiones de Docker en el control de versiones y podemos colaborar en la pila. Podemos obtener un entorno completamente limpio al detener e iniciar una pila.
  • Facilidad de distribución de entornos a los compañeros de equipo: recientemente tuvimos una pila de software completamente nueva que tuvimos que comenzar a mantener. Solo tuvimos que producir la pila una vez en Docker y distribuirla entre el equipo en lugar de documentar las herramientas y el proceso para instalar la multitud de software. Los documentos a menudo se olvidan y solo se prueban cuando un nuevo miembro se une al equipo; a menudo, las instrucciones ya no funcionan.
  • Utilizado en las compilaciones de CI y las pruebas automatizadas: CI utiliza las mismas imágenes que utilizamos para implementar y probar el software localmente para compilar y probar el software. Esto hace que sea menos probable que haya errores específicos de las peculiaridades en el entorno local de alguien.
  • Más fácil que las máquinas virtuales para administrar, cambiar, construir y distribuir.
  • Da la capacidad de ampliar las imágenes existentes para que no tengamos que crear imágenes desde cero. Por lo general, hay imágenes de código abierto disponibles para paquetes de software populares.
Samuel
fuente