DevOps lo básico que hay que saber

Desarrolladores independientes y empresas, indistintamente de su geografía, recurren cada vez más a DevOps para mejorar su productividad y la eficiencia en la entrega de sus desarrollos e implementaciones.

Podemos adelantar que DevOps se refiere a los términos en inglés ‘Development & Operations’ o desarrollo y operaciones y como apuntan en AWS se trata de un enfoque de trabajo que busca unir dos mundos, de manera que los equipos de desarrollo y operaciones no trabajen de manera aislada.

Continuaremos con la definición de DevOps, cómo funciona el ciclo DevOps y qué es una plataforma DevOps y lo más importante de todo, cómo puedes beneficiarte tú y tu empresa con su implementación.

Devops Developer

Uno de los principales beneficios del DevOps es el cambio de cultura que impulsa el trabajo colaborativo entre distintas áreas. Photo by Christina Morillo.- Pexels.com.

Todo sobre DevOps: Por qué es importante y cómo ayuda al cumplimiento en tu empresa.

¿Qué es DevOps?

DevOps encaja dentro del conjunto de metodologías de trabajo ágil (o agile) y de hecho se complementan.

Podemos definir DevOps como una metodología de trabajo colaborativo que busca integrar las tareas de los equipos de desarrollo y operaciones en cualquier empresa en búsqueda de mejoras en la productividad vía desarrollos e implementaciones más rápidas.

Microsoft define a DevOps como:

‘La unión de personas, procesos y tecnologías para la planificación, desarrollo, entrega y operación de aplicaciones. Un enfoque de trabajo colaborativo entre roles de desarrollo, operaciones, calidad y seguridad’.

Por su parte IBM concibe a DevOps como un proceso de desarrollo de software que entraña un cambio de cultura en la organización para acelerar entregas del equipo de TI automatizando e integrando los esfuerzos de los equipos de desarrollo y operaciones.

Con este par de definiciones en mente avancemos al cómo opera ésta metodología de trabajo a través del ciclo DevOps.

Más sobre DevOps, aquí 3 de sus mejores prácticas.

El ciclo de vida DevOps

DevOps entraña una serie de procesos iterativos que conforman un ciclo cuyo resultado es la agilidad en entregas de calidad. Las etapas del ciclo DevOps pueden variar, IBM las reseña en términos generales:

La ideación

La fase o etapa inicial de DevOps, puede verse como la planificación y preparación previa, en la cual representantes de los grupos de interés se reúnen para evaluar las características y funcionalidades que implican sus requerimientos.

Estas se priorizan y depuran en torno a un resultado deseado.

El desarrollo

Una vez que operaciones y desarrollo tienen un acuerdo en cuanto a requerimiento, los segundos codifican las funciones y actualizaciones pretendidas sobre la base de las fichas o historias de usuario.

En esta fase de DevOps suelen emplearse tácticas propias del desarrollo agile como:

  • El desarrollo basado en pruebas
  • Desarrollos incrementales,
  • Programación en parejas
  • Revisión en parejas

Integración y entrega continua (CI/CD)

Ya a este nivel tenemos códigos o desarrollos que se prueban y se terminan en torno a un ejecutable.

También se habla de la automatización de tareas reiterativas y manuales, las pruebas automatizadas y la integración de la actualización, script o nuevo código a la base existente para su implementación, todo vía pequeños avances y pruebas incrementales.

Despliegue continuo 

Las integraciones de las que se hace mención en el paso anterior suelen llevarse a cabo en clones de bases de datos o ambientes de desarrollo para valorar calidad, cumplimiento y funciones de seguridad sin comprometer el ambiente de producción, ni los datos comerciales.

En caso de errores, brechas de seguridad o inconformidad del equipo de producción el equipo de trabajo encuentra el problema y lo corrige antes del pase a producción.

La buena práctica a este nivel distingue entre ambientes de desarrollo, uno o más ambientes de pruebas y pase a producción, donde el avance entre uno y otro ocupa métricas de calidad y seguridad cada vez más rigurosas.

La operación

En esta fase de DevOps hablamos del pase a producción, todos los equipos: Desarrollo, operaciones TI y seguridad se enfocan en evaluar el rendimiento y disponibilidad de cada una de las funcionalidades que aseguren conveniencia, cumplimiento y valor agregado de cara al cliente o usuario final.

Si llega a reportarse alguna disconformidad se determina la magnitud o severidad de la misma y el personal indicado se enfoca en implementar la corrección.

Retroalimentación

Se trata básicamente de la recolección de reseñas y comentarios de clientes o usuarios finales de cara a medir funcionalidad, rendimiento y disponibilidad del servicio.

Todo con miras a planear posibles nuevos requerimientos, hacia una próxima versión, mejora o actualización.

Entre los miembros del equipo DevOps también se hará un feedback para incluir cualquier elemento de aprendizaje o derribar obstáculos que pudieron haber afectado en cualquier fase del ciclo.  El punto es evitar reincidencias.

Cabe mencionar que a lo largo de todo este ciclo descrito pueden implementarse momentos para el aprendizaje, las pruebas, cumplimientos y seguridad.

En torno a la metodología DevOps se han gestado sistemas y plataformas en la nube (SaaS o PaaS) que buscan automatizar o consolidar la infraestructura para sustentar todo el ciclo descrito; veamos.

DevOps orientado a la gestión de los datos se traduce en DataOps: aquí una infografía con más detalles.   

¿Qué es una plataforma DevOps y cuáles son sus beneficios?

Así como DevOps reúne los esfuerzos de los equipos humanos en función a un entorno de trabajo colaborativo y cercano, de acuerdo con GitLab, las plataformas DevOps hacen lo mismo con las herramientas de cada equipo (operaciones de TI, desarrollo y seguridad).

Las plataformas DevOps combinan funcionalidades de desarrollo, operaciones de TI y seguridad en una sola interfaz, para soportar la infraestructura del ciclo DevOps y en una sola plataforma generar el entorno de trabajo para una entrega de software más rápida y eficiente.

Una plataforma DevOps elimina los inconvenientes de disparidad, incompatibilidad, interoperabilidad y mantenimiento de distintas herramientas a lo largo del ciclo dotando de visibilidad, gobernanza y aún más rapidez al proceso.

Ya hemos mencionado algunas de las ventajas y beneficios de implementar DevOps en sus procesos de gestión y desarrollo, repasemos algunos con base en afirmaciones de AWS.

Velocidad

La industria tecnológica y los mercados en general se mueven cada vez más rápido, poder adaptarse a las tendencias y ofrecer conveniencia a los usuarios digitales cada vez más exigentes, marcan la diferencia entre el éxito o quedarse rezagado.

DevOps permite a los equipos de operaciones y desarrollo ganar esa celeridad y actualizarse con rapidez.

Entregas ágiles

DevOps no es excluyente de las metodologías de desarrollo ágil, es más son enfoques de trabajo que se complementan.

Como pudimos apreciar el ciclo DevOps tiene elementos en común con el agilismo y asegura la integración y la entrega continuas CI/CD para acelerar los procesos de desarrollo, integración y despliegue de soluciones.

Confiabilidad

A lo largo de todo el ciclo DevOps están presentes los elementos, indicadores y pruebas de calidad, confiabilidad y seguridad que un desarrollo ocupa, para poder entregar valor al usuario final.

La adopción de la tecnología y sus plataformas buscan comprobar que cada cambio es funcional y seguro

A lo largo del proceso, políticas de conformidad, controles minuciosos y técnicas de gestión automatizadas aseguran la adopción de DevOps sin sacrificio de la seguridad.

La colaboración

Uno de los mayores beneficios de DevOps es el cambio de cultura y la sinergia.

Una verdadera adopción de DevOps implica que los equipos trabajan cercanos y colaboran entre sí compartiendo compromiso y responsabilidades; combinando flujos de trabajo todo para asegurar una entrega oportuna y eficiente.

DevOps responde al lema: ‘desarrollar mejores implementaciones más rápido’ una metodología integradora que se gesta a través de plataformas integrales como Delphix.

En México neti trabaja de la mano con Delphix Data Platform para habilitar una plataforma de trabajo DevOps, data masking y virtualización para asegurar entregas a la velocidad que la transformación digital requiere.

¡Juntos podemos generar ventajas competitivas aprovechando el valor de tus datos!

Ve nuestro webinar en YouTube sobre Metodologías de desarrllo Ágiles y DevOps para liderar la transformación en gestión de datos con Neti y Delphix.