Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo fornece um conjunto de links e recursos para arquitetos e desenvolvedores de soluções multilocatários.
Arquiteturas para aplicativos multilocatários
Os artigos a seguir fornecem exemplos de arquiteturas multilocatários no Azure.
Arquitetura | Resumo | Foco na tecnologia |
---|---|---|
Software como serviço (SaaS) multilocatário no Azure | Arquitetura de referência para um cenário de SaaS multilocatário no Azure, que é implantado em várias regiões | Teia |
Usar o AGIC (Controlador de Entrada do Gateway de Aplicativo) com um cluster multilocatário do AKS (Serviço de Kubernetes do Azure) | Exemplo de como implementar arquitetura multi-tenant com AKS e AGIC | Kubernetes |
Todas as arquiteturas multilocatário | Lista todas as arquiteturas que incluem multitenância | Vários |
Padrões de design na nuvem
Os padrões de design de nuvem a seguir são frequentemente usados em arquiteturas multilocatários.
Padrão | Resumo |
---|---|
Padrão de Selos de Implantação | Implante várias cópias independentes (ou unidades de escala) de componentes do aplicativo, incluindo armazenamentos de dados. |
Identidade Federada | Delegar autenticação a um provedor de identidade externa. |
Gatekeeper | Proteja aplicativos e serviços usando uma instância de host dedicada que serve como um agente entre clientes e o aplicativo ou serviço, valida e higieniza solicitações e passa solicitações e dados entre eles. |
Nivelamento de Carga Baseado em Fila | Use uma fila que serve como um buffer entre uma tarefa e um serviço que ela invoca para suavizar cargas pesadas intermitentes. |
Fragmentação | Divida um armazenamento de dados em um conjunto de partições horizontais ou fragmentos. |
Limitação | Controlar o consumo de recursos que uma instância de aplicativo, um locatário individual ou um serviço inteiro usa. |
Antipadrões
Considere o antipadrão Noisy Neighbor, no qual a atividade de um locatário pode afetar negativamente o uso do sistema por outro locatário.
Estrutura Bem Projetada do Microsoft Azure
Se você projetar um SaaS, use a carga de trabalho do Framework Microsoft Azure Well-Architected para SaaS para obter orientações arquitetônicas práticas específicas para soluções SaaS.
A totalidade do Well-Architected Framework é importante para todas as soluções, incluindo arquiteturas de múltiplos locatários, mas preste atenção especial ao pilar de confiabilidade. A natureza da hospedagem em nuvem resulta em aplicativos que geralmente são multilocatários, usam serviços de plataforma compartilhada, competem por recursos e largura de banda, se comunicam pela Internet e são executados em hardware de commodities. Esse ambiente aumenta a probabilidade de ocorrerem falhas transitórias e mais permanentes.
Diretrizes de arquitetura multilocatário
Arquitetar soluções multilocatários no Azure (vídeo): este vídeo descreve como projetar, arquitetar e criar soluções multilocatários no Azure. Se você criar um produto SaaS ou outro serviço multilocatário, haverá muito a considerar ao planejar para desempenho elevado, isolamento de locatários e gestão de implementação. Esta sessão é destinada a desenvolvedores e arquitetos que criam aplicativos SaaS ou multilocatários, incluindo startups e ISVs.
Sexta-feira do Azure – Arquitete soluções multilocatários no Azure (vídeo): este vídeo do Azure Friday descreve como projetar, arquitetar e criar soluções SaaS multilocatários no Azure.
Acelere e reduza riscos em sua jornada para SaaS (vídeo): este vídeo oferece orientações sobre como fazer a transição para o modelo de entrega de SaaS, quer você esteja migrando uma solução existente de on-premises para o Azure, considerando uma arquitetura multilocatário ou modernizando um aplicativo Web SaaS existente.
Recursos para serviços do Azure
Use os recursos a seguir para ajudá-lo a criar arquiteturas multilocatários no Azure.
Governança e conformidade
Organizar e gerenciar várias assinaturas do Azure: é importante considerar como você gerencia suas assinaturas do Azure e como aloca recursos de locatário para assinaturas.
Experiências de gerenciamento entre locatários: Como um provedor de serviços, você pode usar o Azure Lighthouse para gerenciar recursos para vários clientes a partir de seu próprio locatário do Microsoft Entra. Muitas tarefas e serviços podem ser executados entre locatários gerenciados usando o gerenciamento de recursos delegados do Azure.
Aplicativos gerenciados pelo Azure: em um aplicativo gerenciado, os recursos são implantados em um grupo de recursos que o editor do aplicativo gerencia. O grupo de recursos está presente na assinatura do consumidor, mas uma identidade no locatário do distribuidor tem acesso ao grupo de recursos.
Computação
Práticas recomendadas para isolamento de cluster no AKS: o AKS fornece flexibilidade em como você pode executar clusters multilocatários e pode isolar recursos. Para maximizar seu investimento em Kubernetes, você deve primeiro entender e implementar as funcionalidades de multilocação e isolamento do AKS (Serviço de Kubernetes do Azure). Este artigo de práticas recomendadas se concentra no isolamento para operadores de cluster.
Práticas recomendadas para segurança de cluster e atualizações no AKS: à medida que você gerencia clusters no AKS, a carga de trabalho e a segurança de dados são uma consideração fundamental. Quando você executa clusters multilocatários usando isolamento lógico, proteger o acesso a recursos e cargas de trabalho é crucial.
Rede
Link Privado do Azure
- Explicação e demonstrações do Serviço de Link Privado do Azure da perspectiva do provedor (ISV SaaS) e do consumidor: um vídeo que analisa o recurso do serviço de Link Privado do Azure que permite que provedores de serviços multilocatários (como fornecedores de software independentes que criam produtos SaaS) sejam usados. Essa solução permite que os consumidores acessem o serviço do provedor usando endereços IP privados das próprias redes virtuais do Azure do consumidor.
- Protocolo TCP de Proxy v2 com Serviço de Link Privado do Azure — Exploração detalhada: um vídeo que apresenta uma exploração detalhada do Protocolo TCP de Proxy v2, que é um recurso avançado do serviço de Link Privado do Azure. É útil em cenários multilocatários e SaaS. O vídeo mostra como habilitar o Protocolo de Proxy V2 no serviço de Link Privado do Azure. Ele também mostra como configurar um serviço NGINX para ler o endereço IP privado de origem do cliente original, em vez do IP NAT, para acessar o serviço por meio do ponto de extremidade privado.
-
Usando o NGINX Plus para decodificar o
linkIdentifier
do TLV do Protocolo de Proxy do serviço de Link Privado do Azure: um vídeo que mostra como usar o NGINX Plus para obter o TLV do Protocolo TCP de Proxy v2 do serviço de Link Privado do Azure. O vídeo mostra como você pode extrair e decodificar o valor numéricolinkIdentifier
, também chamado deLINKID
, da conexão do ponto de extremidade privado. Esta solução é útil para provedores multitenant que precisam identificar o inquilino consumidor específico de onde a conexão foi feita. - Padrão de Conectividade Privada SaaS: um exemplo de solução que ilustra uma abordagem para automatizar a aprovação de conexões de endpoint privado, usando Aplicações Gerenciadas do Azure.
Teia
- Roteamento baseado em declarações para soluções SaaS: este artigo descreve o uso de um proxy reverso para facilitar o roteamento de locatários e solicitações de mapeamento para locatários, aprimorando o gerenciamento de serviços de back-end em soluções SaaS.
Armazenamento e dados
Crie e crie aplicativos SaaS multilocatários em escala com o Azure Cosmos DB (vídeo): saiba como projetar e otimizar aplicativos SaaS multilocatários usando o Azure Cosmos DB. Esta sessão explora as principais considerações de design relacionadas ao isolamento de locatários, otimização de custos e distribuição global. O conteúdo desta sessão se aplica se você tem um alto volume de locatários B2C (pequenas empresas para consumidores) ou um baixo volume de locatários B2B altamente segmentados.
Azure Cosmos DB e sistemas multilocatários: uma postagem no blog que discute como criar um sistema multilocatário que usa o Azure Cosmos DB.
Chaves de partição hierárquicas do Azure Cosmos DB: ao usar chaves de partição hierárquicas, também conhecidas como subparticionamento, é possível particionar nativamente seu contêiner em vários níveis de chaves de partição. Essa abordagem permite estratégias de particionamento mais ideais para cenários multilocatários ou cargas de trabalho que, de outra forma, usariam chaves de partição sintéticas.
Padrões de locação de banco de dados SaaS multilocatário do Banco de Dados SQL do Azure: um conjunto de artigos que descrevem vários modelos de locação disponíveis para um aplicativo SaaS multilocatário usando o Banco de Dados SQL do Azure.
Executando 1 milhão de bancos de dados no SQL do Azure para um grande provedor de SaaS: Microsoft Dynamics 365 e Power Platform: uma postagem no blog que descreve como a equipe do Dynamics 365 gerencia bancos de dados em escala.
Criar um banco de dados multilocatário usando o Azure Cosmos DB para PostgreSQL
Particionamento de dados horizontal, vertical e funcional: em muitas soluções de grande escala e multilocatários, os dados são divididos em partições que podem ser gerenciadas e acessadas separadamente. O particionamento pode aprimorar a escalabilidade, reduzir a contenção e otimizar o desempenho. Ele também pode fornecer um mecanismo para dividir os dados pelo padrão de uso e pelo locatário.
Estratégias de particionamento de dados pelo serviço do Azure: este artigo descreve algumas estratégias de particionamento de dados em vários armazenamentos de dados do Azure.
Criar aplicativos multilocatários com o Banco de Dados do Azure para PostgreSQL Hyperscale Citus (vídeo)
Crie um SaaS multilocatário com o Azure Cosmos DB e o Azure (vídeo): um estudo de caso prático sobre como a Whally, uma startup de SaaS multilocatário, criou uma plataforma moderna do zero no Azure Cosmos DB e no Azure. O Whally mostra as decisões de design e implementação que tomaram relacionadas ao particionamento, modelagem de dados, multilocação segura, desempenho e streaming em tempo real do feed de alterações para o SignalR, tudo isso usando ASP.NET Core nos Serviços de Aplicativo do Azure.
Padrões de design multilocatário para aplicativos SaaS no Banco de Dados SQL do Azure (vídeo)
Mensagens
Domínios da Grade de Eventos do Azure: domínios da Grade de Eventos do Azure permitem que você gerencie arquiteturas de eventos multilocatários, em escala.
Comunicação entre locatários usando o Barramento de Serviço do Azure: exemplo de implementação do Barramento de Serviço do Azure que mostra como se comunicar entre um provedor central e um ou mais locatários.
Identidade
Locação no Microsoft Entra ID: o Microsoft Entra ID tem seu próprio conceito de multilocação, que se refere à possibilidade de operar em vários diretórios do Microsoft Entra. Quando os desenvolvedores trabalham com aplicativos do Microsoft Entra, eles podem escolher configurar seu aplicativo como locatário único ou multilocatário para dar suporte a diferentes cenários.
Crie um daemon multilocatário com o ponto de extremidade da plataforma de identidade da Microsoft: este aplicativo de exemplo mostra como usar o ponto de extremidade da plataforma de identidade da Microsoft para acessar os dados de clientes corporativos da Microsoft em um processo não interativo e de longa execução. Ele usa a concessão de credenciais de cliente OAuth2 para adquirir um token de acesso, com o qual chama o Microsoft Graph e acessa dados organizacionais.
Saiba como autenticar e autorizar aplicativos multilocatários usando o Microsoft Entra ID: saiba como o Microsoft Entra ID permite melhorar a funcionalidade de aplicativos nativos de nuvem em cenários multilocatários.
Definir e implementar permissões, funções e escopos com a ID do Microsoft Entra em soluções SaaS: este artigo aborda três conceitos principais relacionados à autenticação e autorização do Microsoft Entra, que os provedores SaaS podem usar. Ele abrange a funcionalidade de Funções de Aplicativo, permissões Delegadas e de Aplicativo e a funcionalidade de Escopos.
Análise
- Soluções multilocatários com análise integrada do Power BI: ao criar um aplicativo multilocatário que contenha o Power BI Embedded, você deve escolher cuidadosamente o modelo de locação que melhor atenda às suas necessidades.
Internet das Coisas
- Multilocação no Serviço de Provisionamento de Dispositivos no Hub IoT: uma solução de IoT multilocatário normalmente atribui dispositivos de locatário usando um grupo de hubs IoT que estão espalhados entre regiões.
IA e aprendizado de máquina
Guia para criar uma solução de inferência segura de geração Retrieval-Augmented RAG (multilocação): este documento descreve como aplicar o padrão RAG em soluções de multilocação, em que os dados específicos de cada locatário precisam ser usados para inferência.
Padrões de design para aplicativos SaaS multilocatários e a Pesquisa de IA do Azure: este documento descreve estratégias de isolamento de locatário para aplicativos multilocatários criados com a Pesquisa de IA.
Uma solução para o pipeline de machine learning em um ambiente de multilocatário: Esta postagem de blog descreve como os pipelines do Azure Machine Learning podem ser projetados para dar suporte a vários locatários usando espaços de trabalho do Azure Machine Learning.
Conteúdo da comunidade
Kubernetes
Três modelos de locação para Kubernetes: os clusters do Kubernetes normalmente são usados por várias equipes em uma organização. Este artigo explica três modelos de locação para Kubernetes.
Entenda a multilocação do Kubernetes: o Kubernetes não é um sistema multilocatário pronto. Ele requer configuração personalizada. Este artigo explica os tipos de multilocação do Kubernetes.
Guia de práticas recomendadas de multilocatário do Kubernetes: a multilocação do Kubernetes é um tópico no qual as organizações estão cada vez mais interessadas à medida que o uso do Kubernetes se espalha. No entanto, como o Kubernetes não é explicitamente um sistema multilocatário, pode ser desafiador projetar uma implementação de Kubernetes multilocatário. Este artigo descreve esses desafios, como superá-los e algumas ferramentas úteis para multilocação no Kubernetes.
Capsule: multitenância do Kubernetes simplificada: o Capsule ajuda a implementar um ambiente multilocatário e baseado em políticas no cluster Kubernetes. Não é uma oferta de plataforma como serviço (PaaS), mas sim um ecossistema baseado em microsserviços com uma abordagem de design minimalista, usando apenas Kubernetes upstream.
Crossplane: o framework de plano de controle nativo de nuvem: Crossplane permite que você crie planos de controle para sua própria solução usando uma abordagem baseada em Kubernetes.
Colaboradores
A Microsoft mantém este artigo. Os colaboradores a seguir escreveram este artigo.
Principais autores:
- John Downs | Engenheiro de Software Principal
- Paolo Salvatori | Engenheiro de Cliente Principal do FastTrack for Azure
- Arsen Vladimirskiy | Engenheiro de cliente principal, FastTrack for Azure
- LaBrina Loving | Gerenciadora de Engenharia de Cliente Principal, FastTrack for Azure
Para ver perfis não públicos no LinkedIn, entre no LinkedIn.