SLA (Service Level Agreement) é um acordo entre um provedor de serviços e um cliente que define os níveis de desempenho e disponibilidade esperados para um serviço. No contexto de APIs, um SLA pode definir, por exemplo, o tempo de resposta máximo esperado para uma solicitação ou a disponibilidade mínima esperada do serviço.
SLO (Service Level Objective) é um objetivo de desempenho ou disponibilidade para um serviço. Um SLO é normalmente definido com base em um SLA, mas pode ser mais rigoroso ou flexível. No contexto de APIs, um SLO pode definir, por exemplo, o tempo de resposta máximo esperado para 95% das solicitações ou a disponibilidade mínima esperada de 99,9% do tempo.
EB (Error Budget) é um orçamento de erros que pode ser usado para calcular o risco de um SLO não ser atendido. O EB é calculado subtraindo o SLO do SLA. No contexto de APIs, um EB pode ser usado para calcular o risco de um SLA de tempo de resposta de 2 segundos não ser atendido, por exemplo, se o SLO for de 2 segundos e o EB for de 1 segundo.
SLI (Service Level Indicator) é um indicador de desempenho ou disponibilidade que é usado para medir o desempenho ou a disponibilidade de um serviço. No contexto de APIs, um SLI pode ser, por exemplo, o tempo de resposta médio ou o número de erros por minuto.
Conceitos | Valor |
---|---|
SLA | Tempo de resposta máximo: 2 segundos |
SLO | Tempo de resposta máximo: 1 segundo |
EB | 0,5 segundos |
SLI | Tempo de resposta médio: 500 milissegundos |
SLI | Número de erros por minuto: 0,1 |
Explicação
- O SLA define os níveis de desempenho e disponibilidade esperados para a API.
- O SLO define um objetivo de desempenho mais rigoroso que o SLA.
- O EB é um orçamento de erros que pode ser usado para calcular o risco de um SLO não ser atendido.
- Os SLIs são indicadores de desempenho que são usados para medir o desempenho da API.
Métrica | SLA | SLI | SLO | Observações |
---|---|---|---|---|
Disponibilidade | 99,9% | Porcentagem de tempo em que o site está disponível | 99,95% | O site deve estar disponível 99,9% do tempo, o que significa que ele estará fora do ar por no máximo 0,1% do tempo. |
Desempenho | Tempo de carregamento da página inicial menor que 3 segundos | Tempo médio de carregamento da página inicial | Tempo médio de carregamento da página inicial menor que 2 segundos | A página inicial deve carregar em no máximo 3 segundos. |
Tempo de resposta | Resposta a consultas em menos de 1 segundo | Tempo médio de resposta a consultas | Tempo médio de resposta a consultas menor que 0,5 segundos | As consultas devem ser respondidas em no máximo 1 segundo. |
Os quatro sinais dourados (four golden signals) são um conjunto de métricas que são usadas para monitorar a saúde de um sistema. Eles são:
- Latência: O tempo que leva para um sistema responder a uma solicitação.
- Tráfego: O número de solicitações que um sistema recebe.
- Saturação: O uso de recursos por um sistema.
- Erros: O número de solicitações que falham.
Método USE
- Utilização (Utilization): A porcentagem de recursos do sistema que estão sendo usados.
- Saturação (Saturation): A porcentagem de solicitações que estão sendo rejeitadas ou demorando mais do que o esperado para serem atendidas.
- Erros (Errors): O número de solicitações que falharam.
Método RED
- Taxa (Rate): O número de solicitações recebidas pelo sistema por unidade de tempo.
- Erros (Errors): O número de solicitações que falharam.
- Duração (Duration): O tempo médio que leva para o sistema atender a uma solicitação.
MTTD (Mean Time To Detect) é o tempo médio que leva para detectar uma falha. É uma métrica importante para a segurança, pois indica o tempo que leva para um invasor ou outra ameaça ser detectado.
MTTR (Mean Time To Repair) é o tempo médio que leva para reparar uma falha. É uma métrica importante para a disponibilidade, pois indica o tempo que leva para um sistema ou serviço voltar a funcionar após uma falha.
MTRS (Mean Time To Response): O MTRS é o tempo médio que leva para uma organização responder a um incidente de segurança após ele ser detectado. Essa métrica é essencial para avaliar a eficácia das equipes de resposta a incidentes de segurança.
Métrica | Descrição | Fórmula |
---|---|---|
MTTD | Tempo médio que leva para detectar uma falha | MTTD = Tempo total de falha / Número de falhas |
MTTR | Tempo médio que leva para reparar uma falha | MTTR = Tempo total de reparo / Número de falhas |
MTRS | Tempo médio que leva para resposta de um incidente | MTRS = Tempo total de resposta a incidentes / Número de incidentes |
|
Exemplos
- MTTD: Considere um sistema que falha a cada 100 horas. O MTTD para esse sistema seria de 100 horas. Isso significa que, em média, leva 100 horas para detectar uma falha após a ocorrência.
- MTTR: Se o sistema mencionado anteriormente leva 5 horas para ser reparado após uma falha, o MTTR seria de 5 horas.
- MTRS: Suponha que uma organização tenha experimentado 10 incidentes de segurança em um determinado período de tempo. O tempo total gasto em resposta a esses incidentes foi de 100 horas. O cálculo do MTRS seria o seguinte:
MTRS = 100 horas / 10 incidentes
TRS = 10 horas por incidente
Portanto, o MTRS dessa organização seria de 10 horas por incidente, o que indica que, em média, leva 10 horas para a organização responder a cada incidente de segurança.
Observações
- O MTTD, o MTTR e o MTRS são métricas críticas para avaliar a segurança e a disponibilidade de sistemas e serviços.
- Reduzir esses tempos é fundamental para minimizar o impacto de incidentes de segurança e melhorar a disponibilidade de sistemas.
- Essas métricas, quando usadas em conjunto, fornecem uma visão completa do ciclo de detecção, reparo e resposta a incidentes de segurança em uma organização.
RCA significa "Root Cause Analysis" (Análise da Causa Raiz) e é uma técnica usada para identificar a causa fundamental de um problema ou incidente. Isso ajuda a entender por que um evento indesejado ocorreu em primeiro lugar, em vez de apenas tratar os sintomas. A RCA é uma parte fundamental do processo de aprendizado organizacional e melhoria contínua.