REL11-BP07 Arquitetar o produto para cumprir as metas de disponibilidade e os acordos de nível de serviço (SLAs) de tempo de atividade
Arquitete o produto para cumprir as metas de disponibilidade e os acordos de nível de serviço (SLAs) de tempo de atividade. Se você publicar ou concordar de forma privada com as metas de disponibilidade ou SLAs de tempo de atividade, verifique se sua arquitetura e seus processos operacionais foram projetados para comportá-los.
Resultado desejado: cada aplicação tem uma meta definida com relação à disponibilidade e SLA para métricas de desempenho, o que pode ser monitorado e mantido para cumprir os resultados empresariais.
Antipadrões comuns:
-
Planejar e implantar workloads sem definir SLAs.
-
As métricas de SLA são definidas como altas sem justificativa ou requisitos empresariais.
-
Definir SLAs sem considerar as dependências e o SLA subjacente.
-
Os designs da aplicação são criados sem considerar o modelo de responsabilidade compartilhada para resiliência.
Benefícios do estabelecimento dessa prática recomendada: projetar aplicações com base nas principais metas de resiliência ajuda a cumprir os objetivos empresariais e atender às expectativas dos clientes. Esses objetivos ajudam a orientar o processo de design da aplicação que avalia diferentes tecnologias e considera as vantagens e desvantagens.
Nível de exposição a riscos quando esta prática recomendada não for estabelecida: Médio
Orientação de implementação
Os designs da aplicação precisam levar em conta um conjunto de requisitos diversos que são derivados dos objetivos empresariais, operacionais e financeiros. Nos requisitos operacionais, as workloads precisam ter metas de métricas de resiliência específicas para que possam ser monitorados e comportados adequadamente. As métricas de resiliência não devem ser definidas nem derivadas depois de implantar a workload. Elas devem ser definidas durante a fase de design e ajudar a orientar as diversas decisões e concessões.
-
Cada workload deve ter seu próprio conjunto de métricas de resiliência. Essas métricas podem ser diferentes de outras aplicações empresariais.
-
Reduzir as dependências pode ter um impacto positivo na disponibilidade. Cada workload deve considerar suas dependências e seus SLAs. Em geral, escolha dependências com metas de disponibilidade iguais ou maiores que as metas da workload.
-
Considere designs com acoplamento fraco para que a workload possa operar corretamente apesar do comprometimento da dependência, quando possível.
-
Reduza as dependências do ambiente de gerenciamento, especialmente durante uma recuperação ou degradação. Avalie os designs estaticamente estáveis com relação às workloads essenciais à missão. Use a economia de recursos para aumentar a disponibilidade dessas dependências em uma workload.
-
A capacidade de observação e a instrumentalização são críticas para cumprir os SLAs reduzindo o tempo médio de detecção (MTTD) e o tempo médio de reparo (MTTR).
-
Falha menos frequente (MTBF mais longo), tempo de detecção de falhas mais curto (MTTD mais curto) e tempo de reparo mais curto (MTTR mais curto) são os três fatores usados para melhorar a disponibilidade em sistemas distribuídos.
-
Estabelecer e cumprir métricas de resiliência para uma workload é fundamental para qualquer design eficaz. Esses designs devem levar em consideração as vantagens e desvantagens da complexidade de design, as dependências do serviço, o desempenho, a escalabilidade e os custos.
Etapas da implementação
-
Analise e documente o design da workload considerando as seguintes questões:
-
Onde são usados ambientes de gerenciamento na workload?
-
Como a workload implementa tolerância a falhas?
-
Quais são os padrões de design para componentes de escalabilidade, escalabilidade automática, redundância e alta disponibilidade?
-
Quais são os requisitos para disponibilidade e consistência de dados?
-
Há considerações quanto à economia de recursos ou estabilidade estática de recursos?
-
Quais são as dependências do serviço?
-
-
Defina métricas de SLA com base na arquitetura da workload enquanto trabalha com as partes interessadas. Considere os SLAs de todas as dependências usadas pela workload.
-
Quando a meta de SLA for definida, otimize a arquitetura para cumprir o SLA.
-
Quando for definido o design que cumprirá o SLA, implemente mudanças operacionais, automação do processo e runbooks que também terão como foco uma redução de MTTD e MTTR.
-
Depois da implantação, monitore e informe sobre o SLA.
Recursos
Práticas recomendadas relacionadas:
Documentos relacionados:
-
Availability with redundancy (Disponibilidade com redundância)
-
Measuring availability (Medição da disponibilidade)
-
AWS Fault Isolation Boundaries (Limites de isolamento de falhas da AWS)
-
AWS Service Level Agreements (SLAs)
(Acordos de Nível de Serviço (SLAs) da AWS) -
Guidance for Cell-based Architecture on AWS
(Orientações para arquitetura baseada em células com a AWS) -
Advanced Multi-AZ Resiliance Patterns whitepaper (Whitepaper de padrões de resiliência Multi-AZ avançados)
Serviços relacionados: