Migração

Hospedar o Nominatim por conta própria vs usar um host compatível (drop-in) hospedado

Hospedar o Nominatim por conta própria é um caminho legítimo e bem documentado, e muitas organizações fazem isso com sucesso, principalmente as que têm motivos fortes para manter a infraestrutura de geocodificação inteiramente dentro da própria rede. Mas a troca é real e vale a pena ser dita com clareza, em vez de ser minimizada: você assume o download e a importação de um extrato de dados do OpenStreetMap, o provisionamento de espaço em disco e memória suficientes para atender às consultas com velocidade aceitável, a atualização razoavelmente frequente desses dados conforme o próprio OpenStreetMap é atualizado e a operação do servidor com as garantias de disponibilidade de que a sua aplicação precisar.

Nada disso é difícil no sentido de ser obscuro ou não documentado. É difícil no sentido de ser contínuo. Uma instância do Nominatim hospedada por conta própria que funcionava bem no dia do lançamento pode perder relevância um ano depois se ninguém tiver agendado o processo de atualização, e diagnosticar por que um endereço específico deixou de ser encontrado corretamente exige entender tanto o software Nominatim quanto as convenções dos dados do OpenStreetMap.

Um substituto hospedado compatível (drop-in) elimina totalmente essa camada operacional, ao custo de fazer o seu tráfego de geocodificação passar pela infraestrutura de terceiros, e não pela sua, que é a decisão real em jogo aqui, e não uma questão de uma opção ser simplesmente melhor.

O host de compatibilidade com Nominatim da My Geocode reproduz exatamente a estrutura de resposta que uma instância do Nominatim pública ou hospedada por conta própria retorna, display_name, lat e lon como strings e um objeto de endereço que usa a própria nomenclatura de campos do OpenStreetMap, como suburb e postcode, com apenas os textos de direitos autorais, termos e privacidade diferentes. Os detalhes de referência estão em /compatibility/nominatim/. Um código escrito para uma instância hospedada por conta própria deve precisar apenas de uma mudança de host e de autenticação, já que a estrutura de campos se mantém.

Algumas perguntas que vale a pena responder com honestidade antes de escolher qualquer um dos caminhos:

  • A sua organização tem algum motivo específico de conformidade ou de residência de dados que a hospedagem própria atende e um serviço hospedado não atenderia
  • Quanto tempo de engenharia é gasto hoje mantendo a instância hospedada por conta própria, e quanto valeria esse tempo se fosse usado em outra coisa
  • O seu volume de tráfego é alto e estável o suficiente para que os custos de infraestrutura já se justifiquem, ou ele oscila de um jeito que um custo previsível por requisição ou por assinatura resolve de forma mais simples

Se a resposta apontar para deixar a infraestrutura própria, a autenticação no lado hospedado usa uma chave enviada como X-API-Key, Authorization: Bearer, autenticação HTTP Basic ou parâmetro de consulta, substituindo a política de uso baseada em User-Agent que uma instância pública do Nominatim exige. Os preços incluem 2.500 requisições gratuitas por dia sem chave, mais 2.500 gratuitas por chave por dia, contadas por rede, e depois crédito pré-pago a € 0,0001 por requisição ou uma chave Unlimited a € 50 por mês, a mesma tarifa de todos os outros endpoints da plataforma. Para muitas equipes, colocar na ponta do lápis os custos de servidor, o tempo de manutenção da engenharia e o volume de requisições diante desses preços é a forma mais rápida de resolver a questão, qualquer que seja a resposta.