Durante el ciclo de vida de una aplicación de software, y mas en especifico, durante sus fases de implementación y mantenimiento, los equipos de desarrollo y operaciones tienen metas e incentivos que pueden llegar divergir y resultar en conflictos. Por un lado se tiene el equipo de desarrollo el cual es medido en base a su velocidad para la creación de nuevas capacidades de una aplicación, y por otro lado se tiene a el equipo de operaciones, los cuales son juzgados y medidos en base a la disponibilidad que se tiene en los servidores y el tiempo de respuesta de una o varias aplicaciones. En términos generales, mientras un departamento se esfuerza por aplicar cambios, el otro intenta mantenerlo lo mas estable posible. Y por si fuera poco, en lugar de optimizar el ciclo de vida completo de la aplicación, los equipos se dedican a mejorar sus procesos individualmente para poder lograr sus objetivos, dando como resultado una serie de culpas entre ellos.
Es por esto, que es necesario cambiar esa forma de pensar y actuar entre los equipos de trabajo. Recientemente fue acuñado el termino de DevOps(una abreviación entre las palabras Developers y Operations), para referirse a la respuesta para la creciente preocupación que hay en esa desconexión entre lo que tradicionalmente se considera una actividad de desarrollo y una de operaciones. Ademas de centrarse en describir patrones para la colaboración entre equipos, implementación de procesos y herramientas de trabajo.
La base del éxito de DevOps ha sido su cultura de confianza y sentimiento de fraternidad, todo parte de como se percibe el uno al otro, en lugar de pensar en lo «nuestro contra suyo», se busca pensar en «nosotros» como equipo. Sus ventajas radican en el uso constante de la automatización de procesos, resulta evidente que automatizando se puede llegar a eliminar la discrepancia que existe entre procesos y minimizar errores humanos. La medición es necesaria para la cultura DevOps, ya que para poder mejorar algo es indispensable poder contar con métricas. Por ultimo, DevOps se enfoca en el concepto de compartir: compartir ideas, problemas, procesos, herramientas y metas. Mejorando la comunicación entre los equipos de desarrollo y operaciones se puede llegar resolver problemas críticos de forma inmediata. Como se observa la cultura de DevOps es mas una actitud que una tarea especifica.
Cabe remarcar que DevOps no es un termino de mercadeo o negocio, tampoco es permitir a los desarrolladores trabajar directamente en ambientes de producción, mucho menos un nuevo departamento en una empresa ni un titulo de una posición de trabajo.
Mas informacion : http://www.youtube.com/watch?v=_I94-tJlovg