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 |
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.
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 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
- 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 Azure Cosmos DB for NoSQL 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.
- 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. Al trabajar con aplicaciones de Microsoft Entra, los desarrolladores pueden optar por configurar su aplicación para que sea de un solo inquilino o de varios.
- 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: 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.
- 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: un tutorial sobre la arquitectura subyacente a 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: 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 sistema 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.
- 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 de clientes principal, FastTrack for Azure
- 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.
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente las Cuestiones de GitHub como mecanismo de retroalimentación para el contenido y lo sustituiremos por un nuevo sistema de retroalimentación. Para más información, consulta:Enviar y ver comentarios de