Миграция

Собственный Open-Elevation или управляемый эндпоинт

Простота Open-Elevation как проекта с открытым исходным кодом палка о двух концах. С форматом запроса и ответа действительно легко работать: на входе массив координат, на выходе массив значений высоты в метрах. Но самостоятельный запуск означает, что нужно найти набор данных о высотах, загрузить его на сервер с достаточным дисковым пространством и держать этот сервер доступным всякий раз, когда вашему приложению нужен ответ.

Наборы данных о высотах немаленькие. В зависимости от разрешения и географического покрытия, которые нужны проекту, собственные данные о высотах могут занимать значительный объём, а более детальные данные для конкретного региона приходится выбирать в ущерб более широкому, но грубому глобальному покрытию. Это решение вместе с выделением серверов и графиком обновлений реальная постоянная ответственность, которую команда берёт на себя в тот день, когда выбирает самостоятельный хостинг, а не разовые затраты на настройку.

Управляемый эндпоинт снимает эту ответственность в обмен на зависимость от чужой инфраструктуры и чужого выбора набора данных. Определение высоты от My Geocode это полностью рабочий эндпоинт, который возвращает высоту поверхности земли в метрах для заданной координаты на основе наших собственных данных о высотах, а не того, что вы находите и загружаете сами. Документация находится на странице /docs/elevation-lookup/.

Честный способ сравнить эти два пути: смотреть на ваш реальный характер использования, а не на общее предпочтение того или иного подхода:

  • Если запросы высоты редкие, скажем, выполняются только когда пользователь просматривает конкретный маршрут или место, бесплатной дневной квоты управляемого эндпоинта, скорее всего, хватит на всю нагрузку без какой-либо инфраструктуры, которую нужно поддерживать
  • Если запросы высоты выполняются в большом и стабильном объёме как часть ключевой функции продукта, стоит рассчитать реальную стоимость запроса по ценам управляемого эндпоинта и сравнить её с амортизированной стоимостью сервера и хранилища для собственного экземпляра
  • Если вашему сценарию нужны данные о высотах с таким разрешением или для такого региона, под которые специально оптимизирован выбор собственного набора данных, это законная причина продолжать самостоятельный хостинг независимо от сравнения затрат

Для команд, переходящих с собственного экземпляра Open-Elevation на управляемый эндпоинт, схема запросов (на входе координаты, на выходе значения высоты) концептуально остаётся той же, хотя аутентификация меняется на ключ, передаваемый как X-API-Key, Authorization: Bearer, HTTP Basic auth или параметр запроса. Доступно 2 500 бесплатных запросов в день вообще без ключа и ещё 2 500 бесплатных запросов в день на каждый ключ с учётом по сети, а сверх этого предоплаченный баланс по 0,0001 € за запрос или ключ Unlimited за 50 € в месяц, по той же цене, что и все остальные эндпоинты платформы.

Ни один из путей не является универсально правильным. Побочному проекту, которому время от времени нужна высота для нескольких координат в день, вполне хватит одного лишь бесплатного уровня управляемого эндпоинта. Команда с очень специфическими требованиями к разрешению данных для узкой географической области может обнаружить, что самостоятельный хостинг по-прежнему подходит лучше, и это законный итог честного сравнения.