Для кого тайлы?

Сейчас в чатике продолжился спор про расширение мощностей тайл-серверов OSMF в контексте недавнего блокирования сайта про покемоны. Если не слышали, то, во-первых, подписывайтесь на твитер и телеграм, во-вторых, 9 августа очередной сайт с покемонами на карте подключил подложку с osm.org и увеличил нам тайловый трафик на 13%. Серверы упёрлись в производительность дисков, и скачивание тайлов замедлилось у всех. Распределённое кэширование (Tile CDN) не помогло, так как пользователи требовали новых, ещё не отрендеренных тайлов близких масштабов. Сайт заблокировали, а затем из-за махинаций его владельца притормозили выдачу тайлов при отсутствующем заголовке «Referer».
У многих возник вопрос: почему бы не закупить новые диски и новые серверы, чтобы справиться с нагрузкой? Это ж всего 13%, а с апреля трафик увеличился на целых 66%. То есть, до конца года мы с такими темпами роста не доживём. Поставить SSD — один из способов решения: сейчас тайлы хранятся на HDD, а проблема возникла именно из-за скорости отдачи. Это дорого (500$ в месяц, которые предлагает автор покемоносайта, не помогут) и лишь отсрочит затык. Участники рабочей группы OWG сейчас обсуждают другие способы: например, добавить третий тайловый сервер. С прошлогоднего сбора осталось немного денег, которые пойдут и на эту задачу. Также они заметили дублирование метатайлов на двух серверах: Мэтт Эймос посчитал, пересечение оказалось всего 17%, так что едва ли поможет, но всё равно попробуют устранить. Ещё 25-50% ускорения можно получить от перекластеризации базы данных: по сути, физического упорядочивания строк в таблицах.

Но надо ли бежать исправлять? Энди Аллан в рассылке dev@ объяснил, что нынешних ресурсов хватит ещё на много лет, если использовать их по назначению: для мапперов. Именно так: все сервисы, что работают на серверах Фонда OpenStreetMap, предназначены для редакторов карты, включая API и картостиль. Исключение — файлы, хранящиеся на planet.osm.org: они для всех. Главной задачей OSMF является их постоянная доступность под открытой лицензией.
То есть, если вам нужны тайлы, Фонд не обязан их предоставлять и обеспечивать доступность. Если, конечно, вы не разработчик осмерского редактора или сайта osm.org. Да, мы долгое время позволяли использовать наши тайлы всем, за редким исключением приложений для пакетного скачивания. Но даже страница с условиями использования тайлов отмечает: «данные OSM бесплатны и открыты для всех. А тайлы — нет». Рано или поздно админам надоест, что основными пользователями тайлов стали разработчики, которым неохота платить другим компаниям, и они начнут закручивать вентиль. Никакие взносы в 500, 1000 или 5000 долларов в месяц не помогут: мы рады новым корпоративным членам OSMF, но платных услуг не предоставляем.
Последний безлимитный провайдер тайлов на основе OpenStreetMap, MapQuest, прикрыл сервис 11 июля. Все остальные — Mapbox, Stamen, CartoDB, Thunderforest и многие другие — имеют ограничения и ценник. Кто-то готов обсудить enterprise-план, кто-то — настроить рендерер на ваших серверах или в облаке. Стоит это недёшево, но вы же не думали, что к бесплатной открытой карте, созданной добровольцами на энтузиазме, прилагаются бесплатные сервисы и поддержка.
Ну и за одно забанить тех, кто не хочет вешать копирайты на тайлы :)
Пока Илья рассказывает, что нам не нужно больше серверов, я пошёл и написал в operations@, что готов принести им тот dedicated, который скажут.
Учитывая, что админы рулят всем через chef, а таких серверов уже есть два (и до четырёх можно отмасштабироваться простым их размножением, и только потом понадобится и правда что-то переписывать), то пока что можно просто поднять ещё один софтовый клон. Должно быть as simple as раскатать конфигурацию на машину, и покрыть проблемы, принесённые покемонами, с запасом.
А если пойдёт хорошо, можно будет добавлять ещё таких машин.
Да зачем же вы тогда вообще нужны?
Делать карту для того, чтобы просто делать? А потом ныть о том, что все у вас тайлы качают и втихую (!) банить.
Да ну вас нафиг — уйду на яндекс. Причем лучше это сразу сделаю, чтобы потом меньше проблем было.
Вообще-то не втихую, мы несколько раз сначала написали автору сайта, но он только «ахаха, у вас бесплатные тайлы, меня не волнует». Приятного картирования в яндексе, у них в эту субботу интересная картовстреча, рекомендую.
Скатертью дорожка если для вас цветные картинки и геоданные одно и тоже.
«Скатертью дорожка если для вас цветные картинки и геоданные одно и тоже.»
Понятия не имею о чем вы. Какие картинки, какие геоданные?
И конечно же уйду, не переживайте.
Кроме того не надо забывать, что «родные» тайлы имеют ряд проблем в повседневном использовании именно из-за ориентированности на картирование.
Множество высококонтрастных POI с подписями, подземные пути метро, границы районов на больших зумах.. это всё критично при проверке отрисовки, но рядовому пользователю карт больше мешает, чем помогает.
Используя osm-tiles вы получаете плохую карту, нагружая при этом инфраструктуру (в первую очередь людей), ориентированную на работу с данными.
Если вам нужна карта — не используйте тайлы OSM, используйте тайлы основанные на OSM.
В конце-концов Яндекс тоже ставит ограничения на бесплатные карты. Вполне на уровне бесплатного «Спутника».
Раскажите, а в чем профит? Мне правда интересно.
gryphon,
«Да ну вас нафиг — уйду на яндекс.
Раскажите, а в чем профит? Мне правда интересно.»
Профит в отсутствии неожиданностей из-за неожиданных банов. Например — масса приложений использует библиотеку осмдроид для андроида. Ее на днях молча забанили. Новостей об этом нет. Пришлось долго выяснять в чем причина. Хорошо, на одном форуме подсказали добрые люди.
Тут сейчас открытым текстом пишут — пользователи нам не нужны, мы делаем карту ради того, чтобы просто делать. Соответственно, все ресурсы только разработчиков. Валите куда-нибудь. Пока, конечно, работает, но ничего не обещаем. Ну и зачем мне ждать, лучше сразу уйти.
А у яндекса хотя бы новости есть где почитать, да и политика достаточно четко описана.
Ну а про какие-то там нюансы отображения... Да конечным пользователям вообще наплевать на это, если честно.
Osmdroid не банили, только приложения, авторы которых не прочитали первый пункт важных замечаний: https://github.com/osmdroid/osmdroid/wiki/Important-notes-on-using-osmdroid-in-your-app
Представьте, но у osm так и есть, но вы конечно её не читали.
Поэтому не молча забанили osmodroid’ы, а очень долго терпели нарушения.
freeExec,
«Представьте, но у osm так и есть, но вы конечно её не читали.»
Наверное не читал. Ткните пальцем, пожалуйста, в описание ограничений использования. На русском, конечно же. И логический путь, как это все найти, зайдя с главной страницы.
На главной я нашел только вот это https://www.openstreetmap.org/about:
«OpenStreetMap являются открытыми данными: вы можете использовать их для любых целей до тех пор, пока вы указываете авторские права OpenStreetMap и его участников.»
«Поэтому не молча забанили osmodroid’ы, а очень долго терпели нарушения.»
Ну хорошо, вы долго терпели и мучались, но когда забанили — новостишку-то какую-никакую на главном сайте сделать можно? Это ж не сайтик с парой пользователей забанить.
Илья Зверев,
«Osmdroid не банили, только приложения, авторы которых не прочитали первый пункт важных замечаний: https://github.com/osmdroid/osmdroid/wiki/Important-notes-on-using-osmdroid-in-your-app»
Да еще бы догадаться где-то это прочитать.
Суть-то не в том. Суть в том, что оно работало, потом ВНЕЗАПНО перестало без каких-либо объявления об этом. Самый натуральный бан. Причем молча.
И кстати, вы отчего-то путаетесь в показаниях — один соглашается, что забанили, потому что долго терпели, второй говорит, что вообще не банили. Договоритесь хоть, что ли.
Вобщем, вам нужно быть более открытыми и уменьшить количество источаемого снобизма, который весьма сильно ощущается. Чем-то напоминаете советских местечковых чиновников.
Пожалуй, больше не буду спорить с вами.
Чего тыкать, в статье же указано. Вы и её не прочли похоже :)
Все правильно, открытыми данными является planet.osm.org, а не всё что на их основе сделано. На тайлы даже лицензия другая, нежели на данные.
freeExec,
да-да, спорить с вами бесполезно, отвечаете на отдельные фразы, только те, что вам удобны.
Но я удержусь, не буду больше обсуждать.
На странице https://www.openstreetmap.org/copyright есть ссылки API usage policy/Tile usage policy. Приложения и сайты, которые злоупотребляли этими условиями, банились и раньше, ничего нового, по сути, не произошло. Единственное отличие, что покемоновский сайт оказался исключительно популярным благодаря последней моде.
Но в одном я с Георгием согласен: если есть серьезные ограничения на использование сервиса, то на главной, рядом с кнопочкой Copyright, логично смотрелась бы большая и яркая кнопка Terms of use
Бесплатных тайлсерверов не бывает, какое откровение...
«Да ну вас нафиг — уйду на яндекс.»
Представьте себе, но яндекс тоже банит за использование тайлов.
S — self-righteousness
ОСМ никому ничего, конечно, не обязан. ОСМ никому ничего не обещал. Можно продолжить список и дальше.
Это прямо один в один подход любительских локальных сетей. Я был в одной такой — это был потреб.кооператив, в микрорайоне за 8 лет работы с 1997 по 2005 она набрала ~1000 членов. Но чем дальше, тем дела шли хуже, потому что в каждой подобной ситуации ответ был «мы ничего не обязаны». Интереса лезть из кожи вон, как это делают коммерсанты, у руководства сети не было. К 2007 мы по-прежнему платили 1,8 рубля за мегабайт трафика, платили в Сбербанке и вводили данные платёжки в сделанную на коленке формочку. Той же весной соседняя сеть, которая была любительской, но коммерциализировалась, предложила безлимитные тарифы. Выбор был очевиден.
Этот же подход убьёт ОСМ.
Одно дело помогать словом и делом, другое — тратить десятки тысяч долларов ежегодно на инфраструктуру, потому что пользователи не хотят платить ни копейки. OSM обязан публиковать данные под открытой лицензией, потому что обещал. Он уже экономит всем пользователям миллионы долларов, предоставляя картооснову, за которую раньше приходилось выкладывать немалые деньги.
«Представьте себе, но яндекс тоже банит за использование тайлов.»
А с чего вы взяли, что нужны только тайлы? Нужно карту показать, а уж тайлы-шмайлы — дело десятое.
«есть ссылки API usage policy/Tile usage policy»
Попробовал осилить с онлайн-переводчиком — тяжело, нюансы не уловить. Сайт на русском, а эта фигня на тарабарском. Давайте, баньте.
Заметку не читай
@
Отвечай
http://wiki.openstreetmap.org/wiki/RU:Tile_usage_policy — перевод на русский
Также, карта состоит из тайлов. Чтобы показать карту, нужно выкачать несколько десятков тайлов, т. е. растровых картинок.
Илья,
«потому что пользователи не хотят платить ни копейки.»
Никто не говорит, что надо бы скинуться — вот денег и нет.
Десятки тысяч долларов для проекта масштаба OSM не должны быть проблемой.
Вместо этого на любое упоминание «давайте мы вам денег дадим, чтобы вы от нас не падали» OSMF, включая Илью этим постом, шлёт предлагающих в мапбокс.
А потом ноют, что у мапбокса-де всё есть, а у нас денег на сервера не хватает.
«У нас два миллиона хитов в день, вот вам два рубля, дайте бесплатные тайлы»
«А с чего вы взяли, что нужны только тайлы? Нужно карту показать, а уж тайлы-шмайлы — дело десятое.»
Непонятно, что вы хотели сказать. Тайлы — это и есть «кусочки» карты в виде изображений.
P.S. В целом, согласен с Ильёй. Почему donation в OSM должны идти на оплату работы сайта с покемонами? Это неправильно.
Аж волну воспоминаний пробудило, написал про нашу локальную сеть и как она умерла.
https://www.openstreetmap.org/user/siberiano/diary/39304
Не спорю, но экономят одни, а тайлы нужны другим. Я пользуюсь ОСМ для геоданных и расчётов. А тайлы использует сайт. И пользователи приходят от сайтов, а не от меня. Если перекрыть этот вход, то поток контрибьюторов и корпоративных вложений будет сокращаться.
Так или иначе, вопрос главный — зачем кому-то пользоваться ОСМ.
Могу сказать, что чистый ОСМ для работы с ГИС не пригоден, и я им пользуюсь из-за 3 вещей.
1) подложка в нужном стиле — тут коммерсанты могут скоро что-то хорошее предложить
2) контуры кварталов — вот тут действительно пока не видно, но Мапбокс может взять и роботом замапить все дороги. Мне выйдет дёшево взять граф для одного города, и цены тут только будут снижаться, как и преимущество ОСМ.
3) маршрутизация — её предложение растёт, и ОСМ уже не имеет всего того, что нужно.
4) адреса — у ОСМ их нет кроме Севера Европы, но там и так в избытке открытых данных.
Это про меня, экономящего большие деньги при помощи ОСМ.
Что касается фирм, которым нужна карта на сайт — если завтра Here предоставит дешёвые тайлы или Убер своё нарисует роботом и выложит, то у пользователя будет выбор:
1) брать планету и настраивать геосервер
2) заплатить $500
Причин идти к ОСМ не будет.
Всё, что ты описал, это не OSM. Если он так плох, то зачем все к нам бегут?
так владелец сайта оказался адекватный человек, выслушал предложения, поблагодарил за них и принес извинения.
waryas commented a day ago
Thanks, I’ll hit you guys up over twitter if I get issues. Thanks for the great work and still sorry for the stress on your tile servers.
А со стороны OSM какие выводы вынесли из данной ситуации?
Что-то в ToDo появилось?
Прочитай первую половину заметки ещё раз.
Хм, тут почему-то не ответить нормально — цитирования нет, реплэй на конкретный коммент не сделать. Только у Ильи как-то получается. Наверное потому, что админ.
А можно узнать — и весь ОСМ так же на коленке сделан? :-)
Извини, ты передёргиваешь. Я не жалуюсь и не выдумываю. Я работаю с данными и своими руками зарабатываю. И я тебе даю расклад, где что есть, а не «как он плох».
Заявление о том, что ОСМ для маперов звучит аналогично тому, если бы Википедия заявила, что она существует только для создателей и редакторов статей.
Если отдача тайлов это так дорого, может одним из решений мог бы быть адекватный рендерер с кэшированием на стороне клиента?
Кстати, на счёт тайлов, каков трафик сейчас в MiB/s и IOPS если это не секрет?
Может, нужно сделать какой-то «распределённый» сервис раздачи тайлов? По типу торрентов.
И, кстати, насчёт пакетного скачивания: программы SAS Планета и Mobac кэшируют скачиваемые тайлы, поэтому проблема с ними возникает не всегда, а только при первом скачивании или если юзер захотел пересоздать кэш.
Проблема не в рендере, а в постоянном извлечение свежих данных. Думаешь почему Я.К обновляет свои карты раз в месяц, хотя их рисуют каждый день.
При чём тут кеш, когда проблема в лавине новых
пользователей у которых кеша нет.