Estados de integridade, métricas e limites
Uma parte crucial da modelagem de integridade é quantificar estados íntegros, degradados e não íntegros do aplicativo no contexto dos principais requisitos comerciais. O modelo de semáforo é uma forma comum de representar estados de integridade.
- Verde: estado íntegro. Os principais requisitos não funcionais foram totalmente atendidos e os recursos são utilizados de maneira ideal.
- Amarelo: estado degradado. O aplicativo está operacional, mas a experiência do usuário pode ser afetada. A atenção de um administrador é necessária para atenuar esse estado.
- Vermelho: estado não íntegro. O aplicativo não está funcionando ou não apresenta o desempenho o esperado. Os estados não íntegros afetam os usuários.
No modelo de integridade em camadas, comece a definir estados com fluxos de usuário no topo e vá descendo para os recursos da plataforma. O diagrama a seguir mostra um exemplo de modelo de integridade em camadas. O diagrama demonstra como uma alteração no estado de integridade de um componente fundamental pode ter um impacto em cascata nos fluxos de usuário e na integridade geral do aplicativo:
Cada camada deve usar métricas e limites de métrica para que os componentes representem estados íntegros e não íntegros com base na funcionalidade do aplicativo e nos requisitos não funcionais. Defina os estados de integridade dos componentes com base em características operacionais distintas, estados estáveis e comportamentos esperados em uma carga de trabalho de produção.
Por exemplo, as métricas podem incluir o número de exceções, o tempo de resposta e as métricas de serviço. Os componentes do aplicativo podem ter dependências dos recursos do Azure e até de outros componentes. Você precisa considerar esses estados de integridade.
Aqui estão algumas práticas recomendadas para calcular pontuações de integridade:
- Represente os estados de integridade de um fluxo de usuário agregando pontuações de integridade granulares para componentes que participam do fluxo. Isso deve incluir o componente do aplicativo e todas as dependências mapeadas. Considere os principais requisitos não funcionais como coeficientes.
- Represente a pontuação de integridade de um fluxo de usuário usando a pontuação mais baixa em todos os componentes mapeados. Considere a obtenção relativa em relação aos requisitos não funcionais do fluxo de usuário.
- Verifique se as pontuações de integridade refletem consistentemente a integridade operacional. Caso contrário, ajuste e reimplante o modelo para refletir novas informações.
- Defina limites de pontuação de integridade para refletir o status de integridade de um componente.
O teste de desempenho é fundamental para estabelecer esses estados. A pontuação de integridade granular de componentes individuais são as principais métricas no nível do recurso. A seguinte tabela mostra um exemplo de uso das métricas de recurso para definir estados de integridade:
No próximo exercício, quantificaremos os estados de integridade do aplicativo de exemplo. O exercício ajudará você a entender os valores esperados para uma carga de trabalho de produção padrão.