Un cliente realiza una compra en línea. Se le cobra en su tarjeta, pero el pedido nunca se envía.
Un viajero reserva un vuelo. El pago se realiza correctamente, pero su asiento nunca se reserva.
En ninguno de los casos el sistema falló. Parte del flujo de trabajo se ejecutó correctamente, pero desde una perspectiva empresarial, el resultado sigue siendo un fracaso. En muchos sectores, un éxito parcial genera más riesgo que una interrupción total del servicio.
Este resultado puede surgir durante las iniciativas de modernización, cuando los procesos de negocio que antes se ejecutaban dentro de un único límite transaccional se distribuyen entre múltiples servicios o plataformas. Si bien la descomposición puede mejorar la agilidad y la escalabilidad, también puede dificultar la coordinación y la coherencia de las transacciones cuando un único proceso de negocio abarca muchos componentes.
Esa flexibilidad conlleva una contrapartida. Cuando una sola transacción comercial abarca múltiples servicios, cada uno con sus propios datos y lógica, garantizar que todo se complete correctamente se vuelve mucho más difícil. Una interrupción total es visible y activa una respuesta. Un fallo parcial (en el que algunos pasos se ejecutan correctamente y otros no) puede pasar desapercibido durante más tiempo, lo que genera riesgo financiero, insatisfacción del cliente y complejidad operativa, especialmente en entornos donde las transacciones críticas para el negocio dependen de una ejecución coherente de principio a fin.
En muchos sectores, el éxito parcial no es aceptable. El principio de integridad de las transacciones, que se aplica de forma integral, implica que cada operación se completa con éxito o se revierte por completo. En el sector financiero, un banco no puede actualizar su saldo sin el correspondiente asiento contable, del mismo modo que una aseguradora no puede emitir una póliza sin completar la evaluación de riesgos, o un sistema de viajes no puede confirmar un pago sin asegurar la reserva.
Históricamente, los sistemas de alto riesgo que gestionan este tipo de cargas de trabajo se construían en torno a un principio simple: una transacción o se completa por completo o no se produce en absoluto.
Monzo, un banco digital con sede en el Reino Unido, ha hablado públicamente sobre los desafíos operativos que surgieron al expandir su entorno a más de 1500 microservicios. La empresa abordó estos desafíos mediante controles de ingeniería más rigurosos, mayor observabilidad, prácticas de prueba más efectivas y una mayor disciplina operativa. Su experiencia demuestra que, a medida que los sistemas se vuelven más distribuidos, las organizaciones deben invertir más en mantener la coherencia y la coordinación.
Muchas organizaciones operan hoy con éxito sistemas distribuidos a gran escala. Si bien las arquitecturas modernas pueden proporcionar sólidas garantías transaccionales, estas garantías a menudo requieren herramientas y esfuerzos de ingeniería adicionales que históricamente ha proporcionado la propia plataforma.
En entornos de alto riesgo y gran volumen de transacciones, un éxito parcial causa más daño que un fallo visible. Una reversión limpia mantiene la coherencia de los sistemas al facilitar la detección de errores y proporcionar a los operadores una vía clara para la recuperación.
Lo que a menudo se pasa por alto en los debates sobre la modernización de los sistemas mainframe es dónde residía originalmente esta garantía. Los sistemas mainframe imponían la atomicidad a nivel de plataforma, sentando las bases de la fiabilidad y la resiliencia operativa, donde la coherencia de los datos y la integridad de las transacciones eran inseparables. Los desarrolladores no necesitaban coordinar la coherencia entre múltiples componentes porque estaba integrada en la forma en que se ejecutaban las transacciones.
Muchas arquitecturas modernas aún requieren las mismas garantías, pero la diferencia radica en que la responsabilidad ha cambiado. En lugar de ser gestionada por el sistema, la integridad de las transacciones suele reconstruirse en la lógica de la aplicación, distribuida entre los servicios y las capas de coordinación. Este cambio introduce nuevos modos de fallo que muchas organizaciones encuentran durante la modernización de los sistemas centrales, donde las garantías transaccionales ya no se aplican a nivel de plataforma.
La modernización de los sistemas centrales requiere definir cuidadosamente dónde reside la responsabilidad de la coordinación de transacciones. Si bien algunas organizaciones optan por reconstruir esas garantías mediante patrones de aplicaciones distribuidas, otro enfoque consiste en preservar los modelos de ejecución transaccional probados al tiempo que se moderniza el entorno.
Rocket Enterprise Server permite a las organizaciones ejecutar COBOL y otras cargas de trabajo críticas para el negocio en plataformas distribuidas e infraestructura en la nube, manteniendo al mismo tiempo los comportamientos transaccionales en los que muchas empresas han confiado durante décadas.
Para cargas de trabajo que dependen de una estricta coherencia transaccional, Rocket Enterprise Server conserva la coordinación de transacciones gestionada por la plataforma, al tiempo que permite la implementación en infraestructuras modernas. Esto permite a las organizaciones modernizarse sin necesidad de reimplementar todas las garantías transaccionales en el código de la aplicación y las interacciones con los servicios.
En el ejemplo anterior, los fallos se debieron a un control fragmentado. Al preservar la integridad transaccional en la capa de ejecución, la probabilidad de que se produzcan esos fallos disminuye considerablemente. A medida que los sistemas modernos evolucionan, es importante garantizar que las arquitecturas modernas no pierdan las garantías que las hicieron fiables desde un principio.
Durante años, los esfuerzos de modernización impulsaron a los equipos a dividir las aplicaciones en servicios más pequeños e independientes en aras de la velocidad y la escalabilidad. Este cambio aportó beneficios reales, pero también introdujo nuevos desafíos que muchas organizaciones aún están afrontando. En la práctica, muchas organizaciones se están volviendo más selectivas respecto a dónde y cómo descomponen las aplicaciones. Algunas cargas de trabajo se benefician de arquitecturas altamente distribuidas, mientras que otras priorizan la consistencia transaccional y la simplificación de las operaciones.
Los objetivos de la modernización de los sistemas centrales son evolucionar los sistemas de forma que se preserve lo que ya funciona, especialmente la integridad y la fiabilidad transaccionales que sustentan la seguridad de los sistemas centrales y que muchos sistemas modernos todavía tienen dificultades para replicar.
Descubra cómo Rocket Enterprise Server ayuda a las organizaciones a modernizar las aplicaciones críticas para el negocio, manteniendo al mismo tiempo la coherencia transaccional en entornos distribuidos y basados en la nube.
Preparación para la facturación electrónica: plazos, requisitos y próximos pasos prácticos
Presentamos Rocket EVA 2.0
Novedades de Vertica 26.3
