O problema das chaves de API que nunca expiram
Uma chave emitida anos atrás, nunca trocada e ainda válida hoje não é uma conveniência. É um risco que ninguém examina de verdade há anos.
Um painel de uso deveria responder a uma pergunta simples a qualquer momento: qual é a minha situação agora? Muitos painéis respondem, em vez disso, a uma pergunta um pouco diferente: qual era a sua situação na última vez que o nosso sistema de faturamento reconciliou o uso, o que pode ter sido há uma hora, pode ter sido hoje de manhã e, durante um pico de tráfego, é exatamente a defasagem que transforma uma situação administrável em uma cobrança excedente surpreendente ou em uma cota gratuita esgotada inesperadamente.
Achamos que o painel é o lugar errado para colocar essa informação como única fonte da verdade, não porque painéis sejam ruins, mas porque um painel está, por natureza, um passo distante da requisição que realmente importa. A resposta a essa requisição específica é o único lugar com garantia de refletir a sua situação exata naquele momento exato, porque ela é gerada ao mesmo tempo em que a própria requisição está sendo contabilizada. É por isso que toda resposta da My Geocode traz cabeçalhos de cota diretamente: o seu limite, quanto você usou, a sua cota gratuita restante, o uso da sua rede, o crédito pré-pago restante e quando a cota é renovada. Você não precisa abrir outra aba e torcer para que ela esteja atualizada.
Isso importa mais justamente nas situações em que um painel defasado falha mais feio: um pico repentino de tráfego, um job em lote que consome rapidamente uma grande parte da cota ou um dia de lançamento em que o uso não se parece em nada com um dia normal. Um painel com atraso vai continuar mostrando um número confortável muito depois do ponto em que o número real já se tornou urgente. Os cabeçalhos da resposta que você acabou de receber não podem se atrasar da mesma forma, porque não são um sistema de relatórios separado tentando alcançar a realidade. Eles são gerados como parte da resposta à própria requisição.
Um painel ainda tem valor real como lugar para ver tendências ao longo do tempo, revisar o histórico ou gerenciar detalhes da conta que não mudam a cada requisição. Não estamos defendendo que painéis não deveriam existir. Estamos defendendo que eles não deveriam ser o único lugar, nem o principal, onde um desenvolvedor descobre se está prestes a ficar sem cota ou sem crédito. Essa informação precisa estar disponível no momento em que é possível agir sobre ela, que é o momento da requisição, e não algum tempo depois, quando o ciclo de atualização do painel finalmente a refletir.
O problema mais profundo de um painel defasado é que ele pode criar uma falsa sensação de segurança pior do que não ter visibilidade nenhuma. Um desenvolvedor que confere um painel, vê um número confortável e segue em frente com confiança foi ativamente enganado por uma ferramenta que deveria evitar exatamente esse resultado. Informações em tempo real na própria resposta evitam essa armadilha por completo, porque não existe um sistema separado cuja defasagem precise ser levada em conta antes de confiar no número.