Lista de verificação para arquitetar e criar soluções multilocatárias no Azure
Quando você cria sua solução multilocatária no Azure, há muitos elementos que você precisa considerar. Use esta lista de verificação como ponto de partida para ajudá-lo a projetar e criar sua solução multilocatário. Esta lista de verificação é um recurso complementar para a série de artigos Architecting multitenant solutions on Azure . A lista de verificação é estruturada em torno das considerações comerciais e técnicas e dos cinco pilares do Azure Well-Architected Framework.
Gorjeta
Depois de passar por essa lista de verificação, faça a revisão da jornada SaaS para avaliar seu produto SaaS analisando seu entendimento da arquitetura multilocatária e seu alinhamento com as práticas recomendadas de operação SaaS.
Considerações empresariais
- Entenda que tipo de solução você está criando, como business-to-business (B2B), business-to-consumer (B2C) ou seu software corporativo, e como os locatários são diferentes dos usuários.
- Defina os seus inquilinos. Entenda quantos locatários você apoiará inicialmente e seus planos de crescimento.
- Defina seu modelo de preços e garanta que ele esteja alinhado com o consumo de recursos do Azure por seus locatários.
- Entenda se você precisa separar seus locatários em diferentes níveis. Os níveis podem ter preços, recursos, promessas de desempenho, localizações geográficas diferentes e assim por diante.
- Com base nos requisitos dos seus clientes, decida os modelos de arrendamento adequados para várias partes da sua solução.
- Quando estiver pronto, venda sua solução multilocatária B2B usando o Microsoft Commercial Marketplace.
Considerações sobre confiabilidade
- Analise a lista de verificação de Confiabilidade Bem Arquitetada do Azure, que é aplicável a todas as cargas de trabalho.
- Entenda o antipadrão do vizinho barulhento. Evite que locatários individuais afetem a disponibilidade do sistema para outros locatários.
- Projete sua solução multilocatária para o nível de crescimento esperado. Mas não exagere na engenharia para um crescimento irrealista.
- Defina objetivos de nível de serviço (SLOs) e, opcionalmente, contratos de nível de serviço (SLAs) para sua solução. Os SLAs e SLOs devem ser baseados nos requisitos de seus locatários, bem como no SLA composto dos recursos do Azure em sua arquitetura.
- Teste a escala da sua solução. Certifique-se de que ele tenha um bom desempenho em todos os níveis de carga e que seja dimensionado corretamente à medida que o número de locatários aumenta.
- Aplique princípios de engenharia do caos para testar a confiabilidade de sua solução.
Considerações de segurança
- Aplique os princípios Zero Trust e privilégios mínimos em todas as camadas da sua solução.
- Certifique-se de que você pode mapear corretamente as solicitações do usuário para os locatários. Considere incluir o contexto do locatário como parte do sistema de identidade ou usando outro meio, como a autorização do locatário no nível do aplicativo.
- Design para isolamento de inquilino. Teste continuamente o seu modelo de isolamento.
- Certifique-se de que o código do seu aplicativo impeça qualquer acesso entre locatários ou vazamento de dados.
- Realize testes de penetração contínuos e revisões de código de segurança.
- Compreenda os requisitos de conformidade dos seus inquilinos, incluindo residência de dados e quaisquer normas de conformidade ou regulamentares que eles exijam que você cumpra.
- Gerencie corretamente nomes de domínio e evite vulnerabilidades como DNS pendurado e ataques de invasão de subdomínio.
- Siga as orientações específicas do serviço para multilocação.
Considerações sobre otimização de custos
- Analise a lista de verificação de Otimização de Custos Well-Architected do Azure, que é aplicável a todas as cargas de trabalho.
- Certifique-se de que pode medir adequadamente o consumo por inquilino e correlacioná-lo com os seus custos de infraestrutura.
- Evite antipadrões. Os antipadrões incluem não rastrear custos, rastrear custos com precisão desnecessária, medição em tempo real e usar ferramentas de monitoramento para faturamento.
Considerações sobre a excelência operacional
- Use a automação para gerenciar o ciclo de vida do locatário, como integração, implantação, provisionamento e configuração.
- Entenda as diferenças entre o plano de controle e o plano de dados em sua solução multilocatário.
- Encontre o equilíbrio certo para implantar atualizações de serviço. Considere os requisitos dos seus inquilinos e os seus próprios requisitos operacionais.
- Monitore a integridade do sistema geral, bem como de cada locatário.
- Configure e teste alertas para notificá-lo quando locatários específicos estiverem enfrentando problemas ou excedendo seus limites de consumo.
- Organize seus recursos do Azure para isolamento e escala.
- Evite antipadrões de implantação e configuração. Os antipadrões incluem a execução de versões separadas da solução para cada locatário, codificando configurações ou lógicas específicas do locatário e implantações manuais.
Considerações sobre eficiência de desempenho
- Analise a lista de verificação de Eficiência de Desempenho Bem Arquitetado do Azure, que é aplicável a todas as cargas de trabalho.
- Se você usa infraestrutura compartilhada, planeje como você mitigará as preocupações do vizinho barulhento. Certifique-se de que um locatário não possa reduzir o desempenho do sistema para outros locatários.
- Determine como você dimensionará seus recursos de computação, armazenamento, rede e outros recursos do Azure para atender às demandas de seus locatários.
- Considere os limites de escala de cada recurso do Azure. Organize seus recursos adequadamente, a fim de evitar antipadrões de organização de recursos. Por exemplo, não arquitete demais sua solução para trabalhar dentro de requisitos de escala irrealistas.
Contribuidores
Este artigo é mantido pela Microsoft. Foi originalmente escrito pelos seguintes contribuidores.
Principais autores:
- Arsen Vladimirskiy - Brasil | Engenheiro de Clientes Principal
- Bohdan Cherchyk - Brasil | Engenheiro de Clientes Sênior
Outros contribuidores:
- John Downs - Brasil | Engenheiro de Software Principal
Para ver perfis não públicos do LinkedIn, inicie sessão no LinkedIn.
Próximos passos
- Analise as considerações arquitetônicas para soluções multilocatário.
- Revise abordagens arquitetônicas para multilocação.
- Revise as diretrizes específicas do serviço para multilocação.
- Analise recursos adicionais para arquitetos e desenvolvedores de soluções multilocatário.