Desempenho e Disponibilidade das APIs
ITEM 2.1
Controle de versão
Versão | Data | Resumo das alterações |
1 | May 27, 2024 | Versão inicial |
Introdução e Objetivos
Esta métrica visa monitorar e assegurar que as APIs das instituições participantes do Open Finance estejam aderentes aos padrões de desempenho e disponibilidade estabelecidos. A Estrutura Responsável pela Governança do Open Finance monitora essas questões para garantir a integridade, eficiência e eficácia do ecossistema do Open Finance.
Sobre a Métrica
A métrica se baseia em dois aspectos principais para determinar a conformidade das APIs das instituições participantes: a disponibilidade das APIs e o tempo de resposta das APIs.
Disponibilidade das APIs
Disponibilidade Diária: Monitoramento diário da disponibilidade das APIs, calculada como a fração do total de requisições válidas processadas com sucesso a cada intervalo de 1 minuto.
Disponibilidade Longa: Média móvel das disponibilidades dos últimos 90 dias corridos, considerando apenas os dias em que a disponibilidade diária pode ser calculada.
Tempo de Resposta das APIs
Desempenho: Medição do tempo de resposta de cada requisição, desde o recebimento da requisição pelo gateway até o envio do último byte da resposta. O valor do percentil 95 (P95) do tempo de resposta é utilizado para minimizar o impacto de valores extremos (outliers).
Critérios de Conformidade:
Disponibilidade das APIs
Disponibilidade diária mínima de 95%.
Disponibilidade longa (média móvel de 90 dias) mínima de 99.5%.
Tempo de Resposta das APIs
Percentil 95 do tempo de resposta:
1.500ms para endpoints de alta e média-alta frequências.
2.000ms para endpoints de média frequência.
4.000ms para endpoints de baixa frequência.
Informações Adicionais
As medições devem ser feitas para cada versão major dos endpoints em produção.
As requisições com todos os códigos de retorno possíveis devem ser consideradas, exceto aquelas associadas a limites de tráfego e operacionais.
As medições de tempo de resposta e disponibilidade devem ser realizadas de maneira independente pela instituição provedora da API, além da Plataforma de Coleta de Métricas (PCM).
A Estrutura Responsável pela Governança do Open Finance deve disponibilizar indicadores adicionais para monitoramento e aprimoramento do ecossistema.
APIs de Iniciação de Pagamentos (Pix)
De acordo com o arranjo do Pix, o período de apuração do índice de disponibilidade é mensal. Todos os participantes do Pix devem apurar seu próprio índice de disponibilidade, podendo o BCB solicitar, a qualquer tempo, informações adicionais dos participantes para validação do índice informado, bem como utilizar mecanismos de validação dessa informação por meio de informações disponíveis na infraestrutura operada pelo BCB.
A meta mensal de índice de disponibilidade de cada categoria de participante é a seguinte:
Categoria | Disponibilidade |
---|---|
A | 99,5% |
B | 99,0% |
C | 98,5% |
D | 95,0% |
Metodologia Simplificada
Para fins de monitoramento deste item, o período de apuração será mensal, conforme orientado pelo Manual de Monitoramento do Open Finance Brasil. A avaliação envolverá:
Disponibilidade diária: Monitoramento da disponibilidade diária de todos os dias do mês de referência.
Disponibilidade longa: Cálculo da disponibilidade longa como média móvel dos últimos 90 dias.
Tempo de Resposta: Medição do tempo de resposta de cada requisição e cálculo do percentil 95 (P95) do tempo de resposta.
Interpretação dos Resultados
Os resultados da métrica serão interpretados para verificar se as instituições estão cumprindo os critérios de conformidade para desempenho e disponibilidade das APIs. A análise incluirá:
Disponibilidade das APIs
Disponibilidade Diária
A disponibilidade pontual (t) é calculada como a fração do total de requisições válidas processadas com sucesso a cada intervalo de 1 minuto. Por exemplo, a disponibilidade pontual de um endpoint referente ao minuto 11:34, de um determinado dia, no qual houve um total de requisições válidas com sucesso de 255 e um total de requisições válidas com erro de 4, é calculada da seguinte forma:
A disponibilidade diária é calculada baseada nas informações das disponibilidades pontuais.
Disponibilidade Longa
A disponibilidade longa é calculada diariamente como média móvel das disponibilidades dos últimos 90 dias corridos. Por exemplo, a disponibilidade longa do último dia de março é a média das disponibilidades diárias dos últimos 90 dias.
Tempo de Resposta das APIs
Cálculo do Desempenho
Para fins do cálculo do desempenho, deve-se considerar o valor do percentil 95 (P95) dos tempos de resposta diários.
Exemplo: Se um endpoint recebe 10.555 requisições em um dia (n = 10.555), o índice para o percentil 95 (i95) será 10.027 (i95 = [0.95 * n] = [10.027,25] = 10.027). Ordenando os tempos de resposta em ordem crescente (Rord), o valor do percentil 95 (P95) será o tempo de resposta na posição 10.027 no conjunto ordenado Rord
Service Level Agreement (SLA)
Endpoints de alta e média-alta frequências: P95 do tempo de resposta em no máximo 1.500ms.
Endpoints de média frequência: P95 do tempo de resposta em no máximo 2.000ms.
Endpoints de baixa frequência: P95 do tempo de resposta em no máximo 4.000ms.
Aferição do Desempenho
Um endpoint estará em conformidade se respeitar o SLA do desempenho em pelo menos 90% dos dias do mês de referência, com o valor do P95 dos demais dias não superior ao SLA do desempenho aumentado em 20%.
Exemplo Ilustrativo
Para ilustrar as condições de conformidade e desconformidade, considere os seguintes exemplos:
Conformidade
Em um mês de 30 dias, um endpoint de alta frequência deve apresentar um valor de P95 inferior a 1500ms em pelo menos 90% dos dias (27 dias). Nos demais dias, o valor de P95 pode ser até 20% superior ao SLA (1500ms * 1,2 = 1800ms).
Dia | P95 (ms) | Conformidade |
---|---|---|
1 | 1400 | Sim |
2 | 1450 | Sim |
3 | 1600 | Sim |
… | … | … |
27 | 1500 | Sim |
28 | 1750 | Sim |
29 | 1780 | Sim |
30 | 1790 | Sim |
Neste exemplo, o endpoint está em conformidade para fins do processo de monitoramento naquele mês, pois em 27 dias o P95 foi inferior a 1500ms e, nos demais dias, o P95 não ultrapassou 1800ms.
Desconformidade
Em um mês de 31 dias, um endpoint de alta frequência deve apresentar um valor de P95 inferior a 1500ms em pelo menos 90% dos dias (28 dias). Nos demais dias, o valor de P95 pode ser até 20% superior ao SLA (1500ms * 1,2 = 1800ms). Se em qualquer um desses dias o P95 for superior a 1800ms, o endpoint estará em desconformidade.
Dia | P95 (ms) | Conformidade |
---|---|---|
1 | 1400 | Sim |
2 | 1450 | Sim |
3 | 1600 | Sim |
… | … | … |
28 | 1500 | Sim |
29 | 1820 | Não |
30 | 1750 | Sim |
31 | 1790 | Sim |
Neste exemplo, o endpoint não está em conformidade para fins do processo de monitoramento naquele mês, pois em pelo menos um dos dias (dia 29), o P95 foi superior a 1.800ms.
Para maior clareza, veja a representação visual dos exemplos:
Mês | Dias do mês | Dias com P95 < 1500ms | Dias com P95 entre 1500ms e 1800ms | Dias com P95 > 1800ms | Conformidade |
---|---|---|---|---|---|
Março | 30 | 27 | 3 | 0 | Sim |
Abril | 31 | 28 | 2 | 1 | Não |
Aspectos Técnicos
Sob a perspectiva da Plataforma de Coleta de Métricas (PCM), os dados são predominantemente observados do lado do servidor. Na terminologia da PCM, o servidor é a instituição que fornece os dados em resposta a uma solicitação, enquanto o cliente é a instituição que faz a solicitação de dados. A avaliação da métrica é feita com base nos reportes enviados tanto pelo servidor quanto pelos seus respectivos reportadores (clientes). Quando não há reporte do cliente, é considerado o reporte do próprio servidor.
O status UNPAIRED é utilizado para indicar que o cliente ainda não reportou para a PCM. Além disso, são considerados os status codes 408, 5XX (família 500), 2XX (família 200) e 422 para todos os endpoints obrigatórios da instituição participante em análise, desde que o status não seja PAIRED_INCONSISTENT (pareados e inconsistentes).
Registros com os status UNPAIRED e PAIRED_INCONSISTENT são considerados divergentes e devem passar pelo processo de resolução. Esses registros indicam que houve uma discrepância entre os reportes enviados pelo cliente e pelo servidor ou que o reporte do cliente ainda não foi recebido, respectivamente. A conciliação dessas divergências é essencial para manter a integridade e a precisão dos dados coletados pela PCM.
Dados e Fontes
Para o cálculo da métrica, utiliza-se um conjunto diversificado de dados provenientes de diferentes fontes. A principal fonte informacional é a Plataforma de Coleta de Métricas (PCM), que consolida os dados a partir dos reportes enviados pelas instituições participantes. Além disso, as planilhas auto reportadas pelas instituições são integradas e consolidadas na Plataforma Analítica de Dados (PAD), um repositório centralizado que serve como base para a análise e avaliação da métrica. Essa combinação de dados provenientes da PCM e das planilhas auto reportadas permite uma avaliação precisa da métrica e um monitoramento efetivo do desempenho e disponibilidade das APIs no contexto do Open Finance.
Limitações e Considerações
Atualmente, não há visibilidade ou conhecimento de limitações ou considerações adicionais para esta métrica. A análise será continuamente revisada e aprimorada conforme novos dados e informações se tornem disponíveis.