Estados, métricas e limiares de saúde
Uma parte crucial da modelagem de integridade é quantificar estados íntegros, degradados e não íntegros para o aplicativo no contexto dos principais requisitos de negócios. O modelo semafórico é uma forma comum de representar estados de saúde.
- Verde: Estado saudável. Os principais requisitos não funcionais são totalmente satisfeitos e os recursos são utilizados de forma otimizada.
- 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 mitigar esse estado.
- Vermelho: Estado insalubre. O aplicativo não está funcionando ou funcionando conforme o esperado. Estados não íntegros afetam os usuários.
No modelo de integridade em camadas, comece a definir estados com fluxos de usuários na parte superior e vá para baixo 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ários e na integridade geral do aplicativo:
Cada camada deve usar métricas e limites métricos para componentes para representar estados íntegros e não íntegros com base na funcionalidade do aplicativo e nos requisitos não funcionais. Defina estados de integridade para componentes com base em suas 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 de aplicativo podem ter dependências em recursos do Azure e até mesmo em outros componentes. Você precisa levar em conta esses estados de saúde.
Aqui estão algumas práticas recomendadas para calcular pontuações de saúde:
- Represente os estados de integridade de um fluxo de usuário agregando pontuações granulares de integridade para componentes que participam do fluxo. Ele deve incluir o componente de 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. Fator de realização relativa em relação aos requisitos não funcionais para o fluxo de usuários.
- Certifique-se de que as pontuações de integridade reflitam 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.
Os testes de desempenho são fundamentais para estabelecer esses estados. A pontuação granular de integridade de componentes individuais é a principal métrica de nível de recurso. A tabela a seguir mostra um exemplo de como você pode usar métricas de recursos para definir estados de integridade:
No próximo exercício, quantificamos os estados de saúde para a aplicação de exemplo. O exercício ajuda a entender os valores esperados para uma carga de trabalho de produção padrão.