Editar

Abordagens de arquitetura para uma solução multi-inquilino

Azure

Existem várias formas diferentes de criar e criar soluções multi-inquilino no Azure. Num extremo, pode partilhar todos os recursos na sua solução entre todos os inquilinos. No outro extremo, pode implementar recursos isolados para cada inquilino. Pode parecer simples implementar recursos separados para cada inquilino e pode funcionar para um pequeno número de inquilinos. No entanto, normalmente não fornece relação custo-eficácia e pode tornar-se difícil gerir os seus recursos. Existem também várias abordagens que se encaixam entre estes extremos e todas elas têm compromissos como escala, isolamento, eficiência de custos, desempenho, complexidade de implementação e capacidade de gestão.

Ao longo desta secção, abordamos as principais categorias de serviços do Azure que incluem uma solução, incluindo computação, armazenamento e dados, redes, implementação, identidade, mensagens, inteligência artificial e machine learning e IoT. Para cada categoria, descrevemos os principais padrões e abordagens que pode considerar ao conceber uma solução multi-inquilino e alguns anti-padrões a evitar.

Padrão de Selos de Implementação

O padrão Carimbos de Implementação é frequentemente utilizado em soluções multi-inquilino. Envolve a implementação de uma infraestrutura dedicada para um inquilino ou para um grupo de inquilinos. Um único selo pode conter vários inquilinos ou ser dedicado a um único inquilino.

Diagrama a mostrar o padrão Carimbos de Implementação. Cada inquilino tem o seu próprio selo que contém uma base de dados.

Ao utilizar selos de inquilino único, o padrão de Selos de Implementação tende a ser simples de implementar, uma vez que é provável que cada selo não tenha conhecimento de qualquer outro, pelo que nenhuma lógica ou capacidades multi-inquilino tem de ser incorporada na camada da aplicação. Quando cada inquilino tem o seu próprio selo dedicado, este padrão fornece o mais alto grau de isolamento e mitiga o problema ruidoso vizinho. Também fornece a opção para que os inquilinos sejam configurados ou personalizados de acordo com os seus próprios requisitos, como estarem localizados numa região geopolítica específica ou para terem requisitos específicos de elevada disponibilidade.

Ao utilizar selos multi-inquilinos, outros padrões têm de ser considerados para gerir a multi-inquilino dentro do selo e o problema ruidoso vizinho ainda pode ser aplicado. No entanto, ao utilizar o padrão Selos de Implementação, pode continuar a dimensionar à medida que a sua solução cresce.

O maior problema com o padrão de Selos de Implementação, ao ser utilizado para servir um único inquilino, tende a ser o custo da infraestrutura. Ao utilizar selos de inquilino único, cada selo tem de ter o seu próprio conjunto de infraestrutura separado, que não é partilhado com outros inquilinos. Também tem de garantir que os recursos implementados para um selo são suficientes para cumprir o pico de carga para a carga de trabalho desse inquilino. Certifique-se de que o modelo de preços compensa o custo de implementação da infraestrutura do inquilino.

Os selos de inquilino único funcionam frequentemente bem quando 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 (veja este caso prático como um exemplo). Também pode aplicar o padrão Selos de Implementação para criar uma frota de selos multi-inquilinos, que podem proporcionar benefícios para a partilha de recursos e custos.

Para implementar o padrão de Selos de Implementação, é importante utilizar abordagens de implementação automatizadas. Consoante a sua estratégia de implementação, pode considerar gerir os seus selos nos seus pipelines de implementação ao utilizar uma infraestrutura declarativa como código, como o Bicep, modelos do ARM ou modelos do Terraform. Em alternativa, pode considerar a criação de código personalizado para implementar e gerir cada selo, como através de SDKs do Azure.

Público-alvo

Os artigos nesta secção destinam-se a ser úteis para arquitetos de soluções e programadores principais de aplicações multi-inquilino, incluindo fornecedores independentes de software (ISVs) e startups que desenvolvem soluções SaaS. Grande parte das orientações nesta secção são genéricas e aplicam-se a vários serviços do Azure numa categoria.

Passos seguintes

Recomendamos que reveja as abordagens da organização de recursos numa solução multi-inquilino antes de rever as orientações sobre categorias específicas de serviços do Azure.