Моя ХАТА

Муки выбора сисадмина. Какой сервер выбрать: физический или виртуальный?

Наверное, каждый заметный проект или просто каждая крупная организация рано или поздно сталкивается с выбором: купить сервер физический или арендовать виртуальный сервер? Давай попробуем разобраться, что лучше и экономически оправданно. 

Стоимость физического сервера

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

Нужно определиться, что мы считаем сервером. Если просто комп в обычном тауэр-корпусе, который будет пылиться в дальнем углу твоего офиса, — это одно. По сути, можно и на мой ноутбук установить MS SQL Server и сделать его сервером баз данных. Вот только как быстро такая база «упадет» при реальной нагрузке даже в 5–10 пользователей при одновременной работе в 1С?

Если ты себе представляешь сервер именно так — отдельный комп, скажем с 16 Гбайт оперативки и одним терабайтником, — тогда можешь дальше не читать и не тратить свое время. Отправляйся лучше в любой онлайн-магазин покупать свою рабочую станцию — сервером это назвать нельзя.
В моем представлении сервер — это машина с серверным процессором Xeon, регистровой памятью с ECC и аппаратным дисковым массивом. Вот такой «комп» имеет право называться сервером. Корпус при размещении внутри офиса и при отсутствии серверных стоек значения не имеет, но я бы с прицелом на будущее присматривал корпуса в формате 1U/2U — рано или поздно ты придешь к заключению, что сервер лучше хранить в дата-центре.

На рис. 1 изображен сервер HP ProLiant DL180 Gen9:

  • Восьмиядерный Intel Xeon E5-2620 v4 (2,1–3 ГГц)
  • Регистровая (Registered) память с ECC, 16 Гбайт
  • Smart Array P440/2G 12 Гбайт Controller
  • Форм-фактор корпуса 2U
Рис. 1. HP ProLiant DL180 Gen9
Рис. 1. HP ProLiant DL180 Gen9

Вот это и есть в моем понимании сервер. Но такой «аппарат» обойдется примерно в 162 250 рублей по данным Яндекс.Маркета. Встречаются более дешевые варианты этого сервера, но там или нет жесткого диска вообще, или объем памяти составляет 8 Гбайт, а не 16. В конфигурацию за 162 250 рублей входит один модуль RDIMM памяти DDR объемом 16 Гбайт и два жестких диска по 300 Гбайт SAS. Это хороший вариант, как по цене, так и по конфигурации. Такой себе середнячок — есть варианты дороже, есть и дешевле. Можно купить китайский Patriot — он даже с лицензией на MS Server 2012 будет стоить дешевле. Но раз уж ты стал настолько серьезным, что тебе нужен свой физический сервер, тогда лучше на такие варианты не смотреть.

А нужен ли физический сервер?

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

  • Сайт с очень высокой посещаемостью — когда обычный хостинг уже не выдерживает и сайт часто отключают за превышение лимитов процессорного времени и/или трафика.
  • Крупный интернет-проект —раскрученный интернет-магазин, социальная сеть, игровой сервер и подобное.
  • Портал с большим объемом контента — фотобанк вроде depositphotos.com, сайт с солидным количеством музыки или видео.
  • Необходимость совместной/удаленной работы с каким-то приложением, например 1С.

Во всех этих случаях нужен сервер (заметь, какой — я пока не говорю). В остальных (например, когда у тебя относительно небольшой сайт и всего лишь один бухгалтер, на компьютер которого можно установить 1С) он окажется излишней роскошью. Можно купить обычный хостинг для размещения твоего сайта и платить за это сущие копейки — что-то около 240 рублей в месяц за 6 Гбайт дискового пространства. Этого пространства хватит даже для нескольких сайтов. Если ты думал под эти нужды приобрести собственный сервер, подумай еще раз: суммы, затраченной только на железо, хватит больше чем на 676 месяцев (56 лет!) аренды. А при таком долгосрочном размещении тебе еще и сделают существенную скидку :).

Если же твой проект попадает в одну из перечисленных категорий, сервер тебе точно нужен. Осталось только решить, какой именно, — ведь в большинстве случаев можно обойтись или виртуальным выделенным сервером (VDS), или виртуальным частным сервером (VPS), что значительно дешевле.

VDS или VPS

VPS (Virtual Private Server — виртуальный частный сервер) представляет собой программную виртуализацию и реализуется на уровне ядра операционки. Все машины создаются на базе одного серверного ядра, каждая виртуальная машина (это и есть VPS, который ты возьмешь в аренду) представляет собой сервер с программным окружением, однако без права изменения ядра и самой операционной системы. Наиболее часто используются платформы виртуализации OpenVZ и Virtuozzo.

Преимущество у этого решения одно, и оно весьма существенное, — низкая стоимость. А вот недостатков гораздо больше:

  • Оверселлинг. Ресурсы оперативки и ядра выделяются без привязки к конкретной машине. Например, ты и твой сосед арендуете два VPS-сервера одинаковой конфигурации. Пусть у каждого сервера 2 Гбайт оперативки. Вот только твой сайт потребляет 500–800 Мбайт памяти, а сайт твоего соседа — 3 Гбайт. Получается, что ты платишь за ресурсы, которые реально твоим сайтом не используются.
  • Зависимость от соседей. Из предыдущего пункта следует еще одна проблема. Избыточная нагрузка на одну машину может привести к сбоям в работе соседних VPS. Например, соседский VPS нагрузил процессор, а твой сайт будет из-за этого тормозить. А нагрузить процессор очень легко — достаточно установить какую-нибудь прожорливую CMS вроде Magento, и постоянный перерасход процессорного времени и оперативки тебе гарантирован.
  • Ограниченность настройки. Часть настроек VPS изменить невозможно — корневая файловая система и ядро тебе неподвластны. Конечно, ядро и корневую файловую систему приходится изменять далеко не всегда, и это не то чтобы недостаток, просто особенность использования VPS.

Совсем другое дело — VDS. Это уже аппаратная виртуализация и реализуется средствами гипервизора (VMware, KVM, XEN, Hyper-V). Преимуществ множество:

  • Полный «root» — у каждой машины есть собственное ядро и собственная операционка. По сути, все аналогично полноценному физическому серверу за исключением того, что VDS в физическом смысле не существует. У VDS свой IP-адрес, свои правила маршрутизации, порты, фильтры и прочее.
  • Никакого оверселлинга. Ты получаешь те ресурсы, за которые платишь. Если ты заказал VDS с 2 Гбайт оперативки, можешь быть уверен, что твои 2 Гбайт никто из соседей не использует.
  • Надежность и стабильность, такие же, как на физическом оборудовании, и даже выше. Ведь ты в любой момент можешь одним нажатием клавиши сделать клон виртуальной машины и использовать его для моментального восстановления твоего VDS.

Недостаток только один — стоимость. Она выше, чем у VPS (на варианты с VPS я бы вообще не смотрел, разве что для личного применения или каких-то экспериментов). Однако стоимость аренды VDS в последнее время постоянно уменьшается, поэтому даже сейчас можно арендовать «почти физический» сервер за умеренные деньги.

Сколько стоит VDS?

Теперь настал момент истины. Давай посчитаем, что выгоднее — физический сервер или VDS. Напомню, физический сервер (только железо, без стоимости операционной системы и размещения в дата-центре) обойдется в 162 250 рублей, в комплекте есть два жестких диска по 300 Гбайт, из которых ты будешь использовать только один, а второй послужит зеркалом. Собственно, от размера дискового пространства и будем отталкиваться: чем больше места на диске, тем дороже VDS.

Сколько пространства необходимо для твоего проекта в данный момент? Именно сейчас, а не через год или два — в отличие от физического сервера, где ты покупаешь 300 Гбайт сразу, в случае с VDS ты можешь приобретать ресурсы постепенно, когда они тебе понадобятся.

Если тебе будет достаточно 16 Гбайт, стоимость аренды составит всего 1221 рубль в месяц. Компаний, предоставляющих услуги VDS, довольно много, мы будем ориентироваться на цены компании RackStore. В этом случае год аренды сервера тебе обойдется в 13 186,8 рубля (при оплате за год предоставляется скидка 10%). Другими словами, суммы, равной стоимости твоего физического сервера, хватит на двенадцать лет аренды VDS. За это время твой физический сервер не просто устареет, а будет находиться на стадии полураспада. А цены на VDS постоянно снижаются, дорожать они не будут — конкуренция не позволит.

Для более крупных проектов подойдет другой тариф, в который включен более мощный процессор с 2 Гбайт оперативки, а не 1 Гбайт, а также 32 Гбайт дискового пространства. Правда, стоимость составит 2297 рублей в месяц, или 24 807,6 рубля в год (с учетом 10%-й скидки). Но, несмотря на это, эквивалента стоимости твоего физического сервера хватит на шесть с половиной лет аренды VDS — и заметь: тебе не придется тратить все средства сразу.