Под катом приблизительная оценка запуска и обслуживания вики в облаке.
Вариантов развернуть вики существуют множества, начиная от специлизированных сервисов а-ля
Wikia, хостингов, выделенных серверов и заканчивая облаками.
У каждого есть свой уровень затрат, плюсы и минусы.
Сразу скажу что в качестве движока рассматривается MediaWiki.
Почему именно он, а не тысячи других, тема отдельного поста.
Вариант
+
-
площадки (Wikia)
- условно-бесплатно (реклама)
- не требует технических навыков (установка, поддержка)
- иногда полезные и уникальные расширения
- интеграции с социльщиной из коробки
- подходит для маленьких/средних вики
- сайт и контент не ваш (в лучшем случае creative commons)
- с ростом трафика и контентной базы появятся спец. предложения и запросы на большее число денег
- настройки приложения (производительность, разграничение прав, доступ к файлам) ограничено или отсутствует
- нет специфичным настройкам и инструментам (например: оптическое распознавание текста - tesseract, Lua для шаблонов, поддержка математических формул и т.д.)
- если вики содержит "горячие" материалы (WikiLeaks, например) - закроют без разбирательства
обычный хостинг
- полный контроль над приложением и контентом
- подходит для небольших групп/вики
- требует хоть небольшого технического навыка (установка, настройка, расширение, поддержка)
- хостер не даст настроить сам сервер (память, ресурсы, проч)
- при увеличении трафика предложат выделенный сервер или VPS
выделенный сервер/VPS
- полный контроль над приложением, контентом и сервером
- подходит для средних групп/вики
- требует технических навыков (приложение и сервер)
- счет за месяц начинается от $30 и выше + платный трафик
- требует эпизодического администрирования
- дорого для маленьких вики
облако
- полный контроль
- динамеческое управление мощностями
- подходит почти для всех вики (маленькие-большие)
- требует администрирования
- подходит почти для всех вики
- может быть супер дорого для вики уровня Wikipedia
Из всех перечисленных вариантов только облачное решение обладает гибкостью и мощью, необходимой для нестандартных проектов.
Сейчас облачные провайдеры - тренд, но основные это Amazon AWS, Microsoft Azure, Google compute engine.
При этом на данный момент google совсем еще сырой.
у Amazon и Azure цены и возможности примерно одинаковые.
Калькулятор для расчета есть только у Amazon.
Еще амазон предлагает попробовать свои сервисы бесплатно в течении года.
Минимальная конфигурация для запуска вики требует виртуальную машину (в понятии амазона - процессор и память), хранилище и база данных.
Как я уже написал, первый год такой веб-сервер можно использовать нахаляву, но после этого цена будет $35 в месяц.
Ссылка на калькулятор для
минимальной конфигурации.
Насколько её хватит? Небольшая/средняя вики с должна покрыть 5-15 одновременных пользователей с 3/4 чтением (минута).
Оговорюсь - цифры взяты на основании моего опыта работы и настройки MediaWiki. Я включаю сюда настройку самого приложения (ParserCache, memcached, одноразовая генерация messages, resource loader + gzip/кэширование статики) и сервера (nginx,php-fpm). Базу данных особо тюнить не придется, впрочем оптимизация контента может потребоваться (более-менее ровный размер контента).
Гораздо веселее со всякими экстеншенами, например SemanticMediawiki - тут могут потребоваться некоторые телодвижения.
Ок. Сколько будет система для вики, подобной lurkmore.to?
Я пользуюсь существующей статистикой на момент написания,
счетчик.
Оттуда 250 тыщ человек/сутки, что примерно равно 3 пользователям в секунду (~34-150 живых запросов в зависимости от скина и закэшированной статики у клиента). Естественно, что в рабочие часы и по вечерам наплывы максимальны и могут доходить до тысяч юзеров онлайн (
часы)
Какая система нужна, чтобы обслужить такой поток в облаке?
Нужен балансировщик, 3 веб сервера, 2 поисковых сервера, 2 базы (мастер-слейв) и 1-2 сервер для хранения сессий.
Посчитаем трафик (
pdf отчет), среднее число просмотров 40млн в месяц, что примерно 8Tb/месяц только на загрузку. Я добавил еще 6TB на аплоад/резерв.
И это при условии, что все 250К зайдут с чистым кэшем каждый день.
Итого выходит почти $400 в месяц (
калькулятор). В реалиях счет за трафик будет ниже даже без доп. настройки. А с наличием грамотной доставки контента (CDN), роутинга, проксировании и политики кэширования трафик и счет можно уменьшить в разы.
В обоих случаях подсчет был по факту потребления, если проект работает стабильно и его нагрузка известна, то гораздо выгоднее резервирование серверов на один или три года. При таком подходе цена почти в половину меньше $200,
ссылка.
А если заложить масштабирование, в зависимости от времени суток/наплыва посетителей, то цена в месяц будет еще меньше.
Плюс цена колеблется в зависимости от датацентра, но это уже детали.
Существенно накрутить счет могут различные анти-хакерские сервисы. Тот же qrator.net спрашивает $650 в месяц за анализ трафика и блокировки DDOS атак.
Update!
Еще один вид затрат, который я не включил в расчет это поддержка домена.
У амазона это $0.50 за месяц + $0.50 в месяц за запросы к домену (до биллиона).
В случае сайтов с несколькими доменными зонами нужно добавить от $2 до $20 долларов в месяц к счету.