Recursos para arquitetos e desenvolvedores de soluções multilocatário
Arquiteturas para aplicativos multilocatários
Os artigos a seguir fornecem exemplos de arquiteturas multilocatários no Azure.
Arquitetura | Resumo | Foco na tecnologia |
---|---|---|
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 | Web |
Usar o Controlador de Entrada do Gateway de Aplicativo com um Serviço de Kubernetes do Azure (AKS) multilocatário | Exemplo para implementar a multilocação com AKS e AGIC | Kubernetes |
Todas as arquiteturas multilocatário | Lista todas as arquiteturas que incluem multilocatário | Múltiplo |
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 Carimbos de Implantação | Implante várias cópias independentes (unidades de escala) de componentes de aplicativos, incluindo armazenamentos de dados. |
Identidade Federada | Delegar autenticação a um provedor de identidade externa. |
Gatekeeper | Proteger aplicativos e serviços usando uma instância de host dedicado que atua como intermediário entre clientes e o aplicativo ou serviço, valida e corrige solicitações e passa solicitações e dados entre eles. |
Nivelamento de Carga Baseado em Fila | Use uma fila que funcione como um buffer entre uma tarefa e um serviço que ela invoca para simplificar cargas pesadas intermitentes. |
Fragmentação | Divida um armazenamento de dados em um conjunto de partições horizontais ou fragmentos. |
Limitação | Controle o consumo de recursos que são usados por uma instância de um aplicativo, um locatário individual ou todo o serviço. |
Antipadrões
Considere o antipadrão Noisy Neighbor, no qual a atividade de um locatário pode ter um impacto negativo no uso do sistema por outro locatário.
Estrutura Bem Projetada do Microsoft Azure
Embora a totalidade do Azure Well-Architected Framework seja importante para todas as soluções, preste atenção especial ao pilar Resiliência. A natureza da hospedagem em nuvem leva a aplicativos que costumam ser multilocatário, usam serviços de plataforma compartilhada, competem por recursos e largura de banda, comunicam-se pela Internet e são executados no hardware de mercadoria. Isso aumenta a probabilidade de que falhas transitórias e mais permanentes surjam.
Diretrizes de arquitetura multilocatário
- Arquitetando soluções multilocatários no Azure (vídeo): este vídeo discute como projetar, arquitetar e criar soluções multilocatários no Azure. Se você estiver criando um produto SaaS ou outro serviço multilocatário, haverá muito a considerar ao planeja o alto desempenho, o isolamento do locatário e ao gerenciar implantações. Esta sessão é voltada para desenvolvedores e arquitetos que estão criando aplicativos SaaS ou multilocatários, incluindo inicializações e ISVs.
- Azure Friday – Arquitetando soluções multilocatários no Azure (vídeo): este vídeo do Azure Friday discute como elaborar, arquitetar e criar soluções de SaaS (software como serviço) multilocatário no Azure.
- Acelere e diminua o risco de sua jornada para SaaS (vídeo): este vídeo fornece orientações para fazer a transição para o modelo de entrega saaS (software como serviço) – se você está começando por lift-and-shift uma solução existente do local para o Azure, considerando uma arquitetura multilocatário ou procurando modernizar um aplicativo Web SaaS existente.
Recursos para serviços do Azure
Governança e conformidade
- Organizar e gerenciar várias assinaturas do Azure: é importante considerar como você gerencia suas assinaturas do Azure, bem como aloca recursos de locatário para assinaturas.
- Experiências de gerenciamento entre locatários: como provedor de serviços, você pode usar o Azure Lighthouse para gerenciar recursos de vários clientes em seu locatário do Microsoft Entra. Muitas tarefas e serviços podem ser executados em locatários gerenciados usando o gerenciamento de recursos delegados do Azure.
- Aplicativos Gerenciados do Azure: em um aplicativo gerenciado, os recursos são implantados em um grupo de recursos gerenciado pelo distribuidor do aplicativo. O grupo de recursos está presente na assinatura do consumidor, mas uma identidade no locatário do fornecedor tem acesso ao grupo de recursos.
Computação
- Melhores práticas para isolamento de cluster no Serviço de Kubernetes do Azure (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 os recursos de multilocação e de isolamento do Serviço de Kubernetes do Azure. Este artigo de práticas recomendadas se concentra no isolamento para operadores de cluster.
- Melhores práticas para segurança de cluster e atualizações no Serviço de Kubernetes do Azure: conforme você gerencia clusters no AKS (Serviço de Kubernetes do Azure), a carga de trabalho e a segurança de dados são uma consideração fundamental. Quando você executa clusters multilocatário usando isolamento lógico, precisa especialmente proteger o acesso aos recursos e às cargas de trabalho.
Rede
Link privado
- Explicação e demonstrações do Serviço de Link Privado do Azure com base em perspectivas do provedor (ISV de SaaS) e do consumidor: um vídeo que examina o recurso de serviço de Link Privado do Azure que habilita provedores de serviços multilocatários (como fornecedores independentes de software que criam produtos SaaS). 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 Proxy v2 com Serviço de Link Privado do Azure — Aprofundamento: um vídeo que apresenta um aprofundamento no Protocolo TCP Proxy v2, que é um recurso avançado do serviço de Link Privado do Azure. É útil em cenários multilocatário 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 TLV do Protocolo de Proxy
linkIdentifier
do serviço de Link Privado do Azure: um vídeo que mostra como usar o NGINX Plus para obter o TLV do Protocolo de Proxy TCP v2 do serviço de Link Privado do Azure. O vídeo mostra como você pode extrair e decodificar olinkIdentifier
numérico, também chamadoLINKID
, da conexão de ponto de extremidade privado. Essa solução é útil para provedores multilocatário que precisam identificar o locatário do consumidor específico a partir do qual a conexão foi estabelecida. - Padrão de Conectividade Privada SaaS: um exemplo de solução que ilustra uma abordagem para automatizar a aprovação de conexões de ponto de extremidade privado, usando Aplicativos Gerenciados do Azure.
Web
- Roteamento baseado em declarações para soluções SaaS: esse artigo aborda o uso de um proxy reverso para facilitar o roteamento de locatários e o mapeamento de solicitações para locatários, aprimorando o gerenciamento de serviços de back-end em soluções SaaS.
Armazenamento e dados
- Projetar e criar 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ê tiver um alto volume de locatários B2C pequenos ou um baixo volume de locatários B2B altamente distorcidos.
- Azure Cosmos DB e sistemas multilocatários: uma postagem no blog discutindo como criar um sistema multilocatário que usa o Azure Cosmos DB.
- Chaves de partição hierárquica do Azure Cosmos DB: usando chaves de partição hierárquicas, também conhecidas como subparticionamento, você pode particionar nativamente seu contêiner com vários níveis de chaves de partição. Isso 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 do 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.
- Executar 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.
- Elaborar um banco de dados multilocatário usando a Hiperescala do Banco de Dados do Azure 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 Banco de Dados do Azure para PostgreSQL Hyperscale Citus (vídeo)
- Aplicativos multilocatários com o Azure Cosmos DB (vídeo)
- Como criar um SaaS multilocatário com o Azure Cosmos DB e o Azure (vídeo): um estudo de caso do mundo real sobre como o Whally, um 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 tomadas relacionadas ao particionamento, modelagem de dados, multilocação segura, desempenho, streaming em tempo real do feed de alterações para o SignalR e muito mais, tudo isso usando o ASP.NET Core nos Serviços de Aplicativos 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.
- Exemplo de Barramento de Serviço: 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 clientes (locatários).
Identidade
- Locação no Microsoft Entra ID: o Microsoft Entra ID tem seu próprio conceito de multilocação, que se refere à operação em vários diretórios do Microsoft Entra. Quando os desenvolvedores trabalham com aplicativos Microsoft Entra, eles podem optar por configurar seu aplicativo para ser de locatário único ou multilocatário para dar suporte a diferentes cenários.
- Solução de identidade de marca personalizada com o Azure AD B2C: o Azure Active Directory B2C é uma solução de gerenciamento de acesso de identidade do cliente que é capaz de dar suporte a milhões de usuários e bilhões de autenticações por dia.
- 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 de longa execução. Ele usa concessão de credenciais de cliente OAuth2 para adquirir um token de acesso, que ele usa para chamar o Microsoft Graph e acessar dados organizacionais.
- Autenticar e autorizar aplicativos multilocatário usando o Microsoft Entra ID: saiba como o Microsoft Entra ID permite melhorar a funcionalidade de aplicativos nativos da nuvem em cenários multilocatário.
- Passo a passo da arquitetura do Azure: criar uma Arquitetura do Azure multilocatário para um cenário B2C: um passo a passo pela arquitetura por trás de um aplicativo móvel multilocatário com o Azure Active Directory B2C e Gerenciamento de API.
- Defina e implemente permissões, funções e escopos com o Microsoft Entra ID na solução SaaS: esse artigo aborda três conceitos principais relacionados à autenticação e autorização do Microsoft Entra, que podem ser usados por provedores de SaaS. Ele abrange a funcionalidade de Funções de Aplicativo, permissões Delegadas e de Aplicativo e funcionalidade de Escopos.
Análise
- Soluções multilocatário com análise integrada do Power BI: ao criar um aplicativo multilocatário que contém Power BI Embedded, você deverá escolher cuidadosamente o modelo de locação que melhor atenda às suas necessidades.
IoT
- Multilocatário 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/ML
- Padrões de design para aplicativos SaaS multilocatários e Azure Cognitive Search: este documento discute estratégias de isolamento do locatário para aplicativos multilocatários criados com Azure Cognitive Search.
- Uma solução para pipeline de ML de maneira multilocação: esta publicação de blog descreve como os pipelines do Azure Machine Learning podem ser projetados para dar suporte a vários locatários usando Workspaces 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.
- Noções básicas sobre a multilocação do Kubernetes: o Kubernetes não é um sistema multilocatário pronto e requer configuração personalizada. Este artigo explica os tipos de multilocações do Kubernetes.
- Multilocação do Kubernetes – um guia de melhores práticas: a multilocação do Kubernetes é um assunto no qual cada vez mais organizações estão interessadas à medida que o uso do Kubernetes aumenta. No entanto, como o Kubernetes não é explicitamente um sistema multilocatário, pode ser um desafio projetar uma implementação do Kubernetes multilocatário. Este artigo descreve esses desafios e como superá-los, bem como algumas ferramentas úteis para multilocação do Kubernetes.
- Capsule: a multilocação do Kubernetes tornou-se simples: o Capsule ajuda a implementar um ambiente baseado em políticas e multilocações no cluster do 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: a estrutura de plano de controle nativa da nuvem: o Crossplane permite que você crie planos de controle para sua própria solução, usando uma abordagem baseada em Kubernetes.
Colaboradores
Esse artigo é mantido pela Microsoft. Ele foi originalmente escrito pelos colaboradores a seguir.
Principais autores:
- John Downs | Engenheiro de software principal
- Paolo Salvatori | Engenheiro de Cliente Principal, FastTrack for Azure
- Arsen Vladimirskiy | Engenheiro de Cliente Principal, FastTrack for Azure
- LaBrina Loving | Gerenciador de Engenharia de Clientes Principal do FastTrack para Azure
Para ver perfis não públicos do LinkedIn, entre no LinkedIn.