Recursos para arquitectos y desarrolladores de soluciones multiinquilino
Arquitecturas de las aplicaciones multiinquilino
En los artículos siguientes se proporcionan ejemplos de arquitecturas multiinquilino en Azure.
| Architecture | Resumen | Enfoque de tecnología |
|---|---|---|
| SaaS multiinquilino en Azure | Arquitectura de referencia para un escenario SaaS multiinquilino en Azure, que se implementa en varias regiones | Web |
| Uso del controlador de entrada de Application Gateway con una instancia multiinquilino de Azure Kubernetes Service | Ejemplo de implementación multiinquilino con AKS y AGIC | Kubernetes |
| Procesamiento por lotes sin servidor con Durable Functions en Azure Container Instances | Los casos de uso incluyen escenarios multiinquilino, donde algunos inquilinos necesitan una gran capacidad de proceso, mientras que otros tienen requisitos de computación pequeños. | Contenedores |
| Todas las arquitecturas multiinquilino | Se enumeran todas las arquitecturas que incluyen soluciones multiinquilino. | Múltiple |
Modelos de diseño en la nube
Los siguientes patrones de diseño de nube se usan con frecuencia en arquitecturas multiinquilino.
| Patrón | Resumen |
|---|---|
| Patrón de stamps de implementación | Implementación de varias copias independientes (unidades de escalado) de los componentes de la aplicación, incluidos los almacenes de datos. |
| Federated Identity | La autenticación se delega a un proveedor de identidad externo. |
| Gatekeeper | Protección de aplicaciones y servicios mediante una instancia de host dedicada que actúa como agente entre los clientes y la aplicación o el servicio, valida y sanea las solicitudes y pasa las solicitudes y los datos entre ellos. |
| Queue-Based Load Leveling | Uso de una cola que actúa como búfer entre una tarea y el servicio que invoca, a fin de equilibrar las cargas pesadas intermitentes. |
| Sharding | Divida un almacén de datos en un conjunto de particiones horizontales o particiones de base de datos. |
| Limitaciones | Control del consumo de recursos que usa una instancia de una aplicación, un inquilino individual o un servicio completo. |
Antipatrones
Tenga en cuenta el Antipatrón Vecino ruidoso en el que la actividad de un inquilino puede afectar negativamente al uso del sistema por parte de otro inquilino.
Marco de buena arquitectura de Microsoft Azure
Aunque la totalidad del Marco de buena arquitectura de Azure es importante para todas las soluciones, preste especial atención al pilar de resistencia. La naturaleza del hospedaje en la nube lleva a las aplicaciones que a menudo son multiinquilino a usar servicios de plataforma compartidos, a competir por los recursos y el ancho de banda, a comunicarse a través de Internet y a ejecutarse en hardware estándar. Como consecuencia, aumenta la probabilidad de que surjan errores transitorios y más permanentes.
Recursos para servicios de Azure
Gobernanza y cumplimiento
- Organización y administración de varias suscripciones de Azure: es importante tener en cuenta cómo se administran las suscripciones de Azure, y cómo asignar recursos de inquilino a las suscripciones.
- Experiencias de administración entre inquilinos: como proveedor de servicios, puede usar Azure Lighthouse para administrar los recursos de varios clientes desde su propio inquilino de Azure Active Directory (Azure AD). Muchas tareas y servicios se pueden realizar en inquilinos administrados mediante la administración delegada de recursos de Azure.
- Azure Managed Applications: en una aplicación administrada, los recursos se implementan en un grupo de recursos que está administrado por el editor de la aplicación. El grupo de recursos está presente en la suscripción del consumidor, pero una identidad en el inquilino del editor tiene acceso al grupo de recursos.
Proceso
- Procedimientos recomendados para el aislamiento de clústeres en Azure Kubernetes Service: AKS proporciona flexibilidad en cuanto a cómo se pueden ejecutar clústeres multiinquilino y se pueden aislar recursos. Para maximizar la inversión en Kubernetes, primero debe comprender e implementar las características multiinquilino y de aislamiento de AKS. Este artículo de procedimientos recomendados se centra en el aislamiento de los operadores de clústeres.
- Procedimientos recomendados de seguridad y actualizaciones de Azure Kubernetes Service: a medida que administra clústeres de Azure Kubernetes Service (AKS), una de las principales consideraciones es la seguridad de la carga de trabajo y los datos. Cuando se ejecutan clústeres multiinquilino con aislamiento lógico, se debe proteger especialmente el acceso a los recursos y a las cargas de trabajo.
Almacenamiento y datos
- Azure Cosmos DB y sistemas multiinquilino: entrada de blog en la que se describe cómo crear un sistema multiinquilino que usa Azure Cosmos DB.
- Claves de partición jerárquicas de Azure Cosmos DB (versión preliminar privada): entrada de blog en la que se anuncia la versión preliminar privada de las claves de partición jerárquicas para Core (SQL) API de Azure Cosmos DB. Con las claves de partición jerárquicas, también conocidas como subparticiones, ya puede crear particiones nativas del contenedor con hasta tres niveles de claves de partición. Esto permite estrategias de creación de particiones más adecuadas para escenarios o cargas de trabajo multiinquilino que, de lo contrario, utilizarían claves de partición sintéticas.
- Patrones de inquilino de bases de datos SaaS multiinquilino de Azure SQL Database: un conjunto de artículos que describen varios modelos de inquilino que están disponibles para aplicaciones SaaS multiinquilino, mediante Azure SQL Database.
- Ejecución de un millón de bases de datos en Azure SQL para un proveedor SaaS de gran tamaño: Microsoft Dynamics 365 y Power Platform: una entrada de blog que describe cómo el equipo de Dynamics 365 administra las bases de datos a gran escala.
- Diseño de una base de datos multiinquilino con Hiperescala de Azure Database for PostgreSQL
- Creación de particiones de datos horizontales, verticales y funcionales: en muchas soluciones multiinquilino y a gran escala, los datos se dividen en particiones que se pueden administrar y a las que se puede acceder por separado. La creación de particiones puede mejorar la escalabilidad, reducir la contención y optimizar el rendimiento. También puede proporcionar un mecanismo para dividir los datos por el patrón de uso y por el inquilino.
- Estrategias de creación de particiones de datos por servicio de Azure: en este artículo se describen algunas estrategias para crear particiones de datos en varios almacenes de datos de Azure.
- Creación de aplicaciones multiinquilino con Hiperescala (Citus) de Azure Database for PostgreSQL (vídeo)
- Aplicaciones multiinquilino con Azure Cosmos DB (vídeo)
- Creación de SaaS multiinquilino con Azure Cosmos DB y Azure (vídeo): Un caso práctico real de cómo Whally, una startup SaaS multiinquilino, ha creado una plataforma moderna desde cero en Azure Cosmos DB y Azure. Whally muestra las decisiones de diseño e implementación que tomaron relacionadas con la creación de particiones, el modelado de datos, el multiinquilinato seguro, el rendimiento, el streaming en tiempo real desde la fuente de cambios a SignalR y mucho más, todo ello mediante ASP.NET Core en Azure App Services.
- Patrones de diseño multiinquilino para aplicaciones SaaS en Azure SQL Database (vídeo)
Mensajería
- Dominios de Azure Event Grid: los dominios de Azure Event Grid permiten administrar arquitecturas de eventos multiinquilino, a gran escala.
Identidad
- Inquilino de Azure Active Directory: al desarrollar aplicaciones, los desarrolladores pueden optar por configurar su aplicación para que sea de inquilino único o multiinquilino durante el registro de aplicaciones en Azure Active Directory.
- Solución de identidad con marca personalizada con Azure AD B2C: Azure Active Directory B2C es una solución de administración de identidades y acceso de clientes (CIAM) capaz de admitir millones de usuarios y miles de millones de autenticaciones al día.
- Administración de identidades en aplicaciones multiinquilino: en esta serie se artículos se describen los procedimientos recomendados para la arquitectura multiinquilino durante el uso de Azure AD para la autenticación y la administración de identidades.
- Creación de un demonio multiinquilino con el punto de conexión de la plataforma de identidad de Microsoft: esta aplicación de ejemplo muestra cómo usar el punto de conexión de la plataforma de identidad de Microsoft para acceder a los datos de los clientes empresariales de Microsoft en un proceso no interactivo de larga duración. Se usa la concesión de credenciales de cliente de OAuth2 para adquirir un token de acceso, que luego se utiliza para llamar a Microsoft Graph y acceder a los datos de la organización.
- Autenticación y autorización de aplicaciones multiinquilino mediante Azure Active Directory (Azure AD): sepa cómo Azure Active Directory le permite mejorar la funcionalidad de las aplicaciones nativas de la nube en escenarios multiinquilino.
- Tutorial de arquitectura de Azure: Creación de una arquitectura multiinquilino de Azure para un escenario B2C: un tutorial sobre la arquitectura subyacente a una aplicación móvil multiinquilino con Azure Active Directory B2C y API Management.
Análisis
- Soluciones multiinquilino con análisis de Power BI Embedded: al diseñar una aplicación multiinquilino que contenga Power BI Embedded, debe elegir cuidadosamente el modelo de inquilino que mejor se adapte a sus necesidades.
IoT
- Solución multiinquilino en IoT Hub Device Provisioning Service: una solución IoT multiinquilino normalmente asignará dispositivos de inquilino mediante un grupo de centros de IoT que están dispersos entre regiones.
IA/ML
- Patrones de diseño para aplicaciones SaaS multiinquilino y Azure Cognitive Search: en este documento se describen las estrategias de aislamiento de inquilinos para aplicaciones multiinquilino que se han creado con Azure Cognitive Search.
Contenido de la comunidad
Kubernetes
- Tres modelos de inquilinos para Kubernetes: varios equipos de una organización suelen usar los clústeres de Kubernetes. En este artículo se explican tres modelos de inquilinos para Kubernetes.
- Descripción del modelo multiinquilino de Kubernetes: Kubernetes no es un sistema multiinquilino de forma estándar. Aunque es posible configurar este tipo de sistema, puede resultar complicado. En este artículo se explican los tipos multiinquilino de Kubernetes.
- Sistema multiinquilino de Kubernetes: Una guía de procedimientos recomendados: el sistema multiinquilino de Kubernetes es un tema en el que cada vez más organizaciones están interesadas a medida que se extiende su uso de Kubernetes. Sin embargo, como Kubernetes no es un sistema multiinquilino por sí solo, la obtención de un derecho multiinquilino presenta algunas dificultades. En este artículo se describen estas dificultades y cómo superarlas, así como algunas herramientas útiles para el sistema multiinquilino de Kubernetes.
- Capsule: Simplificación del sistema multiinquilino de Kubernetes: Capsule ayuda a implementar un entorno multiinquilino y basado en directivas en el clúster de Kubernetes. No está pensado que se convierta en otra PaaS, sino que se ha diseñado como un ecosistema basado en microservicios con un enfoque minimalista que usa solo Kubernetes ascendente.
- Loft: Incorporación del sistema multiinquilino a los clústeres: Loft proporciona extensiones ligeras de Kubernetes para el sistema multiinquilino.