DevOps frente a DataOps: ¿cuál es la diferencia?

En esta función de invitado especial, Itamar Ben Hemo, CEO de Rivery, analiza los puntos en común y las diferencias entre DevOps y DataOps. Rivery es una plataforma de DataOps que agiliza la integración, transformación y orquestación de datos. Ben, un ejecutivo de negocios experimentado, fue cofundador y CEO de Vision.BI, una firma líder en consultoría de datos adquirida por Keyrus Group. En Keyrus, fue fundador y vicepresidente de grupo para América del Norte.

Muchos asumen, comprensiblemente, que DataOps es simplemente «DevOps para datos». Aunque los dos marcos tienen nombres similares, DevOps y DataOps no son la misma metodología. Sin embargo, los dos marcos comparten muchos principios comunes. Por eso, para los profesionales de datos y otras partes interesadas, es importante comprender qué diferencia a DataOps de DevOps. Lea la comparación a continuación para aprender todo lo que necesita saber sobre DevOps versus DataOps.

DevOps acelera la entrega de productos de software de alta calidad

DevOps combina el desarrollo de software (Dev) y las operaciones de TI (Ops) para acelerar la entrega de productos de software de alta calidad. DevOps, que se originó a fines de la década de 2000, fue diseñado para romper los silos dentro de la empresa que cortan la comunicación y la coordinación entre los equipos de desarrollo y TI. Esta falta de cohesión entre el desarrollo y la TI puso a prueba la implementación del software y provocó que los productos de software se retrasaran, fueran ineficaces o no funcionaran.


Recomendado: ¿Qué es el Big data?.


Al reunir estos dos departamentos bajo un mismo paraguas, los equipos de DevOps pueden escribir (desarrollar) e implementar (TI) software dentro de un marco unificado y automatizado. DevOps introdujo un conjunto de prácticas centrales que ahora son estándar en la industria del software, que incluyen:

  1. Gestión de código fuente, o control de versiones, permite a los equipos de desarrollo rastrear y controlar los cambios en el código fuente, en diferentes versiones y períodos de tiempo.
  2. Integración continua (CI) integra el código fuente del desarrollador con una rama de código principal, preferiblemente varias veces al día.
  3. Pruebas automatizadas realiza pruebas automatizadas en el nuevo código fuente para proporcionar al equipo de desarrollo una retroalimentación inmediata.
  4. Entrega continua (CD) prueba el nuevo código como un artefacto de software en un entorno de puesta en escena para garantizar la calidad y consistencia del producto antes de su lanzamiento.
  5. Despliegue continuo (también CD) inserta automáticamente un nuevo código en vivo en el entorno de producción, idealmente en intervalos pequeños y frecuentes.

Además de estos componentes clave, los marcos de DevOps también incorporan con frecuencia desarrollo ágil. El desarrollo ágil se centra en actualizaciones de productos pequeñas e incrementales en lugar de lanzamientos todos a la vez. Agile divide el proceso de desarrollo de software en «sprints», cada uno con objetivos específicos para que los complete el equipo de desarrollo. Con una duración de 1 a 4 semanas, los sprints incorporan comentarios constantes de las partes interesadas.

Desde su inicio hace poco más de diez años, DevOps ha revolucionado rápidamente la forma en que se construye y lanza el software. Los mejores equipos de DevOps ahora implementan actualizaciones de software con una frecuencia 208 veces mayor que los equipos de desarrollo del modelo anterior y mantienen las tasas de fallas 7 veces más bajas. DevOps permite a Amazon implementar código nuevo cada 11,7 segundos y a Etsy lanzar actualizaciones de código más de 60 veces al día.

Con un historial tan exitoso, DevOps parece estar listo para su aplicación en otras áreas de la tecnología. Y así es como surgió por primera vez DataOps. Pero DataOps es más que DevOps para datos.

DataOps automatiza la orquestación de datos para entregar datos rápidamente en una organización

DataOps es una metodología que combina tecnología, procesos, principios y personal para automatizar la orquestación de datos en toda una organización. Las organizaciones utilizan DataOps para entregar datos bajo demanda de alta calidad a los clientes institucionales al acelerar el desarrollo y la implementación de flujos de trabajo de datos automatizados.

A medida que las organizaciones crecen y las demandas de datos se vuelven más complejas, DataOps ofrece un marco flexible para entregar los datos correctos, en el momento adecuado, a las partes interesadas adecuadas. DataOps implementa rápidamente una nueva infraestructura de datos para satisfacer las prioridades cambiantes de todos los clientes, desde los ejecutivos hasta los especialistas en marketing y los SDR.

DataOps adopta muchos de los mismos principios que DevOps. Pero mientras DevOps automatiza la implementación de software, DataOps automatiza la orquestación de datos: la entrega de datos de un extremo a otro desde el origen al destino. DevOps crea productos de software; DataOps crea flujos de trabajo de datos. Estos flujos de trabajo de datos automatizan la ingestión, transformación y orquestación de datos. DataOps utiliza infraestructura de datos, como canalizaciones de datos y transformaciones basadas en SQL, para impulsar estos flujos de trabajo automatizados.

El «producto de software» en el que trabajan los equipos de DataOps durante los sprints suele ser la infraestructura de datos. En algunos casos, la infraestructura se trata en realidad como código o la infraestructura como código (IaC). Dentro de este marco, los equipos de DataOps pueden aplicar los principios de DevOps a IaC como si fuera cualquier otro producto de software. Sin embargo, otros equipos prefieren construir una infraestructura de datos a través de plataformas de administración de datos e interfaces de usuario, pero aún aplican los principios de DevOps durante el proceso de construcción.

Así es como algunos de los componentes centrales de DevOps, enumerados en la sección anterior, se aplican a DataOps:

  • Control de versiones permite a los equipos de desarrollo rastrear y controlar los cambios en la infraestructura de datos, en diferentes versiones y períodos de tiempo. Esto agiliza la revisión, reversión y depuración de IaC.
  • Integración continua (CI) integra IaC del desarrollador con una rama de código principal, preferiblemente varias veces al día. Con CI, los desarrolladores nunca se desvían demasiado de la rama del código principal.
  • Pruebas automatizadas realiza pruebas automatizadas en la nueva infraestructura de datos para proporcionar al equipo de desarrollo comentarios inmediatos, incluidas pruebas unitarias, pruebas funcionales y pruebas de un extremo a otro.
  • Entrega continua (CD) prueba nueva infraestructura de datos en un entorno de puesta en escena para garantizar la calidad y la coherencia antes de su lanzamiento. Esto ayuda a evitar errores e interrupciones para los usuarios.
  • Despliegue continuo (también CD) impulsa automáticamente la nueva infraestructura de datos en vivo, en el entorno de producción, idealmente en cambios pequeños y frecuentes. Esto elimina el código manual y las tareas de combinación de canalizaciones y acelera las actualizaciones de productos.

DataOps y DevOps pueden compartir los mismos principios de desarrollo e implementación. Pero DevOps es solo un componente de DataOps. El personal, las tecnologías y los procesos ágiles también juegan un papel fundamental en DataOps.

Las organizaciones solo pueden obtener todos los beneficios de DataOps cuando todos estos componentes se combinan en un marco unificado. Si bien las dos metodologías se superponen y comparten nombres muy similares, no son intercambiables. Los equipos de datos deben comprender las diferencias entre ellos para construir marcos de DataOps efectivos.

DataOps aprovecha lo mejor de DevOps, pero no son lo mismo

A medida que la economía se vuelve aún más impulsada por los datos y las necesidades de datos de los clientes institucionales crecen rápidamente, los equipos de datos no pueden simplemente confiar en la tecnología para seguir siendo competitivos. Deben crear marcos organizativos ágiles para entregar datos cuando y cómo los interesados ​​lo requieran. Esto es para lo que está diseñado DataOps. Al aprovechar DevOps, DataOps inyecta los mejores métodos y prácticas de desarrollo de software en el proceso de orquestación de datos, lo que permite la entrega rápida de datos a todos los clientes de la organización.

Si hay una conclusión clave de este artículo, es esta: DataOps necesita los principios de DevOps para proporcionar a las partes interesadas datos de manera rápida y eficiente, pero DevOps y DataOps no son lo mismo.

Suscríbase al boletín gratuito insideBIGDATA.

Únase a nosotros en Twitter: @ InsideBigData1 – https://twitter.com/InsideBigData1