Perspectivas de integración de datos en un mundo multi-cloud.

Compartir

Una perspectiva histórica

Cuando en la década de los años 90, Bill Inmon y Ralph Kimball presentaron al mundo su debate por la mejor arquitectura para construir el Data Warehouse, las empresas con mayor poder adquisitivo se sumaron a la discusión decidiéndose por una u otra arquitectura y los grandes fabricantes de software también hicieron su parte.

El objetivo era brindar a los clientes nuevas tecnologías que permitieran dar forma física a los conceptos de Inmon y Kimball para que el sacar provecho de los datos fuera un proceso mucho más estructurado y estos datos pudieran organizarse de manera adecuada para que los usuarios de negocio pudieran obtener valor de ellos.

Podemos decir que el Data Lake es el efecto colateral, causado por la presión por brindar auto servicio y las dificultades que enfrenta TI para resolver toda necesidad de la organización en una cultura que está hambrienta por datos para soportar sus decisiones. El Data Lakehouse es la evolución de Data Lake y el Data Warehouse que brinda un enfoque integral para la administración de los datos para los distintos esquemas de consumo de la organización.

La discusión por el mejor modelo se expandió entonces, y de forma indirecta dio origen a la explosión en el uso de las herramientas ETL, las cuales permitían el consumo de distintas fuentes de datos para concentrar en un único punto toda la información que la organización requería para apoyar la toma de decisiones.

La integración entre aplicaciones ha sido un caso aún anterior a los años 90, ha existido siempre y hemos ido evolucionando desde los Sockets que se utilizaban aún en el mundo de 16bits hasta lo que ha venido a considerarse la etapa más madura de integración de aplicaciones donde los protocolos como REST y JSON han tomado protagonismo, aún por sobre estándares más estructurados y formales como SOAP y XML que aunque siguen estando vigentes ya son menos utilizados.

Aún 30 años después podemos vislumbrar claros vestigios de aquellos días, aún tenemos Data Warehouses, Operational Data Stores y Data Marts que siguen siendo válidos y funcionales y tenemos comunicación por socket aún en algunos sistemas legados, que siguen siendo bastante funcionales, inclusive las técnicas de modelado establecidas por esos días siguen siendo vigentes[1], y es un común denominador el uso de software ETL para una multitud de casos de uso, sin embargo, el mundo ha cambiado en muchas formas y muchos elementos nuevos se han agregado al panorama haciéndolo más amplio, cambiando la industria y creando nuevos roles.

 

 

[1] Hay nuevas tecnologías que reducen la necesidad de manejar técnicas de modelado específicas (por ejemplo, en vez de cubos OLAP, el uso de bases de datos columnares y formatos de archivo como parquet y similares embebidos en herramientas de BI). Esto fue posible dado el abaratamiento de los costos de procesamiento y almacenamiento, que se ha dado progresivamente a través de los años. Y a tecnologías como Hadoop que potenciaron el procesamiento a través de hardware de bajo costo.

Los nuevos esquemas de integración.

La multiplicidad de nuevas tecnologías, la influencia de nuevos esquemas de consumo de datos y el advenimiento de tecnologías como la analítica avanzada, han permitido que se vayan agregando nuevas funcionalidades y nuevos esquemas de integración a las herramientas.

Asi por ejemplo, en la primera y segunda generación de Data Warehouses, se hablaba de la posibilidad de crear un ODS tipo 1 en línea, el cuál podía recibir información en “Tiempo-Real” desde el sistema transaccional, en ese entonces había pocas herramientas en la capacidad de poder lograr tal objetivo. Hoy en día la integración en tiempo real (o casi tiempo real), forma parte de arquitecturas que son ampliamente implementadas con mucho éxito (Kappa, Lambda) y que posibilitan estrategias de analítica y de integración IoT en tiempo real.

Por otra parte, algunos patrones de integración que antes se diseñaban manualmente ahora forman parte de herramientas de integración formalmente establecidas, por ejemplo la posibilidad de establecer de manera automatizada un patrón de publicación y suscripción de información (análogo a como se hace la entrega de un periódico), donde un aplicativo puede crear un nuevo insumo de datos (por ejemplo, un estado de resultados, o un balance al cierre diario) y otro aplicativo o conjunto de ellos recibe los datos en forma de una suscripción, donde se puede garantizar la entrega íntegra del conjunto de datos generados a todos los suscriptores.

Aún hoy, los procesos ETL/ELT que nos han acompañado por tantos años siguen estando vigentes, tanto así, que las herramientas para crear este tipo de integraciones se han enriquecido de funcionalidades, como la interpretación de datos semi-estructurados asistida por IA, el uso de scripting de lenguajes de última generación en transformaciones, el llamado activo a servicios web SOAP y REST, y la incorporación de participación del usuario de negocio en la definición y mantenimiento de las reglas de calidad de datos que son embebidas en procesos de integración, y el enmascaramiento de datos.

Otro de los tipos de integración que ha tenido un mayor apogeo, lo constituye la integración guiada por eventos o disparada por servicios. Estos tipos de integración se corresponden directamente a la comunicación entre aplicaciones, y con el consumo de streams de datos para alimentar herramientas de analítica, visualización y lagos de datos en tiempo real. Estas herramientas permiten la recepción de la información de forma asíncrona (generalmente por eventos) o sincrónica (generalmente con servicios), y forma parte del set de herramientas de integración con el que se cuenta para estructurar una arquitectura de datos.

El rezago tecnológico y la obsolescencia

Una importante cantidad de las migraciones hacia Cloud lo están guiando las empresas que se dedican a SaaS, tales como SalesForce, Marketo y ServiceNow, específicamente orientados a ciertos sectores, o a gigantes como SAP, Adobe, Microsoft y Google que ofrecen una variedad de opciones SaaS para múltiples necesidades empresariales. Dado esta nueva oferta, un tenant de múltiples de usuarios que sostiene la operación en una rama del negocio y es altamente tolerante a fallos, es una opción llamativa para el negocio y para los departamentos de TI que tenían que pasar días haciendo actualización de estas plataformas (por ejemplo, el CRM), cuando había una nueva versión o que debían mantener en punto sus arquitecturas para mantener en funcionamiento la plataforma.

Una de las ventajas más significativas en la utilización de los sistemas SaaS[1] (y iPaaS[2]  como veremos más adelante) es el que ya no existe necesidad de aplicar tales actualizaciones y las nuevas características son implementadas por el proveedor del servicio de manera constante. De esta forma se garantiza la operatividad de la plataforma de manera continua, y también se elimina la necesidad de lidiar con la obsolescencia de las plataformas.

Inclusive en casos donde los procesos de integración se mantienen aún en entornos totalmente on-premise, las opciones como las plataformas iPaaS permiten delegar la administración de las operaciones, parches e instalación de nuevas versiones y actualizaciones a la propia plataforma, a la vez que brinda a la empresa la posibilidad de apoyar los primeros procesos de integración a Cloud, con lo que se potencia el uso de las nuevas características aún en entornos que no son multi-cloud.

Multi-cloud

Uno de los elementos más representativos que impactan la gestión de los datos en la actualidad es el uso del Cloud, el cuál permite a las organizaciones desligarse de la necesidad de soportar infraestructura tecnológica, ya sea para casos puntuales o para reemplazar del todo los centros de procesamiento on-premises desplazando a la nube todas las aplicaciones.

Hay que reconocer que, aunque las tecnologías Cloud existen desde hace ya mucho tiempo, en Latinoamérica su adopción a nivel empresarial varía ampliamente, sobre todo en sectores ampliamente regulados y en el sector público, donde la existencia de legislación restrictiva limita la posibilidad de “exportar” los datos fuera de las fronteras.

Aún con lo anterior, es cada vez más común ver en los clientes que comenzaron a adoptar cloud la década pasada la aparición de implementaciones multi-cloud, que consiste en el que una empresa use múltiples proveedores de nube o servicios SaaS, en vez de casarse con un único proveedor. Por ejemplo, un banco que utiliza Azure para disponibilizar servidores para sus aplicaciones (IaaS) pero utiliza SalesForce como su CRM (SaaS), o el caso de una empresa de manufactura donde se utiliza Google BigQuery como lago de datos (SaaS), dado sus funcionalidades y capacidad, pero se usa AWS para la infraestructura tecnológica(IaaS).

Las razones para la utilización de ambientes multicloud son muchas, pero algunas de las más comunes son el costo y la funcionalidad diversa, ya que un proveedor puede brindar un componente a un costo más competitivo o con mayor funcionalidad y por tanto la organización desea hacer uso de este por sobre el que le ofrece la competencia, aunque tenga ya una base previa contratada. También las fusiones y adquisiciones nos enfrentan inesperadamente a retos de multi nube, y los negocios con mayor interés en esquemas avanzados de alta disponibilidad también están explorando el multi-cloud como una opción.

Asimismo, los proyectos de migración entre nubes son un tema complejo, y al tomar la decisión de pasar entre proveedores nos encontramos con numerosos retos de integración multi-cloud para mantener la operación. Estas situaciones eran ajenas a nosotros en el pasado en la época donde solo había centros de procesamiento on-premises, pero son una realidad cada vez más plausible en la actualidad. Grandes consultoras tales como Gartner han reconocido la importancia de valorar la posibilidad de trabajar en multi-cloud como un criterio a valorar en la elección de productos de integración empresariales.

 

 

No podemos seguir pensando en nuestras organizaciones como islas.

Con estas perspectivas parece claro que no podemos seguir pensando en nuestras organizaciones como islas que subsistirán solamente con sus propios recursos o en pensar que vamos a migrar toda nuestra operación a un único lugar y no tendremos que volver a cambiar de hogar, ya asumíamos hace tiempo que nunca íbamos a tener que salir de nuestro ambiente on-premises, así que no es lógico pensar que si la situación cambió no pueda cambiar nuevamente. Las empresas modernas deben considerar que están o estarán eventualmente presentes en múltiples nubes y que la arquitectura que adopten ahora puede ayudarlos o puede obstaculizar sus esfuerzos por ser multi-cloud en el futuro.

Existen numerosos recursos para poder elegir entre las distintas opciones para uno u otro fin. Los criterios que hemos usado tradicionalmente para elegir entre aplicativos y servicios de TI siguen siendo válidos, sólo hay que poner un énfasis especial a puntos como la seguridad, capacidad y disponibilidad y los SLA que se garantizan para cada uno, estos eran elementos que antes hasta cierto punto podíamos dar por sentados, dado que eran continuamente administrados y valorados por nosotros mismos.

Una de las mayores preocupaciones que se presentan al evaluar la selección de una nube como proveedor de servicios, es el cómo se brindará interoperabilidad e integración entre los componentes que se mantienen on-premises y los que están en las distintas nubes y cómo garantizar que en el caso eventual de reubicar elementos entre nubes esta interoperabilidad no se vea afectada o se afecte lo menos posible.

¿Cómo enfrentar esta complejidad?

Según hemos podido vislumbrar a través de lo comentado hasta este punto, el reto de la integración e interoperabilidad entre las nubes (y en algunos casos la interacción de estas con el entorno on-premise) equivale a la necesidad de establecer un elemento que pueda ofrecer un balance entre las siguientes funcionalidades:

  • Interactuar con todos los entornos: para soportar la integración de cualquier tecnología que defina el cliente como parte de sus procesos de negocio.
  • Estar ubicado en todos ellos: para reducir el costo, y la complejidad administrativa que representa el traslado de los datos entre nubes o hacia “tierra”, el delegar el procesamiento a un componente que pueda estar interno a cada nube permite tener opciones para evaluar y poder ser más costo-eficientes.
  • Brindar una solución para cualquier latencia: integración de aplicaciones en tiempo real, consumo y exposición de servicios, interacción con colas de mensajes, exposición de APIs, procesos micro-batch y batch para ETL/ELT, publicaciones y suscripciones automáticas.
  • Permitir la movilidad sin detrimento del trabajo realizado: Si he invertido tiempo y esfuerzo en crear un proceso de integración o que permite la interoperabilidad entre aplicativos, el proceso debe seguir vigente, y su lógica debe permanecer inmutable, independientemente de donde se ubiquen sus fuentes o destinos, aun cuando mueva alguno de los extremos hacia otra nube y aún si decido prescindir de los servicios de un proveedor de nube del todo, de lo contrario podrían incidir continuamente en reprocesos, rediseños, reingenierías y reconfiguraciones mayores.
  • Agnosticidad: La propiedad de mantenerse neutral permite a un proveedor de servicios de integración desarrollar su oferta según las tendencias del mercado global. Una mayor conectividad y compatibilidad entre tecnologías es una de las formas en la que un proveedor independiente hace su oferta competitiva. Esto se vuelve una ventaja para sus clientes, ya que este tipo de proveedores no prioriza la compatibilidad con una tecnología sobre otra porque la primera le pertenezca, sino que prioriza la conectividad a las tecnologías que van siendo tendencia y las que utilizan sus clientes.

Este tipo de características, son las que brindan las tecnologías iPaaS (integration Platform as a Service), también conocidas EiPaaS (Enterprise iPaaS), estas plataformas tecnológicas brindan la posibilidad de realizar todo tipo de integración, y brindan algunas o todas las funcionalidades que hemos revisado.

 

“Gartner define la plataforma de integración empresarial como servicio (EiPaaS) como una combinación de funcionalidades de tecnología de integración que se entregan como un conjunto de servicios en la nube y están diseñadas para respaldar iniciativas de integración de clase empresarial. Un proveedor de EiPaaS ofrece alta disponibilidad, recuperación ante desastres, seguridad, SLA y soporte técnico. También permite a los usuarios desarrollar y ejecutar múltiples escenarios de integración al brindar soporte para múltiples personas. El proveedor de EiPaaS debe administrar completamente las operaciones, parches y actualizaciones de la plataforma.” Gartner Magic Quadrant for Enterprise Integration Platform as a Service. Thoo et al. Gartner 2021.

 

BD/ Consultores representa con orgullo la plataforma iPaaS que encabeza las valoraciones de completitud de visión y habilidad para ejecutar en este cuadrante mágico, Informatica Data Management Cloud, el cual cuenta no solo con las herramientas necesarias para gestionar de manera comprensiva todos los esquemas de integración on-premises, cloud o multi-cloud que la empresa moderna pueda requerir, sino que además agrega a su oferta la posibilidad de acceder a otros servicios innovadores en los que Informatica ha sido líder por más de 12 años, tales como la gestión de la calidad de los datos y la gestión de datos maestros, y otros servicios en auge que se están volviendo cada vez más críticos para el éxito de proyectos de analítica avanzada, modernización de aplicaciones y data warehouses y transformación digital, como la ingesta masiva para Data Lakes en Cloud, la gestión activa de metadatos y el gobierno de datos.

Esta plataforma brinda a nuestros clientes los medios para poder satisfacer la demanda variada de procesos de integración de datos y aplicaciones a los que se enfrenta una empresa en vía de trabajar multi-cloud, cubriendo todos los tipos de integración requeridos a la vez que dentro de la misma suscripción brinda a nuestros clientes la capacidad de crecer en la gestión y el gobierno de los datos dentro de la misma plataforma, cuando así lo decidan, sin que medie una contratación nueva o un conjunto de condiciones distintas. Es la oferta más flexible y completa del mercado para brindar todas las funcionalidades de gestión y gobierno de datos que su empresa requerirá.

[1] Software as a Service [2] Integration Platform as a Service