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 (AKS) | Ejemplo de implementación multiinquilino con AKS y AGIC | Kubernetes |
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 en todas las soluciones, preste especial atención al pilar de confiabilidad. 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.
Guía de arquitectura multiinquilino
- Diseño de soluciones de multiinquilino en Azure (vídeo): en este vídeo se describe cómo diseñar y crear soluciones de multiinquilino en Azure. Si va a crear un producto de SaaS u otro servicio multiinquilino, se deben tener en cuenta muchas cosas al planificar para obtener un alto rendimiento y el aislamiento de los inquilinos, así como para administrar las implementaciones. Esta sesión está dirigida a desarrolladores y arquitectos que quieran crear aplicaciones SaaS o de multiinquilino, incluidas las startups y los ISV.
- Azure Friday: arquitectura de soluciones de multiinquilino en Azure (vídeo): en este vídeo de Azure Friday se explica cómo diseñar y crear soluciones de software como servicio (SaaS) multiinquilino en Azure.
- Acelerar el recorrido a SaaS y eliminar los riesgos (vídeo): en este vídeo encontrará una guía para hacer la transición al modelo de entrega de "software como servicio" (SaaS) si quiere realizar una migración mediante lift-and-shift de una solución existente del entorno local a Azure, si está pensando en una arquitectura multiinquilino o si quiere modernizar una aplicación web SaaS existente.
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 Microsoft Entra. 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): 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.
Redes
Private Link
- Explicación y demostraciones del servicio Azure Private Link desde las perspectivas del proveedor (ISV de SaaS) y del consumidor: vídeo que examina la característica de servicio Azure Private Link que permite a los proveedores de servicios multiinquilino (como los proveedores de software independientes que crean productos SaaS). Esta solución permite a los consumidores acceder al servicio del proveedor mediante direcciones IP privadas desde las propias redes virtuales de Azure del consumidor.
- Protocolo de proxy TCP v2 con el servicio Azure Private Link: análisis detallado: vídeo que presenta un análisis detallado del protocolo de proxy TCP v2, que es una característica avanzada del servicio Azure Private Link. Resulta útil en escenarios multiinquilino y SaaS. En el vídeo, se muestra cómo habilitar el protocolo de proxy v2 en el servicio Azure Private Link. También muestra cómo configurar un servicio NGINX para leer la dirección IP privada de origen del cliente original (en lugar de la dirección IP de NAT), para acceder al servicio mediante el punto de conexión privado.
- Uso de NGINX Plus para descodificar el elemento
linkIdentifier
de TLV del protocolo de proxy del servicio Azure Private Link: vídeo que examina cómo usar NGINX Plus para obtener el elemento TLV del protocolo de proxy TCP v2 del servicio Azure Private Link. En el vídeo también se muestra cómo extraer y descodificar el valor numérico delinkIdentifier
(también llamadoLINKID
) de la conexión de punto de conexión privado. Esta solución es útil para proveedores multiinquilino que necesitan identificar el inquilino de consumidor específico desde el que se realizó la conexión. - Patrón de conectividad privada de SaaS: solución de ejemplo que ilustra un enfoque para automatizar la aprobación de conexiones de punto de conexión privado mediante Azure Managed Applications.
Web
- Enrutamiento basado en notificaciones para soluciones SaaS: en este artículo se describe el uso de un proxy inverso para facilitar el enrutamiento de inquilinos y asignar solicitudes a inquilinos, lo que mejora la administración de los servicios back-end en las soluciones SaaS.
Almacenamiento y datos
- Diseño y creación de aplicaciones SaaS multiinquilino a escala con Azure Cosmos DB (vídeo): Aprenda a diseñar y optimizar aplicaciones SaaS multiinquilino mediante Azure Cosmos DB. En esta sesión se abordan cuestiones importantes de diseño relacionadas con el aislamiento de inquilinos, la optimización de costes y la distribución global. El contenido de esta sesión se aplica si tiene un gran volumen de inquilinos B2C pequeños o un bajo volumen de inquilinos B2B muy sesgados.
- 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: mediante claves de partición jerárquicas, también conocidas como subparticiones, puede particionar el contenedor de forma nativa con varios 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.
- Ejemplo de Service Bus: comunicación entre inquilinos mediante Azure Service Bus: implementación de ejemplo de Azure Service Bus que muestra cómo comunicarse entre un proveedor central y uno o varios clientes (inquilinos).
Identidad
- Inquilino en Microsoft Entra ID: Microsoft Entra ID tiene su propio concepto de multiinquilino, que hace referencia al funcionamiento en varios directorios de Microsoft Entra. Cuando los desarrolladores trabajan con aplicaciones de Microsoft Entra, pueden optar por configurar su aplicación para que sea de un solo inquilino o multiinquilino para admitir diferentes escenarios.
- 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.
- Creación de un demonio multiinquilino con el punto de conexión de la plataforma de identidad de Microsoft: en esta aplicación de ejemplo se 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.
- Autenticar y autorizar aplicaciones multiinquilino mediante Microsoft Entra ID: obtenga información sobre cómo Microsoft Entra ID 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: tutorial sobre la arquitectura subyacente en una aplicación móvil multiinquilino con Azure Active Directory B2C y API Management.
- Definir e implementar permisos, roles y ámbitos con Microsoft Entra ID en la solución SaaS: en este artículo se tratan tres conceptos principales relacionados con la autenticación y autorización de Microsoft Entra, que pueden usar los proveedores de SaaS. Abarca la funcionalidad roles de aplicación, los permisos de aplicación y delegados y la funcionalidad de ámbitos.
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: por lo general, una solución IoT multiinquilino asigna dispositivos de inquilino mediante un grupo de centros de IoT que están distribuidos 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.
- Una solución para la canalización de ML en modo multiinquilino: en esta entrada de blog se describe cómo se pueden diseñar canalizaciones de Azure Machine Learning para admitir varios inquilinos mediante áreas de trabajo de Azure Machine Learning.
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 sistema multiinquilino de Kubernetes: Kubernetes no es un sistema multiinquilino de forma estándar y se necesita una configuración personalizada. En este artículo se explican los tipos multiinquilino de Kubernetes.
- Sistema multiinquilino de Kubernetes - 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 explícitamente un sistema multiinquilino, puede resultar complicado diseñar una implementación de Kubernetes multiinquilino. En este artículo se describen estas dificultades y cómo superarlas, además de 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 es una oferta de plataforma como servicio (PaaS), sino que es un ecosistema basado en microservicios con un método de diseño minimalista, usando solo Kubernetes en fases previas.
- Crossplane: El marco de plano de control nativo en la nube: Crossplane permite crear planos de control para su propia solución mediante un enfoque basado en Kubernetes.
Colaboradores
Microsoft mantiene este artículo. Originalmente lo escribieron los siguientes colaboradores.
Creadores de entidad de seguridad:
- John Downs | Ingeniero principal de software
- Paolo Salvatori | Ingeniero de clientes principal, FastTrack for Azure
- Arsen Vladimirskiy | Principal Customer Engineer, FastTrack for Azure
- LaBrina Loving | Administrador principal de ingeniería de clientes, FastTrack for Azure
Para ver los perfiles no públicos de LinkedIn, inicie sesión en LinkedIn.