Lista de verificação para arquitetar e criar soluções multilocatário no Azure
É preciso considerar diversos elementos antes de criar uma solução multilocatário no Azure. Por isso, criamos esta lista de verificação para você usar como ponto de partida nessa tarefa, um recurso que complementa a série de artigos Arquitetar soluções multilocatários no Azure. Vale lembrar que a lista de verificação está estruturada com base em considerações técnicas e comerciais, bem como nos cinco pilares do Azure Well-Architected Framework.
Dica
Depois de passar por essa lista de verificação, faça a revisão da jornada SaaS para avaliar seu produto SaaS analisando sua compreensão da arquitetura multilocatário e seu alinhamento com as práticas recomendadas de operação de SaaS.
Considerações sobre negócios
- Entenda o tipo de solução que você está criando (por exemplo, B2B [comércio entre empresas], B2C [empresa para consumidor] ou o software da sua empresa) e a diferença entre os locatários e os usuários.
- Identifique os locatários. Descubra quantos locatários você precisará atender inicialmente e defina seus planos de crescimento.
- Defina seu modelo de preços e verifique se está de acordo com o consumo de recursos do Azure pelos locatários.
- Verifique se é necessário separar os locatários em níveis diferentes. Esses níveis podem ter preços, recursos, promessas de desempenho e locais geográficos distintos etc.
- Avalie os requisitos do cliente e escolha os modelos de locação adequados para as várias partes da solução.
- Quando tudo estiver pronto, venda a solução multilocatário B2B pelo Marketplace Comercial da Microsoft.
Considerações sobre a confiabilidade
- Analise a lista de verificação de confiabilidade do Azure Well-Architected Framework, que é válida para todas as cargas de trabalho.
- Entenda o antipadrão de vizinho barulhento. Assim, você impede que um locatário afete a disponibilidade do sistema para outros.
- Crie a solução multilocatário de acordo com o nível de crescimento esperado. Não crie para um crescimento irreal.
- Defina SLOs (objetivos de nível de serviço) e, opcionalmente, SLAs (Contratos de Nível de Serviço) para a solução. SLAs e SLOs devem ser baseados nos requisitos de seus locatários.
- Teste a escala da solução, verifique se ela apresenta bom desempenho em todos os níveis de carga e se é dimensionada corretamente conforme o número de locatários aumenta.
- Siga os princípios da engenharia do caos para testar a confiabilidade da solução.
Considerações de segurança
- Use a Confiança Zero e siga os princípios de privilégio mínimo em todas as camadas da solução.
- Verifique se é possível mapear corretamente as solicitações de usuários para os locatários. Analise a inclusão do contexto do locatário como parte do sistema de identidade ou por outros meios, como a autorização do locatário no nível do aplicativo.
- Projete para isolamento do locatário. Teste o modelo de isolamento continuamente.
- Verifique se o código do aplicativo impede o acesso entre locatários ou o vazamento de dados.
- Sempre faça testes de penetração e revisões de código de segurança.
- Entenda os requisitos de conformidade dos locatários, incluindo a residência de dados e outras normas de conformidade ou regulamentação obrigatórias.
- Gerencie corretamente os nomes de domínio e evite vulnerabilidades como DNS obsoleto e ataques de roubo de subdomínio.
- Siga as diretrizes específicas do serviço para multilocação.
Considerações sobre a otimização de custos
- Analise a lista de verificação de otimização de custos do Azure Well-Architected Framework, que é válida para todas as cargas de trabalho.
- Verifique se é possível medir corretamente o consumo por locatário e correlacionar esse valor com seus custos de infraestrutura.
- Evite antipadrões. Antipadrões incluem: falha no controle de custos, controle de custos com precisão desnecessária, medição em tempo real e uso de ferramentas de monitoramento para cobrança.
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 plano de controle e plano de dados em sua solução multilocatário.
- Encontre o equilíbrio ideal para a implantação de atualizações de serviço. Considere os requisitos dos locatários e seus próprios requisitos operacionais.
- Monitore a integridade do sistema em geral, bem como de cada locatário.
- Configure e teste alertas para receber notificações quando locatários específicos tiverem problemas ou excederem os limites de consumo.
- Organize os recursos do Azure para isolamento e escala.
- Evite antipadrões de implantação e configuração. Antipadrões incluem: execução de versões diferentes da solução para cada locatário, codificação de configurações ou lógica específicas do locatário e implantações manuais.
Considerações sobre a eficiência de desempenho
- Analise a lista de verificação de eficiência de desempenho do Azure Well-Architected Framework, que é válida para todas as cargas de trabalho.
- Se você usa uma infraestrutura compartilhada, planeje a mitigação de preocupações com vizinhos barulhentos. Verifique se um locatário não pode reduzir o desempenho do sistema para os outros.
- Defina o modo de escalar a computação, o armazenamento, a rede e outros recursos do Azure para atender às demandas dos locatários.
- Pense nos limites de escala de cada recurso do Azure. Organize os recursos de modo adequado para evitar antipadrões. Por exemplo, não crie a solução para requisitos de escala irrealistas.
Colaboradores
Esse artigo é mantido pela Microsoft. Ele foi originalmente escrito pelos colaboradores a seguir.
Principais autores:
- Arsen Vladimirskiy | Engenheiro principal de clientes
- Bohdan Cherchyk | Engenheiro sênior de clientes
Outro colaborador:
- John Downs | Engenheiro de software principal
Para ver perfis não públicos do LinkedIn, entre no LinkedIn.
Próximas etapas
- Analise as Considerações de arquitetura para uma solução multilocatário.
- Analise as Abordagens de arquitetura para uma solução multilocatário.
- Analise as Diretrizes específicas do serviço para uma solução multilocatário.
- Analise os Recursos para arquitetos e desenvolvedores de soluções multilocatário.