Recursos para arquitetos e desenvolvedores de soluções multilocatárias
Arquiteturas para aplicativos multilocatários
Os artigos a seguir fornecem exemplos de arquiteturas multilocatárias no Azure.
Arquitetura | Resumo | Foco em tecnologia |
---|---|---|
SaaS multilocatário no Azure | Arquitetura de referência para um cenário SaaS multilocatário no Azure, que é implantado em várias regiões | Web |
Usar o Application Gateway Ingress Controller com um Serviço Kubernetes do Azure (AKS) multilocatário | Exemplo de implementação de multilocação com AKS e AGIC | Kubernetes |
Todas as arquiteturas multilocatárias | Lista todas as arquiteturas que incluem multilocação | Várias |
Padrões de design da cloud
Os seguintes padrões de design de nuvem são frequentemente usados em arquiteturas multilocatário.
Padrão | Resumo |
---|---|
Padrão de selos de implantação | Implante várias cópias independentes (unidades de escala) de componentes de aplicativos, incluindo armazenamentos de dados. |
Identidade Federada | Delegue a autenticação para um fornecedor de identidade externo. |
Controlador de chamadas | Proteja aplicativos e serviços, usando uma instância de host dedicada que atua como um intermediário entre os clientes e o aplicativo ou serviço, valida e limpa solicitações e passa solicitações e dados entre eles. |
Redistribuição de Carga Baseada na Fila | Use uma fila que atua como um buffer entre uma tarefa e um serviço que ela invoca, a fim de suavizar cargas pesadas intermitentes. |
Fragmentação | Divida um arquivo de dados num conjunto de partições horizontais ou shards. |
Limitação | Controle o consumo de recursos usados por uma instância de um aplicativo, um locatário individual ou um serviço inteiro. |
Antipadrões
Considere o antipadrão Vizinho barulhento, no qual a atividade de um locatário pode ter um impacto negativo no uso do sistema por outro locatário.
Well-Architected Framework do Microsoft Azure
Embora a totalidade do Azure Well-Architected Framework seja importante para todas as soluções, preste especial atenção ao pilar Confiabilidade. A natureza da hospedagem em nuvem leva a aplicativos que geralmente são multilocatário, usam serviços de plataforma compartilhada, competem por recursos e largura de banda, se comunicam pela Internet e são executados em hardware de mercadoria. Isso aumenta a probabilidade de surgirem falhas transitórias e mais permanentes.
Orientação arquitetônica multilocatária
- Arquitetando soluções multilocatárias no Azure (vídeo): este vídeo discute como projetar, arquitetar e criar soluções multilocatárias no Azure. Se você estiver criando um produto SaaS ou outro serviço multilocatário, há muito a considerar ao planejar alto desempenho, isolamento de locatário e gerenciar implantações. Esta sessão destina-se a programadores e arquitetos que estão a construir aplicações multitenant ou SaaS, incluindo startups e ISVs.
- Azure Friday - Architecting multitenant solutions on Azure (vídeo): Este vídeo do Azure Friday discute como projetar, arquitetar e criar soluções de software como serviço (SaaS) multilocatário no Azure.
- Acelere e elimine o risco de sua jornada para SaaS (vídeo): este vídeo fornece orientação para a transição para o modelo de entrega de software como serviço (SaaS) - quer você esteja começando levantando e mudando 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
Governação e conformidade
- Organizando e gerenciando várias assinaturas do Azure: é importante considerar como você gerencia suas assinaturas do Azure, bem como 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 de dentro 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 do Azure: em um aplicativo gerenciado, os recursos são implantados em um grupo de recursos gerenciado pelo editor do aplicativo. O grupo de recursos está presente na subscrição do cliente, mas uma identidade no inquilino do editor tem acesso ao grupo de recursos.
Computação
- Práticas recomendadas para isolamento de cluster no Serviço Kubernetes do Azure (AKS): o AKS oferece flexibilidade em como você pode executar clusters multilocatários e isolar recursos. Para maximizar seu investimento no Kubernetes, você deve primeiro entender e implementar os recursos de multilocação e isolamento do AKS. 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 Serviço Kubernetes do Azure: à medida que você gerencia clusters no Serviço Kubernetes do Azure (AKS), a carga de trabalho e a segurança de dados são uma consideração fundamental. Ao executar clusters multilocatários usando isolamento lógico, você precisa proteger especialmente o acesso a recursos e cargas de trabalho.
Rede
Private Link
- Explicação do Serviço de Link Privado do Azure e demonstrações das perspetivas do provedor (ISV 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 criando 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 de Proxy TCP v2 com Serviço de Link Privado do Azure — Deep Dive: um vídeo que apresenta um mergulho profundo no Protocolo de Proxy TCP 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 através do ponto de extremidade privado.
- Usando o NGINX Plus para decodificar o TLV
linkIdentifier
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 de Proxy TCP v2 do serviço de Link Privado do Azure. O vídeo mostra como você pode extrair e decodificar o numéricolinkIdentifier
, também chamadoLINKID
, da conexão de ponto final privado. Essa solução é útil para provedores multilocatários que precisam identificar o locatário consumidor específico a partir do qual a conexão foi feita. - Padrão de conectividade privada SaaS: uma solução de exemplo que ilustra uma abordagem para automatizar a aprovação de conexões de ponto de extremidade privadas, usando os Aplicativos Gerenciados do Azure.
Web
- Roteamento baseado em declarações para soluções SaaS: Este artigo discute 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 do locatário, otimização de custos e distribuição global. O conteúdo desta sessão aplica-se quer tenha um elevado volume de pequenos inquilinos B2C ou um baixo volume de inquilinos B2B altamente enviesados.
- Azure Cosmos DB e sistemas multilocatário: uma postagem de 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 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 que estã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 de blog descrevendo como a equipe do Dynamics 365 gerencia bancos de dados em escala.
- Projetar um banco de dados multilocatário usando o Banco de Dados do Azure para Hiperescala PostgreSQL
- Particionamento de dados horizontal, vertical e funcional: em muitas soluções de grande escala e multilocatário, os dados são divididos em partições que podem ser gerenciadas e acessadas separadamente. A criação de partições pode melhorar a escalabilidade, reduzir a contenção e otimizar o desempenho. Ele também pode fornecer um mecanismo para dividir 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 para particionar dados em vários armazenamentos de dados do Azure.
- Criando aplicativos multilocatários com o Banco de Dados do Azure para PostgreSQL Hyperscale Citus (vídeo)
- Aplicativos multilocatários com o Azure Cosmos DB (vídeo)
- Criando um SaaS multilocatário com o Azure Cosmos DB e o Azure (vídeo): Um estudo de caso do mundo real de como a Whally, uma startup SaaS multilocatário, criou uma plataforma moderna do zero no Azure Cosmos DB e no Azure. Whally mostra as decisões de design e implementação que eles tomaram 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 usando o 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: os domínios da Grade de Eventos do Azure permitem gerenciar arquiteturas de eventos multilocatário, 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 oferecer suporte a diferentes cenários.
- Solução de identidade personalizada com o Azure AD B2C: o Azure Ative Directory B2C é uma solução de gerenciamento de acesso de identidade do cliente capaz de suportar milhões de usuários e bilhões de autenticações por dia.
- Criar 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 dos clientes empresariais da Microsoft em um processo não interativo de longa duração. Ele usa a 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ários 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: Criando uma Arquitetura do Azure multilocatário para um cenário B2C: um passo pela arquitetura por trás de um aplicativo móvel multilocatário com o Azure Ative Directory B2C e o Gerenciamento de API.
- Defina e implemente permissões, funções e escopos com o Microsoft Entra ID na solução SaaS: Este artigo aborda três conceitos principais relacionados à autenticação e autorização do Microsoft Entra, que podem ser usadas por provedores de SaaS. Ele abrange a funcionalidade Funções de Aplicativo, permissões de Aplicativo Delegado & e funcionalidade de Escopos.
Análise
- Soluções de multilocação com análise incorporada do Power BI: ao projetar um aplicativo multilocatário que contém o Power BI Embedded, você deve escolher cuidadosamente o modelo de locação que melhor atende às suas necessidades.
IoT
- Multilocação no Serviço de Provisionamento de Dispositivos do Hub IoT: uma solução de IoT multilocatária geralmente atribui dispositivos de locatário usando um grupo de hubs IoT espalhados por regiões.
AI/ML
- Padrões de design para aplicativos SaaS multilocatários e Pesquisa Cognitiva do Azure: este documento discute estratégias de isolamento de locatário para aplicativos multilocatários criados com a Pesquisa Cognitiva do Azure.
- Uma solução para pipeline de ML de maneira multilocação: 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 o Kubernetes: os clusters do Kubernetes são normalmente usados por várias equipes em uma organização. Este artigo explica três modelos de locação para o Kubernetes.
- Entendendo o Kubernetes Multi Tenancy: o Kubernetes não é um sistema multilocatário pronto para uso e requer configuração personalizada. Este artigo explica os tipos de multilocação do Kubernetes.
- Multilocação do Kubernetes – Um Guia de Práticas Recomendadas: 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 um desafio projetar uma implementação do Kubernetes multilocatário. Este artigo descreve esses desafios e como superá-los, além de algumas ferramentas úteis para a multilocação do Kubernetes.
- Cápsula: multilocação do Kubernetes simplificada: a Capsule ajuda a implementar um ambiente de multilocação e baseado em políticas em seu 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: A estrutura de plano de controle nativa da nuvem: Crossplane permite que você crie planos de controle para sua própria solução, usando uma abordagem baseada em Kubernetes.
Contribuidores
Este artigo é mantido pela Microsoft. Foi originalmente escrito pelos seguintes contribuidores.
Principais autores:
- John Downs - Brasil | Engenheiro de Software Principal
- Paolo Salvatori - Brasil | Engenheiro de Clientes Principal, FastTrack for Azure
- Arsen Vladimirskiy - Brasil | Engenheiro de Clientes Principal, FastTrack for Azure
- LaBrina Amar | Gerente Principal de Engenharia do Cliente, FastTrack for Azure
Para ver perfis não públicos do LinkedIn, inicie sessão no LinkedIn.