Transformación Digital utilizando Informix
Nos encontramos en la era de la minería de datos (Data Mining) y a través de la implementación de sus algoritmos de aprendizaje profundo y/o de máquina (Deep/Machine Learning) podemos alcanzar a hacer Inteligencia Artificial (IA). El mundo de Data en 2019 es muy diferente a lo que se veía en 2K. Ahora todas las empresas van hacia la IA, utilizan Cloud y BigData en casi todos los casos de uso.
No existe nada que no se pueda medir, todo es medido o cuantificado, "No se puede controlar aquello que no se mide". Esta frase la aprendí en la cátedra de Dirección de Proyectos, cuando estaba estudiando Licenciatura en Sistemas en la Universidad, y jamás imaginé cuantas veces llegaría a recordarla, repetirla, utilizarla, y difundirla. Es donde se apoya el éxito de todo proyecto o negocio, es aquel indicador o set de indicadores que nos permiten saber si estamos mal o bien, en términos de tiempos, recursos de gente o monetarios, y en consecuencia saber si debemos accionar y corregir o simplemente seguir adelante.
Por ejemplo, si yo quisiera saber quienes son los mayores consumidores de éste blog, y por ende saber del interés de sus seguidores de habla hispana, por el producto Informix, que se encuentran diseminados alrededor del mundo, para luego orientar alguna estrategia del tipo que fuere, debo capturar algunos datos, y hacer mediciones.
A partir de los datos que brinda el SEO de mi Blog, se puede confeccionar un mapa que muestra aquellos países desde los cuales se han realizado la mayor cantidad de visitas al mismo en el último año. Obviamente la estadística se encentra sesgada por mi país de origen, Argentina, y de mi red de contactos profesionales provenientes de LinkedIn, pero más allá de eso, de todos modos resulta interesante conocer el origen de los demás países.
Asimismo nos podría resultar interesante, a partir de alguna acción realizada por mi hace algún tiempo (estrategia), saber cuáles han sido los países que más han crecido en visitas al blog en el último año, y de esa manera saber si mi estrategia fue buena y debo seguir o debo ajustar algo:
Ecuador +375%
Chile +300%
Bolivia +267%
Mexico +100%
Peru +25%
Desde ya que mi interés es que se siga difundiendo el blog, así como dar a conocer, y hacer llegar a más informáticos o profesionales de IT, y en particular a quienes se dedican al tratamiento del dato, que sepan acerca de éste no gran, sino enorme producto, y sus capacidades.
Entonces, aprovechando esa información, que debo hacer yo, quedarme en esperar a que lleguen más lectores o tratar de llegar yo a ellos?.
Esto sería un muy simple ejercicio de como deberíamos de realizar un análisis y explotación de los datos para orientar nuestro negocio de manera muy básica, y si bien podríamos simplemente utilizar nuestra intuición basada en la experiencia para hacer lo mismo, hay miles de variables que podríamos agregar a nuestro modelo de análisis, pero que se tornarían difíciles de visualizar a simple vista, y que además a través de complejos cálculos matemáticos, aplicados a grandes volúmenes de datos permitirían crear modelos muchísimo más eficientes, y encontrar patrones ocultos en los datos (minería de datos).
Este desafío que se nos presenta, nos debería de empujar a tener que revisar nuestros procesos informáticos, organización técnica profesional e infraestructura tecnológica, de acuerdo a nuestros objetivos de negocio.
El resultado de esta revisión debería de permitirnos saber como nos encontramos parados respecto al mercado hoy y de cara al futuro. Muy posiblemente si nuestras operaciones no hayan iniciado posteriores al 2K, seguramente nos encontremos en la etapa "prenatal" según el modelo de madurez de TDWI (The Data WhereHouse Institute), y debamos considerar realizar muy seriamente una "Transformación Digital" (TD) en nuestra empresa.
La TD parece una frase "marketinera", al igual que lo fue hace algunos años BigData, del que todo el mundo hablaba, pero nadie sabía exactamente que era, ni para que servía!.
Un poco más recientemente se comenzó a hablar de DataLake, y podríamos decir lo mismo del Gobierno de Datos, como si todos estos términos simplemente fueran títulos de actualidad para acumular contenido en los principales medios del mundo, o también para que fueran aprovechados por muchas consultoras para vender servicios.
Tal cual pasó en vísperas al año 2K, donde por ejemplo aparecían electrodomésticos con el sello de "Compatible con Y2K". También se publicaron cientos de escritos causando temor en la gente, diciendo que se caerían aviones o fallarían los sistemas de aprovisionamiento energético causando apagones, etc. Si bien hubieron quienes sacaron provecho desmesurado, muchos otros de verdad tuvieron que revisar y modificar sus aplicaciones para asegurar que pudieran seguir operando luego de esa fecha, ya que muchos analistas de sistemas que desarrollaron los sistemas en las décadas de los 70/80, nunca pensaron que el año 2K estaría tan cerca... al contrario, pensaron que nunca llegaría!.
Es verdad que todos estos términos suenan terriblemente bien, y son rimbombantes, tengamos cuidado!, ya que no son solamente vocablos tecnológicos a ser repetidos e incluidos en discursos para no parecer desactualizados. No estoy hablando de modas, sino de una realidad tecnológica, algo que está pasando, ahora!!!.
También me estoy refiriendo a aquellos otros que porque piensan que si incorporan estos términos en sus discursos y no en sus planes estratégicos, es suficiente, ya sea por un verdadero desconocimiento de lo que realmente significan, o lo que es aún peor, por omisión porque piensan que es todo "aire caliente", y que es una vez más otro término bonito... están cometiendo un gravísimo error!, no están haciendo otra cosa que desestimar el problema, tal cual lo hicieron algunos analistas respecto al Y2K, sin anticipar y medir las consecuencias!. Sencillamente se estarían alineando a la predicción que dice que para 2025, 4 de cada 10 empresas desaparecerán por no haberse preparado digitalmente entre los próximos 3 a 5 años.
Hay algo que tenemos que tener muy en cuenta, y es que los ciclos de las revoluciones industriales son cada vez más cortos, antes llevaban un siglo, ahora ya estamos vaticinando la 5ta revolución industrial para el año 2030, de la mano de la IA.
Gracias a uno de sus precursores y padres del procesamiento computacional, el matemático Británico Alan Turing, que en la década del 50 del siglo 20 dio impulso a esta ciencia, hoy se estima que para el año 2030 la IA explotará.
No puedo dejar de citar una frase de su autoría, y que no hace otra cosa que darle sentido a todos esos términos: “Sólo podemos ver un poco del futuro, pero lo suficiente para saber que hay mucho por hacer”.
Permítanme tomarme el atrevimiento de expresarme, no voy a traicionar mis ideas, y mucho menos ser irrespetuoso con Alan Turing, pero NO digo que los CIOs se conviertan en futurólogos... pero si que sepan "leer" su presente, interpretarlo y confrontarlo con las tendencias de la tecnología, y a partir del análisis de su situación interna/externa, identificar oportunidades y riesgos, a partir de sus debilidades y fortalezas (Análisis FODA).
Los riesgos aumentarán, si nuestras debilidades tecnológicas no son asumidas, y el presente/futuro no es debidamente leído a tiempo.
Es el famoso caso de estudio de Blockbuster, conocido desgraciadamente por su fracaso... la causa principal de ese fracaso, fue la de NO haber tenido visión y recostarse en su éxito!, es decir que se creyó omnipotente, sin medir sus debilidades y riesgos, despreciando oportunidades... así fue que Netflix, con una gran visión, fue disruptivo y oportuno, frente a un Blockbuster estático y falto de visión que no quiso abordar la TD... por qué iba a necesitar cambiar, para obtener mejores resultados, si hasta ahora le había ido genial?... parece difícil no?, con el diario del Lunes seguro!!!... pero como decía antes, los CIOs no deben ser futurólogos, pero SÍ deben reaccionar oportunamente ante los cambios de la tecnología!... justamente el riesgo y error para Blockbuster estuvo dado por su falta de visión, y no haber revisado si debía adaptar sus procesos, organización e infraestructura, desestimando de ésta manera la revolución industrial 4.0.
Todo evoluciona, todo se transforma, y la empresa no es una excepción, no es estática. El lema hoy es, que si no lo hacemos nosotros al cambio, otro sí lo hará antes... y ahí habremos perdido la oportunidad. Muchas veces queremos ser cautos esperando ver que hacen los demás... no planteo que seamos arriesgados, pero sí que nos preparemos digitalmente, que seamos menos rígidos y más ágiles a la adaptación al cambio, que podamos medir con mayor exactitud nuestras estrategias, e intentar predecir, y prescribir, anticipando a lo que vendrá. Nuestra velocidad de reacción no solo debe ir a la par de los ciclos tecnológicos, sino que a su vez la capacidad de adaptación debe ser rápida y del menor costo posible.
Principalmente se debe situar al cliente en el centro de la estrategia digital.
Más del 90% de las personas cuenta con acceso a Internet, a través de un celular, tablet, laptop o PC, por lo cual se debe aprovechar su tiempo, haciendo valer cada micromomento, transformando su tiempo perdido, en tiempo invertido, y de ésta manera nosotros encontrando a través de ellos nuevos canales de venta y distribución, de nuestros servicios o productos. Poner al cliente en el centro significa saber que le interesa, que le gusta y que hace, comportamientos que se traducen a partir de los datos que recolectamos de ellos... para nosotros el cliente entonces es el conjunto de datos que lo define en su entorno, lo clasifica, y que luego a través de la explotación de esos datos podemos orientar mejor nuestras estrategias de negocio. Es por esto que decimos que las empresas a través de la TD se convierten en empresas de tecnología, no porque produzcan software, pero si porque requieren de la tecnología para procesar datos. Es por esto que decimos que el dato debe ser considerado como un activo más en la empresa, por esto también se dice que el dato es el nuevo "petróleo".
En la TD, se deben digitalizar los procesos aplicando metodologías ágiles, adaptando procedimientos basados en frameworks predefinidos (ITIL), digitalizando los procesos de delivery de nuestras aplicaciones, y los de integración de las diferentes etapas de desarrollo, fortaleciendo la ciberseguridad en cada una de ellas (DEVSECOPS), abandonando las jerarquías tradicionales, pasando a estructuras de trabajo colaborativas con referentes identificables que nos marcarán el rumbo en tres diferentes aspectos: Infraestructura, Datos y Aplicaciones.
Según estos tres aspectos, los referentes se corresponden a a su vez, en tres roles bien definidos que deben trabajar en conjunto dentro del área de sistemas: CTO (Infrastructure Mgr), CDO (Data Mgr) y CAO (Application Mgr), quienes maximizarán la relación costo/beneficio, aplicando una infraestructura segura (no solo respecto a la ciberseguridad, sino también en cuando a resiliencia y servicibilidad), escalable (eligiendo una plataforma robusta, estable y a la vez elástica en términos de procesamiento vertical y horizontal, que permita incorporar nuevas funcionalidades, adaptándose rápidamente a los niveles de madurez digital a través del tiempo) e inteligente (que dicha plataforma orientada a transformar los datos en activos, requiera bajo costo de soporte, y a su vez sea flexible y simple en cuanto al entorno: on-premises u on-cloud).
El nuevo orden digital emerge desde abajo, para aprovechar la inteligencia colectiva. El potencial está en el conocimiento, de ahí que se habla de la economía del conocimiento, aplicando la inteligencia humana en las máquinas, que luego apoyados en sistemas de soporte de decisión (Analítica), finalmente podamos alcanzar a hacer inteligencia artificial (AI), pasando por los pasos complementarios y previos de inteligencia de negocio (BI) y minería de datos (DM). De esta manera atraeremos al talento digital, promoviendo una cultura y mentalidad del cambio, convocando a personas con capacidades digitales innovadoras, transformándose en el catalizador para difundir e inculcar la cultura y mentalidad digital hacia todos los niveles y sectores de la empresa, incluso hasta los niveles más altos, la transformación requiere del respaldo político, ya que no es solo un asunto técnico.
El año pasado escribí un artículo acerca del tema del Gobierno de Datos, apoyándonos en Informix. Gobernar los datos es parte de la TD. La Analítica, otro término acuñado por el mundo digital, es el conjunto de procedimientos capaces de procesar datos (internos y externos a la empresa), para transformarlos en información, y luego en conocimiento, para apoyar a los niveles de gestión/decisión, para que a su vez estos elaboren los mejores planes estratégicos de negocio necesarios para dirigir sus empresas de una manera más competitiva.
En concordancia con dicho artículo, y en conjunción con mi rol de referente en gestión de datos, dada mi larga trayectoria académica/profesional, puedo asegurar, que todo aquel que toma contacto con Informix, no solo podrá verificar lo que pregono, en cuanto a los atributos mencionados anteriormente de resiliencia, robustez, simplicidad, capacidad, versatilidad y seguridad, sino que además podrá encontrar en su tecnología la plataforma de datos con la mejor relación costo/beneficio para realizar los cambios organizacionales en procesos, personas e infraestructura, necesarios para enfrentar la TD, que el mundo de la tecnología nos desafía a realizar.
Veamos que es lo que se puede obtener a través de una misma plataforma de procesamiento de datos basada en Informix:
1) Informix integra procesamiento transaccional y analítico, el cual es aquel requerido por las empresas para alcanzar el mayor nivel de madurez, "Sage" (Sabiduría), que nos describe TDWI (The Data WareHouse Institue), para permitirles a estas, embeber analítica en las aplicaciones en tiempo real. Esto es posible a través de IWA (Informix Warehouse Accelerator), el cual es una BDD multidimensional al igual que un DWH con sus DataMarts, pero in-memory y además on-line. Es decir que no precisa de ETLs para que su data sea refrescada. Tampoco requiere que los SQLs de las aplicaciones sean modificados, ya que el optimizer del motor decidirá automáticamente donde dicha consulta sería más eficiente correrla, en OLTP o en IWA (OLAP). Incluso si los modelos crecieran en el server de IWA, estos pueden escalar apilándose, formando un cluster de IWAs, a diferencia del símil de DB2 (BLU), que debe extender su memoria para poder escalar (quedando desbalanceado entre memoria y procesadores). Esto se conoce como OLTAP, que es la posibilidad de realizar procesamiento transaccional y analítico de forma simultánea, de manera totalmente transparente para las aplicaciones. Es apropiado también mencionar aquí que incluso dentro del procesamiento transaccional, el motor tiene la posibilidad de procesar los SQLs particionándolos, utilizando para cada partición un índice diferente, y de ésta manera procesar de forma simultánea cada partición. Es el procesamiento que los modelos analíticos multidimensionales tales como el estrella, requieren para procesar una consulta, ya que por cada tabla de hechos, hay múltiples dimensiones relacionadas, y por cada una de ellas, hay un índice diferente.
2) Informix nos permite a través de sus data blades entrar al mundo de Internet de las Cosas (IoT -- Internet of Things), de una manera amigable, simple y eficiente. Es uno de los motores, si no es el único multipropósito, capaz de almacenar series temporales (Time Series), o geo espaciales, o ambos combinados, de la manera más eficaz posible en términos de espacio y velocidad, conjuntamente con datos estructurados. Así es como gracias a la ventaja de su procesamiento multidimensional, mencionada en el punto anterior, el motor tiene la capacidad de procesar el tiempo y el espacio de manera simultánea.
3) Informix es el 1er motor de base de datos completamente cifrado o encriptado, no solo en sus datos sino además entre nodos en una arquitectura de replicación, como así también en sus backups (full backup y logical logs). Es por ende el 1er motor que cumple con las normativas Europeas de DGPR (European Data General Protection Regulation -- La Regulación General de Protección de Datos Europea).
4) Informix tiene la versatilidad de reemplazar al motor MongoDB (NoSQL Documental) de manera totalmente transparente para las aplicaciones. No solo eso, sino que además dentro de la misma aplicación se pueden combinar datos estrucutrados como no estructurados, almacenados dentro del mismo respositorio. Informix es bien conocido por sus data blades, los cuales le permiten almacenar TimeSeries, GeoSpatial, BSON/JSON (entre sus más importantes) de una manera sumamente eficiente en términos de espacio y performance.
Si bien aún es un proyecto, en el roadshow 2019, presentado por Scott Pickett, en su paso por Buenos Aires el pasado 24/25 de Junio, se está trabajando en incorporar los otros dos tipos de base de datos desestructurados (NoSQL), una orientada a Key-Value y la otra a Grafos. Entre las más conocidas en el mercado están Cassandra para la 1ra y Neo4j para la 2da. La de MongoDB como sabemos es orientada a Documentos.
5) Informix tiene una arquitectura única en su clase, fue el 1er motor de base de datos transaccional que en la década de los 90 fue capaz de realizar backups en caliente, así fue como se lo denominó Informix On-Line. Es decir que no hacía falta detener el procesamiento para realizar un backup. Otra característica única en su arquitectura es la de tener procesamiento multithreading real. Esto no solo significa que un proceso pueda ser particionado en múltiples sub procesos. El procemaiento de multitareas lo hace cualquier otro motor, la diferencia radica en que en Informix, los subprocesos llamados threads o hilos son administrados internamente por el motor, que fundamentalmente, no son administrados por el scheduler del sistema operativo, es decir que no compiten con otros procesos externos al motor, vendría a ser como un sistema operativo montado sobre otro, el cual maneja sus propias rutinas de interrupciones al más bajo nivel.
Informix cuenta con una arquitectura de replicación sumamente diversa, con la posibilidad de adaptabilidad a cualquier entorno requerido, permitiendo tanto una arquitectura de replicación Active-Active, Active-Passive, Shared Disk Secondary o Active-Multiple Secondary Servers.
Mediante la arquitectura de replicación utilizando Enterprise Replication, se puede replicar entre nodos que utilicen diferentes plataformas de sistema operativo y hasta diferentes niveles de versiones del motor de Informix. Esto por ejemplo, nos permitiría realizar rolling upgrades o migrar nuestros datos a donde sea, sin impactar en la servicibilidad, es decir manteniendo el máximo uptime planificado posible!.
Según el CAP Theorem (teorema de CAP -- Consistency, Availability y Partitioning), los motores NoSQL son BASE (Basically Available Soft-State Eventually-Consistent), preservan "Availability" por sobre "Consistency" y "Partitioning". Asimismo, los motores SQL, son ACID (Atomicity, Consistency, Isolation y Durability), preservan "Consistency" por sobre "Availability" y "Partitioning".
Habiendo explicado las diferencias entre SQL y NoSQL, es importante destacar que la adopción de MongoDB no ha sido NO deliberado. Como toda plataforma de datos NoSQL, escala horizontalmente agregando nodos haciendo sharding (particionamiento de datos). Informix puede realizar sharding, agregando nodos también. Informix puede comportarse tanto como ACID o BASE, según la necesidad y requerimiento de la aplicación, o ambos modos, simultáneamente. Puede realizar el mismo tipo de sharding que MongoDB y otros más complejos. En conclusión, Informix puede escalar tanto vertical, como horizontalmente, según sea necesario.
Cabe además destacar las enormes mejoras que se han introducido en las última versión 14 liberada en Marzo de 2019 (ver publicación), en particular respecto al tema de replicación, con mejoras de entre 5 a 8 veces más rápido que su versión anterior 12. Ver el estudio recientemente publicado acerca del benchmark comparativo entre las versiones 12 y 14 de Informix (ver publicación). Es increíble como Informix se va superando a si mismo en cada versión nueva que se libera!.
6) Informix cuenta no solo con la versatilidad de la plataforma de sistema operativo: Linux, Windows, OSX, HP-UX, AIX y Solaris, sino que además puede embeberse en un dispositivo tan pequeño como una RaspBerry (ARM). Característica única en su clase, que lo distingue como para ser utilizado para IoT en todas sus partes desde la recolección de los datos, hasta el servidor central y su posterior explotación analítica, pasando por sus gateways de recolección intermedios. También elegido por múltiples empresas como Cisco, utilizado para ser embebido en sus dispositivos electrónicos.
También puede utilizarse para una empresa de gran o mediana escala, que requiera un alto nivel de procesamiento transaccional y analítico, o una start up, ya sea en un servidor on-premises o también on-cloud (BlueMix, AWS o Azure).
7) Informix es el motor de base de datos con la menor cantidad de vulnerabilidades. Todos los años realizo un estudio comparativo entre los motores más usados del mercado, y entre todos ellos Informix es aquel que siempre se ha mantenido entre los primeros dos puestos a lo largo de los últimos 10 años!. Esto que significa?, pues que no se debe de perder tiempo en actualizaciones obligatorias dadas por vulnerabilidades en el producto, a partir de boletines reportados cuatrimestralmente emitidos por NIST. Más allá del tema del tiempo que se pierde en mantenimiento, se encuentra el tema de seguridad. Los defectos de vulnerabilidad es precisamente lo que los hackers buscan para intervenir y robar datos.
El tiempo que se pierde en otros motores aplicando parches por vulnerabilidad, acá se puede aprovechar e invertir en investigar y probar nuevas funcionalidades, para escalar nuestro negocio. Ver mi última publicación.
8) El soporte técnico que HCL, a través de IBM, brinda a Infromix es muy bueno desde mi punto de vista. Mi experiencia ha sido sumamente buena, hasta incluso alguna vez que tuve un problema serio y particular, el laboratorio elaboró una versión exclusiva para dar solución a un bug muy puntual.
Incluso IBM dispone de un sitio para registrar y solicitar funcionalidades que nos parezcan interesantes o importantes para que Informix incluya en futuras versiones. Las mismas son analizadas y ponderadas, no significa que todas vayan a ser incluídas, pero pueden ser votadas por otros para que sea un candidato de mayor peso. La página se conoce como de RFE (Request for Enhancement -- Solicitud de Mejora).
Por otro lado, el grupo de usuarios es muy fiel y comprometido. Podrán encontrar al grupo IIUG, y subscribirse. También existe desde hace muy poco un FORO para Informix, se puede acceder desde el sitio de IIUG (resources --> community).
Yo en particular me enfoco a ayudar a todos los hispanoparlantes, no solo informando noticias técnicas, sino también intentando difundir y explicar acerca de temas técnicos, usos y buenas prácticas. También escribo artículos de actualidad como el que están leyendo.
Respecto a los recursos, seguramente muchos piensan que porque se oiga poco de Informix, y que existan escasos en el mercado, signifique que sea un producto en extinsión, pero es un concepto totalmente falaz. Es un producto que al requerir tan poco soporte, y tener tal capacidad de aprovechamiento del h/w, hacen que haya menor cantidad de gente en el mercado, dada la escasa demanda. Incluso al ser una plataforma de baja complejidad, se puede reconvertir cualquier administrador de otra plataforma a Informix en muy poco tiempo.
CONCLUSIÓN: La TD abarca a personas, procesos e infraestructura. Sabemos que la tecnología es dinámica y evolutiva, y como toda empresa, se apoya en ella, por lo tanto decimos que todas las empresa son de tecnología, por lo tanto tiene que además de ser dinámica y evolutiva, también ser, flexible, escalable y fácilmente adaptable a los cambios que impone la evolución tecnológica (ya estamos en vísperas de la revolución industrial 5.0).
Estar centrado en el cliente, que es el conjunto de datos que lo definen, nos obliga a recolectar y procesar gran cantidad de datos de la manera más eficiente posible, para que a partir de ellos obtener información oportuna para poder definir mejores estrategias de negocio.
Entonces la tecnología para el tratamiento de los datos que elijamos para nuestra infraestructura es la piedra basal de todo lo que luego se apoye sobre ella, para lo cual no solo debe ser robusta, sino que además debe de ser sencillo poder evolucionar, permitiendo incorporar nuevas funcionalidades en nuestro negocio a lo largo del tiempo, simplificando la complejidad de desarrollo, reduciendo finalmente el costo operativo final. Gracias a su gran capacidad de procesamiento y versatilidad, es capaz de hacernos ahorrar dinero reduciendo la cantidad de servidores, que seguramente con cualquier otra plataforma harían falta muchísimos más... y por consiguiente menor cantidad de recursos humanos, menor cantidad de h/w, menor consumo de energía, menor cantidad de interfases, menor cantidad de integraciones, menor complejidad en el desarrollo.