Editar

Partilhar via


Abordagens arquitetônicas para uma solução multilocatária

Azure

Há muitas maneiras diferentes de projetar e criar soluções multilocatárias no Azure. Em um extremo, você pode compartilhar todos os recursos em sua solução entre todos os seus locatários. No outro extremo, você pode implantar recursos isolados para cada locatário. Pode parecer simples implantar recursos separados para cada locatário e pode funcionar para um pequeno número de locatários. No entanto, normalmente não fornece eficiência de custos e pode tornar-se difícil gerir os seus recursos. Há também várias abordagens que se encaixam entre esses extremos, e todas elas exigem compensações entre escala, isolamento, eficiência de custos, desempenho, complexidade da implementação e capacidade de gerenciamento.

Ao longo desta seção, discutimos as principais categorias de serviços do Azure que compõem uma solução, incluindo computação, armazenamento e dados, rede, implantação, identidade, mensagens, inteligência artificial e aprendizado de máquina e IoT. Para cada categoria, descrevemos os principais padrões e abordagens que você pode considerar ao projetar uma solução multilocatária e alguns antipadrões a serem evitados.

Padrão de selos de implantação

O padrão Deployment Stamps é frequentemente usado em soluções multilocatário. Envolve a implantação de infraestrutura dedicada para um locatário ou para um grupo de locatários. Um único carimbo pode servir vários locatários ou ser dedicado a um único locatário.

Diagrama mostrando um exemplo de implementação do padrão Deployment Stamps. Nesse cenário, cada locatário tem seu próprio carimbo contendo um banco de dados.

Ao usar carimbos de locatário único, o padrão de Carimbos de Implantação tende a ser simples de implementar, porque é provável que cada carimbo não tenha conhecimento de qualquer outro, portanto, nenhuma lógica ou recursos de multilocação precisam ser incorporados à camada de aplicativo. Quando cada inquilino tem seu próprio carimbo dedicado, esse padrão fornece o mais alto grau de isolamento e mitiga o problema do vizinho barulhento. Ele também oferece a opção de os locatários serem configurados ou personalizados de acordo com suas próprias necessidades, como estar localizado em uma região geopolítica específica ou ter requisitos específicos de alta disponibilidade.

Ao usar carimbos multilocatário, outros padrões precisam ser considerados para gerenciar a multilocação dentro do carimbo, e o problema do vizinho barulhento ainda pode se aplicar. No entanto, usando o padrão Selos de Implantação, você pode continuar a dimensionar à medida que sua solução cresce.

O maior problema com o padrão de Selos de Implantação, quando usado para atender um único locatário, tende a ser o custo da infraestrutura. Cada carimbo precisa ter seu próprio conjunto separado de infraestrutura, e a infraestrutura não é compartilhada com outros locatários. Você também precisa garantir que os recursos implantados para um carimbo sejam suficientes para atender à carga de pico da carga de trabalho desse locatário. Certifique-se de que seu modelo de preços compense o custo de implantação da infraestrutura do locatário.

Os selos de inquilino único geralmente funcionam bem quando você tem um pequeno número de inquilinos. À medida que o seu número de inquilinos cresce, é possível, mas cada vez mais difícil, gerir uma frota de selos de inquilino único (veja este estudo de caso como exemplo). Você também pode aplicar o padrão Selos de Implantação para criar carimbos multilocatário, que podem fornecer benefícios para o compartilhamento de recursos e custos.

Para implementar o padrão Deployment Stamps, é importante usar abordagens de implantação automatizadas. Dependendo da sua estratégia de implantação, você pode considerar gerenciar seus carimbos dentro de seus pipelines de implantação, usando infraestrutura declarativa como código, como arquivos Bicep ou modelos Terraform. Como alternativa, você pode considerar a criação de código personalizado para implantar e gerenciar cada carimbo, como usando SDKs do Azure.

Público-alvo

Os artigos desta seção destinam-se a ser úteis para arquitetos de soluções e desenvolvedores líderes de aplicativos multilocatário, incluindo fornecedores independentes de software (ISVs) e startups que desenvolvem soluções SaaS. Grande parte das orientações nesta seção é genérica e se aplica a vários serviços do Azure dentro de uma categoria.

Próximos passos

Recomendamos que você revise as abordagens para organização de recursos em uma solução multilocatária antes de revisar as orientações sobre categorias específicas de serviços do Azure.