El Problema: Reportes en Tiempo Real Después de Migrar a ERP Cloud
Migrar de un ERP on-premises a un sistema cloud-native como Infor Cloud Suite trae enormes beneficios en escalabilidad y mantenimiento, pero a menudo rompe los reportes en tiempo real. Oldcastle APG, uno de los proveedores más grandes de materiales de construcción en Norteamérica, enfrentó exactamente esto: sus reportes batch heredados no podían seguir el ritmo de la necesidad de visibilidad instantánea en servicio al cliente, finanzas, logística y manufactura. Cientos de usuarios esperaban exportaciones diarias, perdiendo oportunidades y retrasando decisiones.
Desafío clave: El reporting integrado de Infor Cloud cubre solo necesidades mínimas. Análisis multidimensionales en tiempo real requirieron una arquitectura personalizada.
Este post desglosa la arquitectura que construyeron con los AWS Solutions Architects, enfocándose en el pipeline de streaming, la capa de base de datos y la entrega de dashboards embebidos. Es un blueprint práctico para cualquier organización que esté extendiendo su ERP cloud con analítica cloud-native.
Para una perspectiva más amplia sobre patrones de identidad y acceso cloud-native, checa nuestra guía sobre Azure Files Entra-Only Identities.

Inmersión en la Arquitectura: Streaming de Infor a Aurora y QuickSight
La solución se apoya en tres pilares: streaming de datos en tiempo real, almacenamiento escalable con alta disponibilidad y analítica embebida. Vamos a ver cada uno.
1. Streaming en Tiempo Real con Infor Data Fabric Stream Pipelines
Infor Data Fabric Stream Pipelines es un add-on que captura eventos de insert, update y delete de las tablas del ERP (pedidos de venta, inventario, transacciones financieras) tan pronto como ocurren. En lugar de esperar por ETL batch, los datos se envían inmediatamente.
-- Ejemplo: Consultando datos de stream almacenados en Aurora PostgreSQL
-- Los eventos crudos se almacenan en columnas JSONB para flexibilidad
SELECT
event_id,
event_type,
table_name,
payload ->> 'order_id' AS order_id,
payload ->> 'status' AS status,
event_timestamp
FROM
stream_events
WHERE
table_name = 'sales_orders'
AND event_timestamp > NOW() - INTERVAL '1 hour'
ORDER BY
event_timestamp DESC;
Decisiones de diseño importantes:
- Usa Network Load Balancer (NLB) con Elastic IPs estáticos en subnets públicas para que Infor alcance la VPC (Infor no puede acceder directamente a subnets privadas).
- Routers RDS (instancias EC2 con iptables NAT) redirigen el tráfico del NLB a Aurora en la subnet privada.
- RDS Proxy gestiona el pool de conexiones y el failover automático, esencial para streaming de alta frecuencia.
2. Capa de Almacenamiento: Aurora PostgreSQL con Multi-AZ
Aurora PostgreSQL fue elegido por su soporte para JSONB (schema flexible para datos de streaming), escalabilidad automática de almacenamiento y alta disponibilidad Multi-AZ.
# Ejemplo Python: Simulando cómo una función Lambda procesaría eventos de stream
# y los insertaría en Aurora
import json
import boto3
import psycopg2
def lambda_handler(event, context):
# Parse del evento de stream (asume formato NDJSON de Infor)
records = json.loads(event['body'])
conn = psycopg2.connect(
host='tu-cluster-aurora.cluster-xxxx.us-east-1.rds.amazonaws.com',
dbname='erp_stream',
user='stream_user',
password='tu-contraseña'
)
cur = conn.cursor()
for rec in records:
# Inserta evento crudo en columna JSONB
cur.execute(
"INSERT INTO stream_events (table_name, payload, event_timestamp) VALUES (%s, %s, %s)",
(rec['table'], json.dumps(rec['data']), rec['timestamp'])
)
conn.commit()
cur.close()
conn.close()
return {'statusCode': 200, 'body': 'OK'}
3. Dashboards Embebidos con QuickSight
Amazon QuickSight proporciona dashboards interactivos y reportes pixel-perfect. La innovación principal fue embeber estos dashboards directamente dentro de Infor OS a través de Amazon API Gateway.
// Ejemplo: Generando una URL de dashboard embebido de QuickSight vía API Gateway + Lambda
// Esta función se llama desde un iframe en Infor
const AWS = require('aws-sdk');
const quicksight = new AWS.QuickSight({ region: 'us-east-1' });
exports.handler = async (event) => {
const userArn = 'arn:aws:quicksight:us-east-1:123456789012:user/default/erp_user';
const dashboardId = 'sales-dashboard';
const params = {
AwsAccountId: '123456789012',
MemberId: event.queryStringParameters.userId,
IdentityType: 'QUICKSIGHT',
SessionLifetimeInMinutes: 60,
ExperienceConfiguration: {
Dashboard: {
InitialDashboardId: dashboardId
}
}
};
const result = await quicksight.generateEmbedUrlForRegisteredUser(params).promise();
return {
statusCode: 200,
headers: { 'Access-Control-Allow-Origin': 'https://tu-dominio-infor.com.mx' },
body: JSON.stringify({ embedUrl: result.EmbedUrl })
};
};
Nota de seguridad: La función Lambda valida tokens de sesión de Infor, mapea roles de usuario a permisos de QuickSight y aplica filtros de seguridad a nivel de fila para que cada usuario vea solo datos autorizados.

Resultados, Limitaciones y Próximos Pasos
Lo Que Lograron
- Más de 50 dashboards complejos implementados en 8 meses
- Más de 100 usuarios concurrentes sin degradación de rendimiento
- Millones de transacciones procesadas diariamente en tiempo real
- Respuesta de consulta inferior a 1 segundo usando caché SPICE de QuickSight
- Single sign-on y acceso a datos basado en roles
Limitaciones y Cuidados
- Stream Pipelines es un add-on – no todas las licencias de Infor lo incluyen. Revisa tu contrato.
- IPs estáticos del NLB requieren gestión cuidadosa si escalas a múltiples regiones.
- JSONB en Aurora es flexible, pero puede convertirse en un cuello de botella de rendimiento si no indexas campos consultados con frecuencia. Planea tu estrategia de índices temprano.
- Embeber QuickSight requiere configuración cuidadosa de CORS y validación de tokens de sesión para evitar brechas de seguridad.
Próximos Pasos para Aprender
- Profundiza en Infor Data Fabric – explora sus capacidades de streaming más allá de la replicación básica de tablas.
- Experimenta con Aurora PostgreSQL y JSONB – prueba estrategias de indexación para datos semiestructurados.
- Construye un dashboard embebido en QuickSight – la documentación de Embedded Analytics de Amazon QuickSight tiene tutoriales excelentes.
- Explora integración con IA/ML – Oldcastle planea agregar predicción de demanda y búsqueda inteligente usando Amazon Bedrock. Esa es la próxima frontera natural.
Referencia: Este artículo está basado en la arquitectura original publicada en el AWS Architecture Blog.

Conclusión: El Blueprint para Analítica en ERP Cloud
La travesía de Oldcastle prueba que las migraciones de ERP a la nube no tienen que sacrificar los reportes en tiempo real. Combinando Infor Data Fabric Stream Pipelines con servicios gestionados de AWS (Aurora, QuickSight, API Gateway, RDS Proxy), construyeron un sistema escalable y mantenible. La lección principal: streaming vence a batch siempre cuando las decisiones operativas dependen de datos actuales.
Si estás planeando una migración similar, empieza pequeño – elige un proceso de negocio crítico (por ejemplo, seguimiento de pedidos de venta), construye una prueba de concepto con la arquitectura de arriba e itera. Los patrones aquí son reutilizables en cualquier sistema ERP que pueda enviar eventos vía REST o protocolos de stream.
Para más seguridad en tu integración cloud-native, echa un vistazo a nuestra guía sobre Critical React Server Components RCE Vulnerability (CVE-2025-55182).