February 28, 2024
Entonces, ¿cuál es el ingrediente secreto para crear aplicaciones de datos ágiles, aplicaciones de IA o cualquier tipo de producto de datos? Para profundizar en ello, es mejor que revisemos las capacidades de Plotly para comprender todos los conceptos clave:
En primer lugar, las iteraciones en la estructura de datos no deben ser cambios importantes. El desarrollo ágil de datos tiene que permitirnos introducir nuevas funciones (columnas) en nuestro conjunto de datos, y tanto el back-end como el front-end deben estar preparados para ello sin necesidad de trabajar más.
Tenemos que poder cambiar los datos. Si el eje x y el eje y son conceptos abstractos desde Descartes (c. XVII), ¿por qué nuestra ingeniería todavía necesita llamarlos «facturación» y «fecha»? Vea cómo Plotly, simplemente seleccionando las variables de la columna para graficarla, hace todo el trabajo.
Y hacer cambios es fácil, es trivial.
No queremos ir a nuestro back-end y preguntarnos: «Oye, pensamos que sería mejor mostrar una comparación en este conjunto de datos, por lo que queremos añadir dos matrices, ¿podrías crear otra columna en esa tabla? Por cierto, también tendremos que recuperar ambas desde el punto final de la API». El marco de datos de Pandas no requiere que un departamento de TI añada o elimine columnas. ¿Por qué lo necesitamos cuando pasamos a los sistemas de producción de aplicaciones de datos?
Una arquitectura de back-end que no sea necesario modificar cada vez que se cambie el nombre de una columna, se elimine una columna nueva o se elimine una es la piedra angular para crear productos de datos ágiles.
¿Por qué las arquitecturas de TI actuales no pueden cambiar rápidamente un gráfico? No existe ningún almacenamiento de datos en el mercado que permita esta flexibilidad, no existe ningún sistema de interfaz que permita leer un back-end líquido y mostrar lo que contiene.
Una aplicación de datos debe ser capaz de cambiar los tipos de componentes, como un gráfico o un indicador. ¿Este gráfico de líneas? Cambiémoslo por un gráfico de barras. En Plotly se trata de cambiar una sola palabra de la ecuación: cambiar «línea» por «barra» y ¡listo! ¡Magia! ¡Hermoso!
No queremos ir al Front-end y decir: «Oye, lo siento, hablamos con nuestro cliente y creemos que ahora esto se entiende mejor como un gráfico de barras». Los desarrolladores de TI se enfadan y nosotros nos frustramos cuando pedimos permisos para cada pequeño paso.
Un producto se basa en iteraciones. Un buen producto se basa en iteraciones rápidas. Esto también se aplica a un producto de datos, ya sea una aplicación de datos o una aplicación de inteligencia artificial. Si no podemos crear páginas nuevas, eliminar otras, cambiarles el nombre o cambiar el orden de los gráficos, seremos esclavos de la gestión de nuestros proyectos.
Si bien la buena gestión de proyectos es clave, las aplicaciones de datos tienen que ver con mostrar los datos correctos en el lugar correcto y en el orden correcto. Y estar en el mercado es la mejor manera de alcanzar ese conocimiento. Cuando estás en el mercado, o encajas rápido o pereces. ¿Has intentado recomponer una PWA completa con un equipo completo? Podría llevar décadas; los equipos de tecnología se ven obligados a crear enormes cantidades de legado que, con el tiempo, se convierten en una pérdida de recursos, motivación, dinero y talento.
En Plotly, cambiar el orden de un gráfico consiste en cambiar el valor de la fila y la columna, ¿por qué las aplicaciones de datos no funcionan así?
¿Por qué la ingeniería no puede ser tan rápida para recomponer e impulsar el ajuste entre el producto y el mercado de las aplicaciones de datos? El problema está claro, pero hasta la fecha no existe ninguna solución (excepto la de Shimoku).
Las herramientas de BI o Streamlit son bastante limitadas si se piensa en la experiencia del usuario. De hecho, no es posible crear un flujo de página fluido y una arquitectura de páginas rica. Una aplicación de datos tiene que ser un producto como cualquier otro, tiene que ser capaz de dar servicio a miles de usuarios y también de ofrecer una experiencia rica, es decir, enlaces de una página a otra para que la navegación sea atractiva. ¿Ha intentado ir de una página a otra en Tableau o Qlik? Es complicado e incómodo, no se puede vender un producto así.
Las tecnologías actuales permiten crear una aplicación de datos de una sola página al estilo de los 90, pero lo que se necesita son productos sofisticados con páginas, subpáginas y botones para ir a donde quieras con un solo clic (piensa en Google Analytics, Sentry o Datadog, por ejemplo). Los filtros no son suficientes y esas herramientas tienen filtros poco potentes (este ni siquiera es el caso de Streamlit)...
Lo que necesitamos es un marco para crear aplicaciones de datos tan rápido como con Streamlit, que te permita generar una gran variedad de páginas y subpáginas y formas sencillas de conectarlas, creando una experiencia unificada para atraer a tus usuarios. Necesitamos que un producto de datos sea como cualquier otro producto que sitúe al usuario en el centro para facilitarle la vida.
Necesita crear una buena infraestructura para aumentar el número de usuarios o pagar por servicios costosos como Dash Cloud o Tableau Server. En ambos casos, se necesitará una gran cantidad de tiempo y esfuerzo para poder gestionar unos pocos miles de usuarios (no creo que se pueda tener unos pocos miles de usuarios en una herramienta de BI ni siquiera si se compra un centro de datos completo).
Los servicios que le cobran por el tamaño del servidor o por la cantidad de usuarios están lejos de ser la solución real que necesitamos. Necesitamos usar una tecnología que sea independiente del número de usuarios que tengamos. Limitar el número de usuarios limita el potencial de nuestras aplicaciones de datos. ¿Te imaginas que Facebook limite su servicio a 1000 cuentas? ¿O Google no permite más de 1000 búsquedas diarias en todo el mundo? ¿Por qué se considera que las aplicaciones de datos son servicios limitados para unos pocos?
Parte de la respuesta radica en el hecho de que la mayoría de las aplicaciones de datos del pasado estaban pensadas para los analistas. Pero esta ya no es la verdad. La alfabetización de datos es cada vez más importante para las empresas de cualquier tamaño, y las personas y los profesionales están más acostumbrados a tomar decisiones basadas en los KPI o en una predicción que respalde una hipótesis o escenario potencial. La aparición de la malla de datos es la última prueba de ello.
Las aplicaciones de datos y las aplicaciones de inteligencia artificial deben estar abiertas a cualquier número de usuarios, ya que el número de usuarios que pueden leer un gráfico y un KPI y tomar medidas al respecto ha aumentado en los últimos años para prácticamente cualquier puesto de oficina.
Control de acceso personal: cada usuario tiene un correo electrónico y una contraseña. Es habitual en la industria que media docena o más de usuarios compartan una misma contraseña, porque (¡sorpresa!) la industria cobra en función del número de usuarios. Se trata de un impuesto que bloquea la imparable aparición de productos de datos. Hemos considerado los productos de datos como un servicio VIP para usuarios capaces que han seguido cursos sobre análisis de datos para que puedan convertir la información en información valiosa. Sin embargo, esta era ha terminado. Hoy en día, obtener información a partir del análisis se está convirtiendo en una habilidad común en cualquier oficina del mundo.
Por lo tanto, necesitamos abrir estas aplicaciones de datos para que cualquiera pueda acceder y mejorar su rendimiento laboral gracias a ellas. Para ello, es clave garantizar un acceso independiente y gratuito a cada usuario. Hace unos meses, Tableau desbloqueó esta posibilidad: están atrasados, el mercado lo exige desde hace años. Para otros, como Plotly y Streamlit, es necesario crear la infraestructura de control de acceso y esto suele requerir semanas de desarrolladores y mucho dinero.
Estamos hablando de productos. Para que los productos de datos tengan éxito, un inicio de sesión independiente para cada persona que utilice una aplicación de datos es tan importante como lo es para Facebook.
Necesitamos una arquitectura como la siguiente:
Al final, lo que proponemos es una infraestructura de datos general que ahorre mucho tiempo y recursos en el desarrollo de código para crear estos dominios de datos y productos de datos (aplicaciones de datos y aplicaciones de IA) teniendo en cuenta los principios de la malla de datos:
· Control de acceso. Para cualquier número de usuarios.
· Seguridad. Garantizar el cumplimiento de todos los estándares de seguridad.
· Disponibilidad de datos. Para que los datos puedan extraerse mediante programación y vincularse a otros dominios o productos de datos.
· Control de versiones. Cada versión de la aplicación de datos (y los datos que la acompañan) debe tener su propia versión para que podamos revertirla fácilmente.
· Descubrir y explorar. Tener una experiencia de usuario profesional es clave para cualquier producto hoy en día.
Creemos que este es el futuro de la industria de los datos.
Descargar este post en PDF para tenerlo cuando quieras