Mitos sobre DevOps

¿Qué es DevOps?

El término DevOps es una combinación de los términos ingleses “development” (desarrollo) y “operations” (operaciones), designa la unión de personas, procesos y tecnología para ofrecer valor a los clientes de forma constante. Algunas definiciones de DevOps:

“Es una combinación de patrones destinados a mejorar la colaboración entre desarrollo y operaciones. DevOps aborda objetivos e incentivos compartidos, así como herramientas y procesos compartidos”

Michael Hüttermann

“Un movimiento de personas que se preocupan por desarrollar y operar sistemas confiables, seguros y de alto rendimiento a escala”

Jez Humble

DevOps permite que los roles que antes estaban aislados (desarrollo, operaciones de TI, ingeniería de la calidad y seguridad) se coordinen y colaboren para producir productos mejores y más confiables. Al adoptar una cultura de DevOps junto con prácticas y herramientas de DevOps, los equipos adquieren la capacidad de responder mejor a las necesidades de los clientes, aumentar la confianza en las aplicaciones que crean y alcanzar los objetivos empresariales en menos tiempo.

Mitos

A pesar de los beneficios que representa la adopción de DevOps, actualmente existen algunos mitos, los cuales damos a conocer a continuación:

DevOps es solo para Startups

Si bien las prácticas de DevOps han sido lideradas por compañías “unicornio” de Internet como Google, Amazon, Netflix y Etsy, cada una de estas organizaciones, en algún momento de su historia, se ha arriesgado a cerrar debido a los problemas asociados con las organizaciones más tradicionales “caballos”: lanzamiento de código altamente peligroso que era propenso a fallas catastróficas, incapacidad para lanzar features lo suficientemente rápido como para vencer a la competencia, problemas de cumplimiento, incapacidad para escalar, altos niveles de desconfianza entre Desarrollo y Operaciones, y así sucesivamente. Sin embargo, cada una de estas organizaciones pudo transformar su arquitectura, prácticas técnicas y cultura para crear los sorprendentes resultados que asociamos con DevOps.

DevOps reemplaza a Agile

Los principios y prácticas de DevOps son compatibles con Agile, y muchos observan que DevOps es una continuación lógica del viaje de Agile que comenzó el 2001. Agile a menudo sirve como un habilitador efectivo de DevOps, debido a su enfoque en pequeños equipos que continuamente entregan código de alta calidad para clientes. Muchas prácticas de DevOps surgen si continuamos gestionando nuestro trabajo más allá del objetivo de “código potencialmente entregable” al final de cada iteración, extendiéndolo para tener nuestro código siempre listos para deployar, con los desarrolladores revisando diariamente la rama principal del versionador, y que podamos demostrar nuestros features en ambientes de pre-producción o producción.

DevOps es incompatible con ITIL

Muchos ven a DevOps como una reacción contraria a ITIL o ITSM (IT Service Management), que se publicó originalmente en 1989. ITIL ha influido ampliamente en varias generaciones de profesionales de Operaciones, incluido uno de los coautores, y es una biblioteca de prácticas en constante evolución destinada a codificar los procesos y prácticas que sustentan las operaciones de TI a nivel mundial, que abarcan la estrategia de servicio, el diseño y el soporte.

Las prácticas de DevOps pueden hacerse compatibles con el proceso ITIL. Sin embargo, para dar soporte al lead-time más cortos y las frecuencias de deployment más altas asociadas con DevOps, muchas áreas de los procesos ITIL se automatizan completamente, resolviendo muchos problemas asociados con los procesos de configuración y administración de versiones (por ejemplo, manteniendo la base de datos de gestión de configuración y bibliotecas de software definitivas actualizadas). Y debido a que DevOps requiere una detección y recuperación rápidas cuando ocurren incidentes de servicio, las disciplinas ITIL de diseño de servicios, incidentes y gestión de problemas siguen siendo tan relevantes como siempre.

DevOps es incompatible con la Seguridad de la Información y el Cumplimiento

La ausencia de controles tradicionales (por ejemplo, segregación de funciones, procesos de aprobación de cambios, revisiones manuales de seguridad al final del proyecto) puede desanimar a los profesionales de Seguridad de la Información  y Cumplimiento. Sin embargo, eso no significa que las organizaciones DevOps no tengan controles efectivos. En lugar de que las actividades de Seguridad y Cumplimiento solo se realicen al final del proyecto, los controles se integran en cada etapa del trabajo diario en el ciclo de vida del desarrollo de software, lo que resulta en una mejor calidad, seguridad y resultados de cumplimiento.

DevOps significa eliminar las Operaciones de TI o “NoOps”

Muchos malinterpretan DevOps como la eliminación completa de las funciones de Operaciones de TI. Sin embargo, esto no suele ser el caso. Si bien la naturaleza del trabajo de Operaciones de TI puede cambiar, sigue siendo tan importante como siempre. Las Operaciones de TI colaboran mucho antes en el ciclo de vida del desarrollo de software, que continúa trabajando con las Operaciones de TI mucho después de que el código se haya deployado en producción.

En lugar de que las Operaciones de TI realicen un trabajo manual que proviene de tickets de trabajo, permite la productividad del desarrollador a través de API y plataformas de autoservicio que crean entornos, prueban y deployan código, monitorean y muestran telemetría de producción, etc. Al hacer esto, las Operaciones de TI se parecen más al Desarrollo (al igual que QA y Seguridad de la Información), se involucran en el desarrollo de productos, donde el producto es la plataforma que los desarrolladores utilizan para probar, implementar y ejecutar sus servicios de TI en producción de manera segura y rápida.

DevOps es solo “infraestructura como código” o automatización

Si bien muchos de los patrones de DevOps requieren automatización, DevOps también requiere normas culturales y una arquitectura que permita alcanzar los objetivos compartidos en todo el flujo de valor de TI. Esto va mucho más allá de la automatización. Como Christopher Little, un ejecutivo de tecnología y uno de los primeros cronistas de DevOps, escribió: “DevOps no se trata de automatización, así como la astronomía no se trata de telescopios”.

DevOps es solo para software Open Source

Aunque muchas historias de éxito de DevOps tienen lugar en organizaciones que utilizan software LAMP (Linux, Apache, MySQL, PHP), lograr resultados de DevOps es independiente de la tecnología utilizada. Se han logrado éxitos con aplicaciones escritas en Microsoft.NET, COBOL y código de ensamblado, así como con SAP e incluso sistemas integrados (por ejemplo, firmware HP LaserJet).

Referencias

Leave a Reply

Your email address will not be published. Required fields are marked *