Generar datos confiables, proyectos ágiles y con un presupuesto acotado.

Datos confiables

¿Qué deberíamos hacer para tener datos confiables, agilizar nuestros proyectos y no salirnos de nuestro presupuesto?

Hace algún tiempo el software era muy poco confiable.

Después de varios años de estudio y aplicación de prácticas de desarrollo de software, DevOps y SRE (Site Reliabity Engineering) consiguió mejorar su eficiencia, agilidad y confiabilidad.

Ahora, si pensamos en el mundo de los datos, ¿existe algo similar? ¿Podemos replicar las prácticas de software en data? ¿Qué perfiles técnicos necesitaría?

Hace algunos meses una nueva práctica ha ganado popularidad siendo llamada DRE o Data Reliability Engineering.

En términos simples DRE es aplicar SRE a los datos para mejorar su confiabilidad.

Entre los beneficios de utilizarla se encuentran:

  • Mejorar la calidad de datos
  • Cumplir con el movimiento de datos en los tiempos requeridos 
  • Reducir el time to market 
  • Reducir las tareas realizadas por los ingenieros de datos
  • Asegurar que los proyectos analíticos utilicen datos confiables

Lamentablemente, en el mundo de los datos vemos que muchos ejecutivos se enfocan en la generación de valor mediante los datos.

Armaron un equipo de ciencia de datos que aumentó los ingresos, redujo los costos operativos y otras iniciativas.

Los problemas comenzaron cuando los ejecutivos c-level vieron el valor generado por estos proyectos y solicitaron escalarlos a otras áreas de la organización.

Algunos ejemplos son:

  • El proyecto no fue puesto en producción por el exceso de deuda técnica
  • El ingeniero que hizo el proyecto, lo validó, lo desplegó y lo operó, y lo seguirá operando…
  • La única forma de escalar el proyecto es contratando más ingenieros y no queda  presupuesto

De cara a estos problemas hemos visto que actúan de dos formas:

  • Consiguen presupuesto y comienzan a contratar más ingenieros de datos
  • Contratan ingenieros de operación que reaccionen ante caídas

En nuestra experiencia hemos observado que estas soluciones no resuelven el problema raíz sino que más bien lo cubren por un tiempo.

Se suele tener la visión errada que un ingeniero de datos solucionará todos nuestros problemas, pero esto es muy lejano a la realidad.

Mayoritariamente, un ingeniero de datos no es un desarrollador de software, tampoco un DevOps ni menos un SRE, por lo tanto, no importa si es senior o experto.

En el caso de un ingeniero de operación, puede resolver las incidencias, pero requerirá un traspaso de conocimiento y contratar nuevas personas a medida que la cantidad de proyectos aumente.

Según nuestra experiencia es más eficaz y eficiente separar las responsabilidades de desarrollo, despliegue y observabilidad para cumplir con los 7 conceptos claves del libro Google SRE

1.- abraza el riesgo: es inevitable que cualquier cosa eventualmente va a fallar. Los equipos necesitan detectar, controlar y mitigar los fallos; más bien que esperar a construir el sistema perfecto.

2.- monitorea todo: los problemas no podrán ser controlados y mitigados si no son detectados. El monitoreo y alertas permiten a los equipos tener la visibilidad para comprender cuando algo está mal y cómo corregirlo.

3.- asigna estándares: define y asigna métricas que permitan determinar la calidad de tus datos de una forma objetiva, podemos adoptar las métricas SLA, SLI y SLO provenientes de SRE y adaptándolas a las necesidades de tus datos.

4.- reduce el esfuerzo: reduce tanto trabajo como sea posible para que tus ingenieros generen valor al negocio.

5.- utiliza automatización: a medida que tu plataforma de datos crece la complejidad de administrar aumenta linealmente a la cantidad de usuarios que la utilizan. Volviéndose costosa e insostenible. Automatiza las tareas manuales para que tus equipos se enfoquen en resolver problemas que afecten a tu negocio.

6.- controla los lanzamientos: los cambios implican mejoras y también el rompimiento de tus capacidades. Podemos adoptar CI/CD desde SRE y DevOps para liberar nuestras capacidades de datos de forma ágil y segura.

7.- mantenlo simple: el enemigo de la confiabilidad es la complejidad. Reduce la complejidad aislando las funcionalidades.

Una vez visto estos puntos, podemos decir que los equipos deben ser multidisciplinarios y trabajar conjuntamente en los proyectos para tener una visión integral.

Cuestiona lo qué haces como ingeniero y busca una forma de hacerlo lo mismo más simple, automatizado y replicable.

Recuerda que lo importante es que tu trabajo pueda ser reutilizado por un colega tuyo y no deba volver a hacerlo.

Siempre controla las versiones desplegadas de tus capacidades.

Y por último, no por tener un ingeniero de datos experto se acabarán tus problemas de datos.

¿Quieres implementar DRE?

Si te gusto este blog y quieres implementarlo en tu compañía no dudes en revisar nuestro servicio de Data Reliability.

¡QUIERO SABER MÁS!