Datos para cargas de trabajo de SaaS en Azure
Trate los datos como el recurso más valioso de la solución. Como proveedor de software independiente (ISV), es responsable de administrar los datos de los clientes. La estrategia de diseño de datos y la elección del almacén de datos pueden afectar significativamente a los clientes.
En este artículo se proporcionan instrucciones sobre cómo garantizar la integridad y la confidencialidad de los datos para los clientes a la vez que cumplen los requisitos de rendimiento empresarial. Resalta las consideraciones clave que le ayudarán a lograr estos objetivos de forma eficaz.
Selección de un almacén de datos
El almacén de datos de una solución de software como servicio (SaaS) afecta a su arquitectura, rendimiento, confiabilidad y complejidad transaccional. Compare las funcionalidades de los servicios administrados de Azure con ofertas similares que no son de Microsoft. En algunas situaciones, también puede considerar la posibilidad de ejecutar productos de código abierto en máquinas virtuales.
Consideraciones de diseño
Diferencie entre las operaciones transaccionales y analíticas. Los almacenes de datos transaccionales están diseñados para admitir las aplicaciones y los almacenes de datos analíticos se usan para informes y tareas como el aprendizaje automático. Estas tiendas se crean con productos especializados y tienen necesidades únicas para el rendimiento, los patrones de acceso, los esquemas y los casos de uso.
Esta guía se centra en los almacenes de datos transaccionales.
Comprenda sus necesidades de datos. Calcule el volumen, la frecuencia con la que puede cambiar y el tipo de datos que necesita almacenar.
Espere que los datos crezcan significativamente con el tiempo. En el caso de las soluciones SaaS, el crecimiento se produce en varias dimensiones. Anticipe los aumentos en el volumen y los tipos de datos a medida que crece el número de clientes. Asegúrese de planear ese crecimiento e invertir en tecnologías que puedan admitirlo.
Decida entre una plataforma de datos relacional o no relacional basada en la naturaleza de los datos. Para muchas cargas de trabajo transaccionales, una base de datos relacional es una buena opción para modelar entidades de aplicación como tablas discretas. Este enfoque permite que las consultas funcionen en el modelo de datos relacional. Como alternativa, si los datos se ajustan de forma natural a un modelo de documento o siguen una estructura de grafos, un enfoque no rerelational podría ser más adecuado.
Para más información, consulte SQL frente a plataformas de datos NoSQL.
Minimice los tipos de almacenes de datos. Almacenar diferentes tipos de datos en varios almacenes de datos distintos puede ser beneficioso para organizaciones maduras que tienen experiencia en varias plataformas de datos. Sin embargo, este enfoque suele introducir una complejidad innecesaria para las startups y las organizaciones más pequeñas. Es más eficaz centrarse en uno o un pequeño número de almacenes de datos.
Si no tiene la justificación comercial para usar varios almacenes de datos, centre sus esfuerzos en uno o un pequeño número de almacenes de datos.
Use lo que sabe e invierte en él. Si su equipo ya tiene experiencia con un almacén de datos específico, a menudo es mejor usar ese almacén de datos en lugar de invertir en aprender nuevas aptitudes. Los almacenes de datos y las plataformas son complejos y las decisiones de diseño pueden ser difíciles de revertir.
Sin embargo, tenga en cuenta el crecimiento potencial. Si el almacén de datos actual ya no cumple sus requisitos, elija un almacén de datos que pueda mejorar el rendimiento, la resistencia, la seguridad y la eficacia operativa de la solución. También debe ayudar a su equipo a profundizar su experiencia.
Recomendaciones de diseño
Recomendación | Prestación |
---|---|
Separe los almacenes de datos transaccionales para las operaciones diarias de los almacenes de datos analíticos y de informes. | La combinación de la intención de los almacenes de datos puede provocar una complejidad innecesaria. La segmentación de datos mejora la eficacia operativa y maximiza el uso de cada almacén de datos. |
Elija entre una estructura de datos relacional o no relacional basada en sus requisitos. Comience con uno o un pequeño número de almacenes de datos. Priorice los almacenes de datos administrados. Entre las opciones comunes se incluyen Azure Cosmos DB, Azure SQL, MySQL, MongoDB y PostgreSQL. |
Este enfoque ayuda a minimizar la complejidad y garantiza que se usa el producto adecuado para maximizar la eficacia. Los almacenes de datos administrados proporcionan flexibilidad para administrar los recursos y los costos elásticamente y escalar con sus necesidades. El uso de almacenes de datos administrados crea menos carga de administración que la implementación de su propio almacén de datos en su propia infraestructura. |
Invierte en aprender tu tecnología elegida. Equipe a su equipo para administrar los requisitos de escalado alto y otras complejidades de las soluciones SaaS. | Obtenga información sobre las herramientas que usa y su ecosistema más amplio para poder usar eficazmente la plataforma de datos a medida que se escala. |
Adopte flexibilidad en el diseño de datos. | A medida que la solución SaaS crece o cambian sus requisitos, puede adaptarse agregando o cambiando almacenes de datos. Esta flexibilidad le permite empezar con un almacén de datos y evolucionar con el tiempo para satisfacer sus necesidades. |
Modelo de inquilino y estrategia de base de datos
Un aspecto clave del diseño de datos es la decisión de hospedar recursos en nombre de los clientes o hospedar recursos en su entorno. La mayoría de los proveedores de SaaS hospedan recursos para todos los clientes, lo que proporciona flexibilidad en la administración de bases de datos. Si hospeda recursos en el entorno del cliente, considere cómo acceder a esos recursos y administrarlos.
Consideraciones de diseño
Planee la segmentación de la base de datos. En soluciones SaaS de negocio a negocio (B2B), se recomienda crear bases de datos dedicadas para cada cliente. Este enfoque mejora la seguridad de los datos manteniendo un aislamiento estricto entre los clientes, lo que reduce el riesgo de mezclar datos y admite claves de cifrado administradas por el cliente. También le ayuda a cumplir los requisitos de cumplimiento normativo de algunos clientes.
La separación de los datos de los clientes en bases de datos individuales puede mejorar el rendimiento al minimizar los problemas ruidosos vecinos. Algunos almacenes de datos administrados incluyen controles de asignación de recursos para mitigar estos problemas, proporcionar eficiencias de costos e incorporar herramientas para administrar varias bases de datos a escala.
En algunos casos, es adecuado almacenar los datos de varios clientes en un único almacén de datos. Por ejemplo, en soluciones de negocio a consumidor (B2C), puede guardar datos en un único almacén con particiones lógicas basadas en el identificador de cliente. En las soluciones B2B que comparten componentes, puede usar un único almacén de datos para partes específicas, como un almacén de eventos, a la vez que garantiza que incluye identificadores de cliente en cada evento.
Coloque almacenes de datos con componentes de la aplicación. Si hospeda recursos en nombre del cliente, implemente en la misma región de Azure para evitar cargos y latencias de ancho de banda de salida. Al hospedar aplicaciones y almacenes de datos en el entorno de un cliente, impleméntelas juntas en el mismo entorno para evitar complejidades entre entornos.
Normalice la administración del almacén de datos tanto como sea práctico. La uniformidad es fundamental para administrar los datos entre los clientes. A medida que crece su negocio, las diferencias entre los clientes aumentan el riesgo y la complejidad. Estas diferencias también pueden hacer que las interrupciones de producción sean más probables y solucionar problemas más difíciles.
Evite cambios puntuales en la administración para admitir clientes individuales. Por ejemplo, para admitir metadatos administrados por el cliente, evite cambios de esquema como agregar columnas adicionales a la base de datos. En su lugar, cree la funcionalidad para que los clientes agreguen sus propios metadatos. Del mismo modo, si necesita proporcionar distintos niveles de rendimiento de base de datos para distintos clientes, cree un único proceso que puede usar para aplicar configuraciones diferentes a diferentes niveles de clientes.
Para obtener más información sobre cómo afecta el modelo de inquilino a la estrategia de datos, consulte .
Recomendaciones de diseño
Recomendación | Prestación |
---|---|
Evalúe si quiere compartir bases de datos entre varios clientes o proporcionar una plataforma de datos compartida. Implemente una base de datos única para los datos de cada cliente, cuando corresponda. Relájate esta estrategia si el aislamiento estricto no es un requisito, como en soluciones B2C. |
Este enfoque minimiza los problemas ruidosos de los vecinos y puede admitir los requisitos de cumplimiento de algunos clientes. |
Implemente aplicaciones y sus bases de datos en la misma región. | Este enfoque optimiza el costo de ancho de banda y la latencia en los que incurre el acceso a la base de datos entre regiones. |
Diseñe un enfoque estandarizado para almacenar metadatos o datos definidos por el cliente. Evite modificar el esquema para clientes individuales o hacer que los entornos de cliente sean diferentes. | Este enfoque le ayuda a evitar la carga operativa de administrar incoherencias entre bases de datos para cada cliente. |
Planee las operaciones de mantenimiento rutinario en el entorno implementado por el cliente. Planee cómo acceder a la base de datos para actualizaciones, cambios de esquema, mantenimiento y otras operaciones. |
Este enfoque proactivo minimiza los problemas de falta de mantenimiento y reduce el riesgo de problemas de tiempo de inactividad y rendimiento. |
Planeamiento de la capacidad
El planeamiento de capacidad hace referencia a la administración del uso de recursos, con un enfoque en las operaciones de CPU, memoria, almacenamiento y disco, como las operaciones de entrada y salida por segundo (IOPS). Algunos almacenes de datos combinan estos recursos en una métrica sencilla de consumo de recursos sintéticos, como una unidad de rendimiento de base de datos (DTU) en Azure SQL o una unidad de solicitud (RU) en Azure Cosmos DB. Los almacenes de datos administrados proporcionan flexibilidad en la administración de recursos, lo que permite los cambios a lo largo del tiempo. Es fundamental establecer un plan inicial e iterar a medida que evolucionan sus necesidades.
Consideraciones de diseño
Comprenda los requisitos de asignación de recursos. Es posible que los distintos clientes de las soluciones SaaS tengan diferentes necesidades de recursos. Los clientes más pequeños pueden requerir recursos mínimos y es posible que los clientes más grandes necesiten más. Los clientes más grandes suelen pagar más, lo que justifica una mayor asignación de recursos. Mediante el uso de bases de datos independientes para cada cliente, puede ajustar la asignación de recursos en función de su tamaño y necesidades.
Comprenda los diferentes modelos de capacidad que ofrecen las plataformas de datos. Las plataformas de datos basadas en la nube suelen proporcionar varios modelos de recursos. Por ejemplo, algunos servicios de Azure, como Azure Cosmos DB, proporcionan modelos aprovisionados, basados en rendimiento y modelos sin servidor. Azure SQL Database también proporciona grupos elásticos.
El rendimiento aprovisionado requiere la asignación de recursos predeterminada, ya sea desde una base de datos única o un grupo de bases de datos. Los grupos elásticos permiten el uso compartido de recursos entre varias bases de datos. Los grupos elásticos se usan normalmente en soluciones SaaS.
Aunque el rendimiento aprovisionado requiere que asigne recursos con antelación, los servicios como Azure Cosmos DB proporcionan rendimiento de escalado automático. Puede establecer reglas para agregar o quitar recursos de forma dinámica en función de los desencadenadores especificados.
Los modelos de recursos sin servidor se escalan automáticamente en función de la demanda. Esta funcionalidad hace que sean un buen punto de partida si no puede predecir los requisitos de capacidad con antelación. Sin embargo, podrían admitir menos características y convertirse en rentables a medida que crece. Los modelos sin servidor están disponibles en Azure SQL Database y Azure Cosmos DB.
Recomendaciones de diseño
Recomendación | Prestación |
---|---|
Modele los requisitos de la base de datos para cada cliente. Determine si debe tener muchas bases de datos pequeñas, menos bases de datos grandes o una mezcla de las dos. Use un ejercicio de ajuste de tamaño de camiseta para clasificar a los clientes en cubos pequeños, medianos y grandes. |
Este enfoque proporciona una estimación aproximada de los recursos necesarios por cliente y le ayuda a asignar clientes al modelo de facturación. |
Segmente grupos de recursos en función del tamaño de las bases de datos del cliente que las usen. Use la capacidad aprovisionada para su ventaja. Por ejemplo, puede crear un grupo elástico de SQL compartido para clientes más pequeños, un grupo independiente para clientes medianos y recursos dedicados para clientes grandes. |
Al segmentar grupos de recursos en función del tamaño de la base de datos de los clientes, puede optimizar la asignación de recursos y la rentabilidad. |
Aproveche las funcionalidades de escalado integradas que proporcionan los servicios administrados. | Puede descargar las responsabilidades de escalado a la plataforma. Las características como los grupos elásticos y la escalabilidad automática pueden ayudar a optimizar el uso de recursos. |
Revise periódicamente los almacenes de datos sin servidor para asegurarse de que siguen cumpliendo sus necesidades. | Puede asegurarse de que el almacén de datos sigue siendo eficaz con sus necesidades en constante evolución. Optimice el rendimiento y la rentabilidad a medida que cambien los requisitos. |
Alta disponibilidad y recuperación ante desastres
Los clientes de soluciones SaaS suelen tener altas expectativas de alta disponibilidad (ALTA disponibilidad) y recuperación ante desastres (DR). Si sus clientes operan en sectores regulados o dependen de su solución para las operaciones diarias, sus requisitos pueden ser aún más estrictos.
La alta disponibilidad y la recuperación ante desastres no son soluciones de un solo tamaño y dependen de varios factores. Tenga un conocimiento claro de las opciones disponibles que son aplicables tanto a usted como a los requisitos de sus clientes para tomar decisiones fundamentadas sobre la mitigación de diferentes riesgos.
Compensación: confiabilidad, costo y rendimiento: la resistencia de los servicios de datos suele requerir la distribución de réplicas o copias de los datos en un área geográfica más amplia para mitigar los riesgos. Sin embargo, hay inconvenientes. Cuanto mayor sea la distancia que tienen que viajar los datos, más protección tendrá frente a errores localizados. Pero la copia de datos en distancias más largas aumenta la latencia y, a menudo, cuesta más. Muchos almacenes de datos administrados proporcionan replicación de datos automatizada, pero pueden imponer límites a los tipos de replicación que puede realizar a través de diferentes distancias para mantener el rendimiento.
Consideraciones de diseño
Cuantificar la resistencia. Mida los requisitos de resistencia mediante objetivos de nivel de servicio (SLO), que incluyen métricas como el tiempo de actividad, el tiempo de recuperación y el punto de recuperación. Estas métricas se controlan tanto por sus requisitos empresariales como por los de sus clientes, que pueden tener diferentes necesidades. Si almacena grandes cantidades de datos en nombre de los clientes, es posible que la solución de alta disponibilidad y recuperación ante desastres tenga que ser más compleja para cumplir los estrictos requisitos.
Para obtener más información sobre las métricas de resistencia, consulte Recomendaciones de RE:04 para definir destinos de confiabilidad.
Utilice las características de la plataforma. Azure proporciona funcionalidades para la resistencia dentro de un centro de datos, dentro de una región mediante zonas de disponibilidad y en un área geográfica más amplia mediante el uso de varias regiones. Combine estrategias como zonas de disponibilidad, copias de seguridad entre regiones e implementaciones de varias regiones para lograr el nivel adecuado de resistencia para la solución. Para conocer los requisitos de alta resistencia, considere una arquitectura multiregión, activa-pasiva con replicación de datos asincrónica entre regiones. Este enfoque podría dar lugar a una pérdida de datos durante una interrupción grave.
Compensación: los diseños multiregión, los diseños activos y activos con replicación son los más resistentes, pero son complejos de compilar y probar. Para la mayoría de las soluciones activas, debe diseñar un enfoque de resolución de conflictos que tenga en cuenta los retrasos en la sincronización de datos. La mayoría de las soluciones no necesitan este grado de resistencia.
Consulte Recomendaciones de RE:05 para usar regiones y zonas de disponibilidad.
Use sellos de implementación para aislar el radio de explosión de los componentes. El patrón de stamps de implementación se usa ampliamente en soluciones SaaS, ya que proporciona ventajas para la implementación, administración, rendimiento y resistencia. Por ejemplo, la implementación de un sello en la Estados Unidos y otro sello en Europa garantiza que los clientes de una región estén aislados de interrupciones en la otra región y puedan operar de forma independiente.
Recomendaciones de diseño
Recomendación | Prestación |
---|---|
Céntrese en los requisitos de resistencia mientras piensa en los requisitos generales de datos para sus clientes y . | Al fundamentar las decisiones de diseño en esos requisitos, puede asegurarse de tomar las ventajas adecuadas y evitar la ingeniería excesiva o inferior a sus necesidades. |
Reflejar distintos niveles de resistencia en el modelo de facturación. Establezca expectativas con sus clientes. La pérdida de datos cero durante interrupciones catastróficas o un tiempo de actividad del 100 % podría ser poco realista. |
Los modelos de facturación pueden ayudar a los clientes a comprender la resistencia garantizada a la que se suscribe. Por ejemplo, con un nivel inferior, los clientes obtienen garantías mínimas. En un nivel superior, los clientes reciben más resistencia porque puede permitirse replicar sus recursos en varias regiones. |
Use zonas de disponibilidad de Azure para soluciones de producción. Cuando sea posible, use almacenes de datos con redundancia de zona. | Las zonas de disponibilidad proporcionan resistencia frente a interrupciones del centro de datos, sin aumentar significativamente el costo, la latencia o la complejidad de la solución. |
Mantenga las copias de seguridad de los almacenes de datos en un formato con redundancia global mediante la replicación entre regiones cuando esté disponible. | Las copias de seguridad entre regiones de los datos agregan un nivel adicional de resistencia. |
Use stamps de implementación para crear instancias independientes de la solución en ubicaciones distribuidas geográficamente. | Mediante el uso de stamps de implementación para crear instancias independientes de la solución en ubicaciones distribuidas geográficamente, puede aumentar la resistencia y proporcionar más ventajas, como una administración de operaciones más sencilla. |
Evalúe si necesita una implementación de varias regiones y si necesita un diseño activo-activo para cumplir los requisitos. Tenga en cuenta los inconvenientes que están implicados. Los componentes sin estado son más fáciles de replicar que los componentes con estado, como un almacén de datos. |
La propagación de la solución o los sellos entre regiones proporciona niveles más altos de resistencia mediante la replicación de datos entre regiones. |
Seguridad y cumplimiento normativo
Usted es responsable de garantizar la confidencialidad e integridad de los datos de los clientes. A medida que crea una base de referencia de seguridad, tenga en cuenta los requisitos de seguridad y las promesas. Planee satisfacer las necesidades de cumplimiento de los clientes, incluida la retención de datos.
Consideraciones de diseño
Redes: considere quién accederá al almacén de datos. Normalmente, solo la aplicación necesita comunicación directa, así que configúrela para redes solo privadas.
Identidad: tenga en cuenta cómo se tendrá acceso a los almacenes de datos. Muchas soluciones SaaS usan una única identidad de aplicación para todos los almacenes de datos, con el nivel de aplicación que aplica aislamiento y autorización. Para la seguridad de nivel de fila o la autorización de nivel de base de datos, es posible que deba propagar la identidad del usuario al almacén de datos, que es complejo en un entorno multiinquilino.
Retención de datos: planee las directivas de retención de datos con antelación. El mantenimiento de más datos aumenta los costos de almacenamiento y la complejidad de la administración. Por ejemplo, grandes cantidades de datos de una base de datos transaccional pueden complicar la consulta y truncar los procesos.
Para la retención de datos a largo plazo, como para el cumplimiento o los análisis futuros, considere la posibilidad de reubicar los datos en un almacén adecuado para la retención a largo plazo.
Recomendaciones de diseño
Recomendación | Prestación |
---|---|
Configure los almacenes de datos para que usen puntos de conexión privados y deshabilite los puntos de conexión públicos. | Este enfoque mejora la seguridad al restringir el acceso a la red interna. Al restringir el acceso, puede reducir el riesgo de acceso no autorizado y posibles infracciones de datos. |
Use identidades administradas y microsoft Entra ID para la autenticación. Evite el uso de claves de base de datos o credenciales. | Las identidades administradas eliminan la necesidad de claves de base de datos o credenciales, lo que reduce el riesgo de robo de credenciales y simplifica la administración del acceso. |
Al trabajar con almacenes de datos compartidos, asegúrese de que la aplicación limita todas las solicitudes a un único inquilino mediante la inclusión del identificador de inquilino en WHERE cláusulas . |
Este proceso ayuda a mitigar el riesgo de pérdida de datos entre inquilinos o suplantación. |
Planee la estrategia de retención de datos en función del cumplimiento y las necesidades empresariales. Evite mantener los datos históricos innecesarios. Para la retención a largo plazo, mueva los datos de los almacenes principales al almacenamiento de archivado. | Al evitar la retención innecesaria, se mantiene un área expuesta más pequeña. |
Use características del almacén de datos para satisfacer las necesidades del ciclo de vida de los datos. En Azure Cosmos DB, establezca el período de vida en los documentos. En Azure SQL, implemente una estrategia de ventana deslizante mediante la creación de particiones de tablas para minimizar el impacto del proceso de archivado en la base de datos. |
Estos enfoques garantizan una administración eficaz del ciclo de vida de los datos, optimizan el almacenamiento mediante el archivado o la eliminación de datos obsoletos y reducen la intervención manual siempre que sea posible. |
Operations
Las soluciones SaaS suelen incluir un gran número de bases de datos u otros almacenes. Es importante planear el mantenimiento rutinario en su flota y explorar las opciones de automatización para administrar estas tareas de forma eficaz.
Consideraciones de diseño
Comprenda las funcionalidades de su equipo. Si no tiene grandes equipos de administradores de bases de datos que pueden realizar análisis detallados en bases de datos de clientes individuales, tiene un plan para realizar operaciones a escala y usar herramientas de plataforma siempre que sea posible.
Planee los procedimientos de mantenimiento normales. Enumere las operaciones de mantenimiento normales necesarias y su frecuencia. Las operaciones específicas varían en función del tipo de almacén de datos que use. Por ejemplo:
- Supervise la cantidad total de datos y datos que se encuentran en entidades específicas, como tablas importantes.
- Vuelva a generar índices.
- Cree o quite índices en función de los patrones de consulta cambiantes.
- Reequilibrar particiones.
Explore las características de la plataforma que pueden ayudarle a realizar un mantenimiento normal y buscar de forma proactiva nuevos problemas. Por ejemplo, SQL Database Advisor en Azure SQL Database supervisa si hay problemas.
Diseño para la automatización. Las operaciones automatizadas son esenciales para que una solución SaaS se escale de forma eficaz. Identifique tareas periódicas y ocasionales y cree cuadernos de estrategias o scripts de automatización para ellas. En el caso de las tareas que no se pueden automatizar inmediatamente, documente exhaustivamente los procesos para garantizar la coherencia y la claridad.
Recomendaciones de diseño
Recomendación | Prestación |
---|---|
Se esfuerza por mantener la coherencia entre los almacenes de datos de los clientes siempre que sea posible. Si un cliente requiere alojamiento especial, intégrelos en un proceso general en lugar de personalizar la configuración de ese cliente. Por ejemplo, use el mismo esquema para cada base de datos y use los mismos procesos para implementar y administrar los recursos. |
La coherencia facilita la realización de cambios a escala y minimiza el riesgo de problemas accidentales durante las implementaciones o los procedimientos de mantenimiento. |
Implemente recursos limitados cuidadosamente y busque oportunidades para simplificar las operaciones. | Puede evitar pequeñas eficiencias y tener un mejor uso de recursos y un rendimiento general. |
Automatización de la compilación para tareas repetitivas. Elija comprar herramientas automatizadas en lugar de crear una solución personalizada. Explore las opciones que proporcionan la plataforma y los proveedores que no son de Microsoft. |
Al invertir en automatización de calidad, puede usar repetidamente estos recursos y reducir las tareas manuales que a menudo son propensas a errores. Las herramientas automatizadas son valiosas si no es un experto en el almacén de datos que usa o si no está seguro de las tareas de mantenimiento necesarias. |
Implemente cuidadosamente la capacidad de administración de bases de datos del equipo. Reserve administradores de bases de datos humanas para las actividades más impactantes, como tratar con clientes grandes o la automatización de edificios que pueden escalarse en muchos clientes. | Mediante la priorización de funciones valiosas, puede maximizar la eficacia. |
Acceso del cliente a los datos
Algunos de los clientes pueden solicitar acceso directo a sus datos para informes o análisis personalizados. Considere detenidamente cómo los clientes pueden acceder a los datos de la solución y si se conceden estas solicitudes o se proporcionan métodos alternativos para satisfacer sus necesidades.
Consideraciones de diseño
Justifica las razones del acceso directo. Comprenda por qué los clientes necesitan acceso a datos sin procesar al obtener información sobre su problema empresarial. Colabore para encontrar una solución que satisfaga sus necesidades sin introducir riesgos en su plataforma.
Busque formas alternativas de cumplir los requisitos en lugar de proporcionar acceso directo. Si se necesita acceso con fines de informes, se prefieren los enfoques de nivel de aplicación. Por ejemplo, puede compilar informes para ellos mediante Microsoft Power BI o puede exportar un subconjunto de los datos a un archivo que proporcione. También puede crear API que puedan usar para acceder a los datos.
Evalúe las implicaciones de seguridad y aislamiento. Proporcionar acceso directo a un almacén de datos supone riesgos de seguridad significativos. Evite exponer recursos internos a terceros externos, incluidos los clientes. En un entorno saaS que tiene muchos clientes que comparten una solución, los riesgos son incluso mayores porque el entorno se puede aprovechar para acceder a los datos de otros clientes.
Considere la posibilidad de proporcionar a los clientes acceso a sus datos de una manera segura y aislada que no afecta al sistema de producción y le permite realizar cambios internos en el diseño de la base de datos sin interrumpir las consultas de los clientes.
Tenga en cuenta el efecto en el rendimiento. Permitir el acceso directo al almacén de datos transaccional puede provocar problemas de rendimiento para la aplicación principal. Por ejemplo, un cliente podría ejecutar una consulta que consume muchos recursos que interrumpa la funcionalidad de la aplicación.
Recomendaciones de diseño
Recomendación | Prestación |
---|---|
Evite conceder acceso directo a los almacenes de datos. Si debe proporcionar acceso directo, proporcione acceso a una réplica de solo lectura, si la plataforma de datos la admite. |
Los enfoques de nivel de aplicación proporcionan control sobre cómo los clientes usan los datos. Si no es posible crear construcciones de nivel de aplicación, el acceso a través de réplicas de solo lectura reduce la tensión de las consultas del cliente en las operaciones. |
Evite exponer los detalles de implementación internos. | Al controlar el acceso a las estructuras de datos, se impide que los clientes realicen suposiciones sobre la funcionalidad del esquema de la base de datos. Esta flexibilidad le permite evolucionar y optimizar la estructura de la base de datos a lo largo del tiempo sin las restricciones de las herramientas creadas por el cliente o suposiciones inexactas. |
Recursos adicionales
Multiinquilino es una metodología empresarial básica para diseñar cargas de trabajo de SaaS. En estos artículos se proporciona más información sobre las consideraciones de diseño de datos:
- Enfoques de arquitectura para una solución multiinquilino
- Enfoques arquitectónicos para el almacenamiento y los datos en soluciones de multiinquilino
- Enfoques arquitectónicos para la integración de inquilinos y el acceso a datos
- Modelos de inquilinato
Paso siguiente
Obtenga información sobre las consideraciones de DevOps para las cargas de trabajo de SaaS, incluida la administración eficaz del ciclo de vida de los clientes y las prácticas de implementación seguras.