Nos encontramos ante un contexto social apasionante en constante movimiento. Nuevas tendencias se suceden apresuradamente, derivando en hábitos que emergen hacia una misma realidad de fácil consumo y aún mayor velocidad de difusión. “Queremos todo y a ser posible, con un trato personalizado y sin demora”. Sabedores de ello, empresas y profesionales de alta especialización tecnológica abogan por dotar de soluciones digitales que den respuesta a dichas pretensiones, evolucionando al ritmo que marcan quienes las requieren.
En línea con esta certeza, y acogiendo toda nueva tecnología disruptiva que permita aproximarse a lo que hasta entonces resultaba computacionalmente inviable, se precisa de una agilidad que permita a quiénes crean software ser eficaces en su puesta a punto, garantizando calidad, bajo coste y una frecuencia elevada de entregas de versiones con nuevas características. ¿Existe alguna metodología de desarrollo que habilite estas capacidades de mejora continua?
La respuesta no deja margen para la duda: sí, la transformación digital lo ha situado en el primer plano y ha llegado para incorporarse a toda disciplina de implementación de servicios IT. DevOps.
Antecedentes de un paradigma cooperativo, coherente y sin fisuras
En el ejercicio de aunar fuerzas en los equipos de trabajo multidisciplinares, la planificación ha sido siempre materia de estudio y revisión, reparando en la consolidación de la efectividad y el compromiso adquirido internamente con el propósito demandado. Fruto del esfuerzo para refinar dichos procesos, se han sucedido históricamente numerosas corrientes colectivas en la gestión de hitos y tareas en proyectos: ‘Waterfall’ o en cascada, cómo enfoque tradicional secuencial de las etapas de construcción del software; ‘Agile’, orientada a la entrega funcional del producto en funcionamiento y con recogida prematura de ‘feedback’ del consumidor del servicio; ‘Lean’, centrada en la adquisición de mecanismos de entrega del máximo valor y calidad posible al usuario final. Ligado a estos dos últimos marcos de ejecución, DevOps plantea una concepción nueva acerca de la manera en la que distintas áreas y departamentos técnicos desempeñan sus funciones en aras de conseguir lo mismo: satisfacer los requerimientos funcionales y no funcionales en los plazos acordados de entrega. Para ello, recurre a los principios básicos de ambas filosofías: fomentar la transparencia informacional y un traspaso recurrente del conocimiento individual hacia el resto de la organización, fortaleciendo la comunicación y colaboración entre sus integrantes, simplificando etapas para minimizar su tiempo de resolución. Con ello se busca acabar con las barreras internas de los silos de datos a la par que fomentar un espíritu de equipo cohesionado que rema en la misma dirección. ¿Qué valor añadido aporta esta nueva metodología sobre las características innatas de las disciplinas de las cuales parte?
Orientación al servicio final, conocimiento del camino de principio a fin
La irrupción de DevOps en las empresas como modelo operativo y cultural (al hacer frente a un planteamiento rígido de base) impulsa sumar a las capacidades ágiles antes descritas la visión completa que programadores, administradores de sistemas y resto de perfiles técnicos implicados han de contar alineados con las necesidades de negocio. Su orientación busca responder adecuadamente a una completa disponibilidad que exigen los acuerdos de nivel de servicio (SLA) de cualquier solución digital de hoy en día. Esto supone, a efectos de implementación, de la gestión conjunta de proyectos con un flujo de trabajo y retroalimentación permanentes, así como de una infraestructura y orquestación de procesos previamente definidos que habiliten la integración y entrega continua de nuevas versiones con correcciones y mejoras respecto al software base. Las bondades resultantes de incorporar una metodología DevOps en nuestro día a día son innumerables.
- Refinamiento del producto y/o servicio lo más rápidamente posible, reduciendo los riesgos de no disponibilidad de este mientras se garantizan los estándares de calidad.
- Abstracción, en la medida de lo posible, del factor humano de la ecuación para su correcto cumplimiento. ¡Automatización al poder!
- Pautas de validación que otorguen una mayor importancia a la calidad y la eficiencia. Debido a ello, las sucesivas revisiones del código fuente que planteemos desplegar en el entorno productivo deberán de cumplir satisfactoriamente un compendio de pruebas de distinta naturaleza que acrediten su validez, minimizando el riesgo adherido.
DevOps y el Cloud, aliado clave en su expansión
El cambio de paradigma en el diseño e implementación de soluciones tecnológicas desplegadas sobre infraestructuras de recursos multipropósito en la nube, en detrimento del enfoque on-premise o in-house, ha ayudado a afianzar su predominancia. La existencia dentro del porfolio de servicios de los principales proveedores de Cloud Computing (Amazon Web Services, Microsoft Azure, Google Cloud Platform) de productos específicos autogestionados que cubren las etapas de un ciclo iterativo de DevOps, facilita la labor de incorporación de pipelines de operativización del código fuente que evoluciona dentro del ciclo de vida del software. ¡Ya no hay justificación para obviar más su relevancia, y sí bondades para su próxima incorporación!