Обзоры

Облачный хостинг для выделенных серверов

Стремительное развитие и распространение облачных технологий позволило даже небольшим студиям приобретать облачный хостинг для своих выделенных серверов. Больше не нужно надеяться, что игроки с быстрыми подключениями к Интернету разместят серверы на своих компьютерах .

В этой статье мы рассмотрим достоинства и недостатки, а также методы размещения игровых серверов в облаке.

Размещать или не размещать

В начале эпохи онлайн-игр размещение собственных выделенных серверов было непомерно сложной задачей, для решения которой требовалось приобрести и настроить огромное количество компьютерного «железа», организовать сетевую инфраструктуру и принять на работу технический персонал. Любое дело, связанное с использованием аппаратных средств, является весьма рискованным предприятием.

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

Но ужас тех дней закончился. Изобилие предложений, гибкие цены, зависящие от арендуемой вычислительной мощности, предложения от гигантов услуг облачного хостинга, таких как Amazon, Microsoft и Google, — все это позволило игровым компаниям оперативно реагировать на приток или отток игроков. Сторонние службы, такие как Heroku и MongoLabs, еще больше упрощают развертывание, предоставляя услуги по управлению серверами и базами данных.

С исчезновением барьера входа на рынок каждый разработчик может рассмотреть возможность хостинга выделенных серверов независимо от величины компании, в которой он работает. Но, несмотря на отсутствие необходимости заранее выделять средства на приобретение серверов, услуги облачного хостинга имеют свои недостатки, о которых следует знать:

  • Сложность. Содержание флотилии выделенных серверов намного более сложная задача, чем предоставление игрокам возможности самим развертывать игровые серверы. Даже при том, что облачный хостинг предлагает всю необходимую инфраструктуру и программное обеспечение для администрирования, вам все еще придется писать собственный код управления процессом и виртуальной машиной, как описывается ниже в этой главе. Кроме того, вы должны будете взаимодействовать с одним или несколькими поставщиками услуг облачного хостинга и своевременно адаптироваться под изменения в программных интерфейсах. ‰‰
  • Стоимость. Даже при том, что облачный хостинг значительно уменьшает авансовые затраты и затраты на перспективу, он все же не бесплатный. Увеличение интереса со стороны игроков может покрыть увеличившуюся стоимость, но так бывает не всегда.
  • Зависимость от третьих лиц. Размещая свою игру на серверах Amazon или Microsoft, вы перекладываете все заботы об устранении простоев на плечи этих компаний. Несмотря на то что хостинговые компании предлагают подписать соглашение об уровне обслуживания, гарантирующее минимальную продолжительность работы, это едва ли утешит игроков, отдавших свои деньги, если все серверы внезапно станут недоступны. ‰‰
  • Неожиданные изменения в аппаратном окружении. Поставщики услуг хостинга обычно гарантируют предоставление аппаратных средств, соответствующих неким минимальным требованиям. Но это не мешает им менять аппаратуру без предупреждения при условии сохранения соответствия с упомянутыми минимальными требованиями. Если вдруг они включат в работу какую-то необычную аппаратную конфигурацию, которую вы не тестировали, это может вызвать проблемы. ‰‰
  • Потеря причастности игроков. На ранних этапах развития многопользовательских игр управление собственным игровым сервером было предметом гордости. Это давало игрокам возможность стать важной частью сообщества и рекламировать игры, которые они развертывали у себя. Даже сегодня эта культура все еще живет в огромном количестве серверов Minecraft, развернутых по всему миру. Неоспоримые преимущества причастности игроков утрачиваются, когда ответственность за работу серверов перемещается в облако.

Однако, несмотря на существенные недостатки, их перевешивают неоспоримые преимущества:

  • Надежность, масштабируемость, высокая пропускная способность серверов. Исходящая пропускная способность закономерно занимает первое место, и нет никаких гарантий, что продвинутые игроки смогут нарастить мощность своих серверов, если вдруг кто-то еще захочет поиграть в вашу игру. Облачный хостинг и хорошая программа управления сервером помогают регулировать вычислительную мощность сервера по мере необходимости. ‰‰ Предотвращение мошенничества. Если все серверы находятся под вашим контролем, вы сможете гарантировать установку на них неизмененных, законных версий игр. То есть все игроки будут действовать по одинаковым правилам, не зависящим от прихотей администраторов. Это обеспечит не только достоверность ранжирования и рекордов, но и постоянное продвижение игрока в игре, как, например, в «Call of Duty».
  • Ненавязчивая защита от копирования. Зачастую игроки испытывают неприязнь к навязчивой защите от копирования и управлению правами на цифровое содержимое (Digital Rights Management, DRM). Однако в некоторых типах игр без DRM не обойтись, в первую очередь это касается тех игр, которые используют микротранзакции для получения дохода, как, например, «League of Legends». Ограничивая возможность размещения игры только хостингом компании, выделенные серверы фактически обеспечивают ненавязчивую форму DRM. Вам не придется распространять серверные исполняемые файлы среди игроков, что существенно усложнит запуск взломанных серверов, которые незаконно раскрывают цифровое содержимое. Это также позволит проверять учетные данные игроков. 

Как разработчик многопользовательских игр вы, возможно, не лишены права выбора хостинга. Однако, учитывая большой вес мнения инженеров с разносторонними навыками, вы должны понимать все последствия вашего участия в таком выборе.