DevOps es el acrónimo de desarrollo y operaciones. Se trata de una metodología de trabajo enfocada en la eficiencia y rapidez a la hora de desarrollar aplicaciones informáticas. Por tanto, promueve la calidad y la entrega inmediata de actualizaciones o productos para los clientes.
Para conseguirlo, su primer objetivo es la eliminación de silos y sustituirlos por fluidez en las comunicaciones y en la cultura colaborativa entre los equipos de desarrollo y los de operaciones tecnológicas. En TicNegocios de la Cámara, consideramos muy interesante que sepáis qué es DevOps y queremos acercaros a este movimiento.
Si estáis familiarizados con las metodologías ágiles, muchas de las cosas que os contaremos os recordarán a ellas. De hecho, fue en la conferencia Agile de 2008 en Toronto cuando comenzó todo.
Andrew Clay Shafer, creador, entre otras cosas, de Pivotal, la spinoff de MVware y EMC2 debía dar una charla, pero solo asistió una persona: un belga llamado Patrick Debois. En consecuencia, quiso suspenderla, pero no pudo evitar que Debois le abordara.
El belga había fracasado en un encargo realizado por el ministerio de finanzas de su país. La razón fue porque ni desarrolladores ni administradores de sistemas fueron capaces de coordinarse para sacar adelante el proyecto.
Basándose en esa experiencia, intercambiaron ideas y decidieron crear un grupo en Google para llevar esa discusión a la comunidad. Así nació el Grupo de Administradores de Sistemas Ágiles.
Al año siguiente, se organizó en California el evento Velocity’09. Una de las conferencias la dieron John Allspaw y Paul Hammond. Se titulaba “Más de 10 implementaciones por día: cooperación de desarrollo y operaciones en Flickr”. Debois lamentó no haber podido asistir y un periodista de The Guardian le animó a organizar un evento parecido en Europa.
Cuatro meses después convocaba su primer DevOps Day, usando por primera vez el acrónimo. De hecho, creó el hashtag #DevOps, que se hizo viral y dio nombre al movimiento.
Son los principios fundamentales que permiten que los equipos de desarrollo y de operaciones trabajen como si fueran uno solo. Destacamos algunos de ellos.
Se fomenta el trabajo conjunto entre los equipos de desarrollo, de operaciones y de seguridad en todas las fases del ciclo de vida del software. Para ello, la transparencia y la claridad en la comunicación es esencial. Solo de esta forma, todos los participantes se alinearán con los objetivos y la colaboración será eficaz.
La automatización reduce la intervención manual y, por consiguiente, minimiza posibles errores, desde la introducción de código hasta el desarrollo de actualizaciones. Además, le proporciona velocidad al ciclo de vida del producto. Por otra parte, gracias a la automatización de las pruebas, se puede efectuar un monitoreo y evaluación constantes para detectar problemas en su fase más temprana.
Los desarrolladores introducen el código en un repositorio que es compartido. De este modo, se evitan conflictos y errores. También se automatizan las entregas una vez que el código ha pasado las pruebas automatizadas. Con ello, la satisfacción del cliente experimenta una mejora significativa respecto del método tradicional.
La seguridad deja de ser un añadido final para instalarse ya en las primeras fases de desarrollo. Así, participa igualmente de sus propias pruebas automatizadas y de la revisión continua de su código.
Posibilita que la infraestructura sea gestionada mediante scripts y definiciones de código. En consecuencia, los entornos son más consistentes y escalables. También facilita aplicar controles en las distintas versiones, efectuar auditorías o configurar con mayor eficiencia.
Una de las influencias de las metodologías ágiles de las que procede, promueve la mentalidad de la mejora continua. Para ello, utilizan métricas y analizan resultados con el fin de identificar áreas susceptibles de mejora, herramientas, procesos y habilidades. Se genera un entorno en el que no se teme al error y los equipos están muy estimulados para el uso de nuevas prácticas y tecnologías. Por tanto, la innovación es constante.
Os hablamos de las ventajas de DevOps más significativas.
Os posibilita lanzar actualizaciones y nuevas funcionalidades de vuestro software de un modo más rápido y frecuente.
Al contar con pruebas automatizadas y monitoreo constante, las aplicaciones desarrolladas ganan en estabilidad y, en consecuencia, generan una mayor confianza. Por otro lado, esta metodología disminuye los errores humanos y los fallos en la implementación.
Si automatizáis cualquier proceso, la dependencia de mano de obra manual se reduce. También aquí ocurre lo mismo. Además, disminuís los tiempos de comercialización y los de recuperación, en caso de error. En cuanto a la optimización de recursos, esta metodología dispone de infraestructura como código (IaC), que os permite una gestión automática y eficiente, y pagáis solo por lo que empleáis. Asimismo, se puede implementar en la nube.
Facilita el uso de aplicaciones e infraestructuras a gran escala y se ajusta fácilmente a las demandas del mercado. El despliegue y escalado de las aplicaciones es ágil. Esto quiere decir que permite a todas las empresas adaptarse rápidamente a los cambios del mercado con mayor elasticidad.
Los ciclos rápidos favorecen la evolución de las aplicaciones en función de las necesidades de los clientes. Por este motivo, es una metodología ideal para contar con su participación y para responder a sus demandas.
DevOps es una metodología que transforma la manera en el que las empresas tecnológicas desarrollan, entregan y mantienen sus aplicaciones o programas. Así, crean flujos de trabajo mucho más ágiles y eficientes. Todo ello en un entorno colaborativo y donde la buena comunicación juega un papel esencial. Eso favorece la integración de los equipos sin que pierdan su autonomía y especialidad. Si tenéis una empresa tecnológica, animaos a implementar esta filosofía.
¿Eres un proveedor de soluciones TIC y quieres aparecer en este portal?
¿Eres una empresa y no encuentras lo que estás buscando?
Recibe, cada dos semanas, todas las novedades sobre las tecnologías de la información para empresas.
El Responsable del tratamiento de tus datos es la Cámara Oficial de Comercio, Industria y Servicios de Madrid (Q2873001H), que tratará los datos con la finalidad de gestionar tu suscripción y mantenerte informado de productos y servicios de esta Corporación. La legitimación para el tratamiento es el propio consentimiento del usuario y interés legítimo de la Cámara. No se cederán los datos personales a terceros, salvo obligación legal o indicación expresa. Puede ejercer los derechos de acceso, rectificación, cancelación y oposición, así como el ejercicio de otros derechos, remitiendo un correo electrónico a dpd@camaramadrid.com. Puedes consultar información adicional y detallada sobre la política de privacidad.