Requisitos Almacenamiento escalable y confiable: el sistema debe escalar horizontalmente para administrar el creciente volumen de datos de todas las aplicaciones, lo que garantiza la confiabilidad y la entrega ininterrumpida del servicio de acuerdo con el SLA acordado. Rendimiento: cada aplicación necesitará el servicio de almacenamiento para mantener un alto rendimiento, con baja latencia y alto rendimiento, incluso cuando la demanda fluctúa. Administración de SLA: el equipo de infraestructura debe definir, monitorear y hacer cumplir SLA estrictos que dicten los estándares de rendimiento y disponibilidad del servicio de almacenamiento. Eficiencia de costos: con el potencial de una amplia utilización de recursos, la plataforma debe optimizar la eficiencia de costos sin sacrificar la calidad o el rendimiento. Facilidad de uso: el acceso y la interacción simplificados con la plataforma de almacenamiento son cruciales. Los desarrolladores de varios equipos deben encontrar el sistema intuitivo, con procesos sencillos para aprovisionar, acceder y administrar datos. Segregación de datos y control de acceso: la plataforma debe garantizar una estricta segregación de datos para la seguridad y el cumplimiento. Los controles de acceso deben ser sólidos y granulares para evitar el acceso no autorizado a información confidencial desde diferentes aplicaciones. Consideraciones adicionales Gobernanza de datos: como repositorio central para varias aplicaciones, la plataforma de almacenamiento debe cumplir con las políticas de gobernanza de datos, asegurando la integridad de los datos, la calidad y el cumplimiento normativo. Copia de seguridad y recuperación: es esencial una estrategia sólida de copia de seguridad y recuperación ante desastres, que proporcione garantías contra la pérdida de datos y permita la restauración rápida de los servicios en caso de una interrupción. Personalización y extensibilidad: de manera similar a lo que vimos en el caso de uso de la aplicación SaaS, la plataforma debe ofrecer opciones de personalización que satisfagan las necesidades específicas de la aplicación, incluido el soporte para varios tipos y estructuras de datos. Monitoreo y optimización: es necesario un monitoreo continuo de la salud operativa y la optimización del rendimiento para mantener la eficiencia de la plataforma y abordar de manera preventiva los problemas potenciales. Almacén de datos operativos Un almacén de datos operativos, a menudo descrito como un modelo de datos como servicio (DaaS), centraliza el almacenamiento de datos y consolida los datos de una gran cantidad de fuentes, lo que proporciona un único punto de acceso para diferentes aplicaciones. Este tipo de arquitectura es fundamental para las aplicaciones que brindan una vista integral de los datos de diferentes dominios, como una aplicación de «cliente 360», que amalgama la información del cliente de CRM, gestión de pedidos, sistemas de soporte y más. Arquitectura IDG Esta arquitectura se compone típicamente de tres componentes principales: fuentes de datos, un almacén de datos operativos central (ODS) y consumidores de datos. Los datos de CRM, ERP, SCM y otros sistemas se consolidan en el ODS mediante procesos de extracción, transformación y carga (ETL) o métodos de captura de datos modificados (CDC), donde se vuelven accesibles para consultas y análisis por varias aplicaciones de consumidores de datos. Requisitos Integración y calidad de datos: Los procesos ETL/CDC efectivos son esenciales para integrar datos de fuentes dispares al tiempo que se garantiza su calidad y consistencia. Consolidación y transformación: El almacén de datos central debe consolidar y transformar datos de manera eficiente, asegurando que estén en el formato y la estructura correctos para el consumo por varias aplicaciones. Acceso de baja latencia: Las aplicaciones como los paneles de control en tiempo real requieren acceso inmediato a los datos, lo que necesita un sistema de baja latencia que pueda procesar y atender rápidamente las solicitudes de datos. Rendimiento de consulta sólido: Con múltiples consumidores que acceden a la plataforma, a menudo con consultas complejas, el sistema necesita mantener niveles de alto rendimiento sin imponer cuellos de botella. Seguridad y privacidad de los datos: la naturaleza centralizada de la plataforma significa que debe tener medidas de seguridad estrictas y controles de privacidad para proteger los datos confidenciales y cumplir con las regulaciones. Infraestructura escalable y confiable: como eje central de los datos de la organización, la infraestructura debe ser escalable para manejar volúmenes de datos crecientes y resiliente para garantizar una disponibilidad constante. Consideraciones adicionales Gobernanza de datos: debe haber políticas y procedimientos claros para administrar el ciclo de vida de los datos, lo que garantiza la responsabilidad y el cumplimiento normativo. Análisis avanzado: la plataforma debe ser capaz de admitir aplicaciones de inteligencia empresarial (BI) y análisis avanzados, lo que proporciona información valiosa en toda la organización. Patrones de acceso personalizables: diferentes aplicaciones pueden requerir diferentes patrones de acceso; por lo tanto, la plataforma debe ser flexible para adaptarse a estas variaciones. Monitoreo y alertas: el sistema debe incluir capacidades de monitoreo integrales para detectar y responder a los problemas con prontitud, lo que garantiza la salud del sistema y la integridad de los datos. Patrones de diseño de aplicaciones multiinquilino Caso de uso Tipo de inquilino Cantidad de inquilinos Requisitos Desafíos Aplicación SaaS Inquilino externo Miles a cientos de miles Administre una gran cantidad de datos de clientes/usuarios con escalabilidad, aislamiento y protección de múltiples inquilinos, cumplimiento de SLA y agilidad1. Enorme cantidad de inquilinos 2. Aislamiento de inquilinos 3. Costo total 4. Cambios de esquema 5. Disponibilidad 6. Escalabilidad de una gran cantidad de inquilinos (generalmente grandes) Plataforma de almacenamiento centralizada Inquilino interno Decenas a cientos Administre una gran cantidad de instancias de base de datos de una manera segura y rentable. Esta es la consolidación de la base de datos. 1. Escalabilidad para servicios grandes 2. Confiabilidad para servicios críticos 3. Rentabilidad para una gran cantidad de servicios pequeños/no críticos 4. Costo de mantenimiento de la plataforma de base de datos Almacén de datos operativo Varios inquilinos comparten el mismo conjunto de datos. Deben aislarse las cargas de trabajo de escritura/ingesta y lectura y las cargas de trabajo de lectura de diferentes inquilinos 1. Escalabilidad 2. Flexibilidad en la consulta de datos 3. Velocidad de ingestión e impacto en la lectura 4. Manejo de consultas complejas contra un gran conjunto de datos 5. Aislamiento entre los servicios 1. 1. Escalabilidad 2. Flexibilidad en la consulta de datos 3. Velocidad de ingesta e impacto en la lectura 4. Manejo de consultas complejas contra un gran conjunto de datos 5. Aislamiento entre los servicios Patrones de diseño de gestión de datos multiinquilino Ahora que hemos delineado los principales casos de uso para multiinquilino, podemos explorar diseños arquitectónicos que satisfacen diferentes necesidades.