Arquitectura reactiva: Una solución enfocada en los datos

El verdadero valor de la digitalización

Nada como llegar a casa… quizás en un taxi que pediste por una app y llegar pidiendo comida por alguna aplicación de delivery; acostarte y seleccionar tu programa favorito en un servicio de streaming; agregar un producto nuevo a tu lista de compra (la cual puedes revisar en tu teléfono o en la computadora), para al día siguiente pedir esa lista por medio de la aplicación de tu supermercado de preferencia. Todas estas cosas que podrían ser el día a día de muchos tienen algo en común y es que no siempre fueron tan fáciles de llevar a cabo, cada uno de estos procesos han pasado por una digitalización o han sufrido, como se escucha mucho ahora en el ámbito empresarial, una transformación digital.

Transformación digital: La tecnología en todos
los aspectos de la vida humana

Y es que ese es el objetivo de lo que se conoce como transformación digital, utilizar la tecnología para facilitar procesos que sin la misma serían mucho más engorrosos, complicados o en algunos casos hasta imposibles. Es que en un mundo donde cada vez es más normal el uso de dispositivos digitales de todo tipo (como bombillas que se conectan a internet), es natural que las empresas de cualquier tipo empiecen a reconocer el valor de la digitalización, el valor de convertir sus procesos análogos o manuales en procesos que pueden ser llevado a cabo por dispositivos digitales.

Pero es que esto no solo facilita la vida a los clientes de estas empresas, lo cual de por sí ya trae un gran valor para las misma; sino que también trae consigo un nuevo actor al escenario, del que antes no se hablaba mucho hasta que empresas como google o facebook demostraron lo valioso que podría llegar a ser y sí, nos referimos a los datos, a la información. Lo que se conoce ahora como big data, esas grandes fuentes de información que muchas empresas poseen y otras desean tener, pero que solo se logra tener en ambientes y procesos verdaderamente digitalizados.

 

Empresas que se empoderan con datos… o mueren

Esto ha traído un verdadero cambio de paradigma en muchas empresas, ha traído a colación casi que una nueva regla de supervivencia: empoderarse con datos… o morir. Actualmente, en un mundo donde casi todas las ideas se han descubierto (o eso creemos), es cada vez más difícil sobresalir como empresa solo por tener una idea brillante y se hace cada vez más necesario obtener datos que luego puedan ser usados de manera brillante.

Es por eso que muchas empresa ofrecen sus servicios “gratis”, como es el caso de la mayoría de las redes sociales y es que sus clientes no somos los usuarios que usamos sus aplicaciones, sus clientes son las empresas a quienes les ofrecen servicios que puedan aprovechar al máximo nuestros datos. Creando un ecosistema de negocio donde la empresa con mejores datos tendrá más clientes, en otras palabras tendrán más oportunidades de sobrevivir.

Netflix logró su transformación digital en etapas tempranas y aunque Blockbuster siendo en su momento el rey de las películas caseras intentó remontarse a la ola, era muy tarde.

Por lo tanto se hace imprescindible para muchas empresas tradicionales no solo poder crear mejores soluciones para sus clientes, digitalizando las mismas por ejemplo, sino también buscar las formas de poder sacarle provecho a los datos que generan sus propios procesos, para así seguir mejorando la experiencia de sus productos. Es el verdadero empoderamiento de los datos el que puede lograr esta meta, la de crear productos que impacten verdaderamente al cliente y por lo tanto generen una rentabilidad sustentable.

 

Antes de que las máquinas aprendan, ¿de dónde lo aprenden?

Todo este asunto de la transformación digital ha terminado en directivos de empresas que apenas comenzando a implementar soluciones digitales a sus procesos quieren empezar a automatizar sus soluciones de manera inteligente. Crear soluciones como las de grandes empresas, que se adapten a las situaciones o conozcan a sus clientes de manera automática. Comienzan a hablar de inteligencia artificial o el aprendizaje automatizado… pero antes de empezar a lograr siquiera eso olvidan lo más importante: Los datos.

Empresas como google han logrado tener soluciones increíbles no solo por tener buenos ingenieros, sino por las cantidades ingentes de datos que han logrado recolectar con el tiempo y con lo cual han logrado entrenar a sus modelos de aprendizaje automatizado. Por lo tanto antes de pensar en aplicar machine learning, inteligencia artificial o soluciones que aprendan solas que es lo mejor para el usuario, primero toca saber qué es lo que el usuario considera mejor.

 

Una solución enfocada en los datos: Arquitecturas reactivas

Y es cuando se le da la verdadera importancia al corazón de la digitalización cuando las empresas empiezan a enfocar sus esfuerzos en crear sistemas centrados en el flujo de los datos. Entre ellos uno de los más conocidos son las arquitecturas reactivas. Según el manifiesto reactivo, un sistema reactivo tiene algunas características principales:

  • Ser responsivo: Un sistema que se adapta a las diferentes situaciones, detectando rápidamente sus problemas y resolviéndolos. Pudiendo responder de manera eficiente a cada usuario, fomentando una mayor interacción con este.
  • Ser resiliente: Poder manejar las fallas para seguir respondiendo, un sistema reactivo debe ser tolerante a fallos evitando el no estar disponible. Y esta resiliencia se logra con replicación, contención, insolación y delegación dentro de sus flujos.
  • Ser elástico: En un sistema reactivo el manejo de los recursos es de suma importancia, permitiéndose recibir grandes flujos de entrada, haciendo uso eficiente de los recursos dependiendo de la situación.
  • Ser dirigido por mensajes: Un sistema reactivo se basa en el envío de mensajes asincrónicos, tanto para enviar información como para manejar los errores dentro de sí. Lo cual asegura un acoplamiento holgado entre las partes, aislamiento correcto y transparencia entre componentes.

 

Sistemas reactivos: Responsivos, resilientes, elásticos y dirigidos por mensajes

Por lo tanto se puede entender como arquitectura reactiva a una forma de construir soluciones informáticas con estas características, las cuales tienen como objetivo principal lograr un flujo de datos rápido, seguro, escalable y dirigidos por datos. Para conseguir esto se usan ciertas tecnologías de comunicación y persistencia que en conjunto con aplicativos que pueden ser reactivos en sí mismo (haciendo uso de lenguajes reactivos) crean flujos completamente dirigidos por los datos.

Continuará… ✌️