Недавно на форуме человек задал вопрос о том, как же правильно делить выделенный сервер на виртуальные:
И что меня поразило, так это уверенность в том, что никто никогда не поделится подобной информацией:
Потому, я очень хочу рассказать, как мы реализовали решение у себя. Все подводные камни и секреты данного решения. И ещё раз продемонстрировать то, что простота порой делает решения волшебными. Так как мы не получили за всё время работы ни одной жалобы от клиентов этой услуги, а это говорит о многом.
Прежде всего нужно отметить, что покупая виртуальный сервер, Вы действительно зачастую даже не подозреваете какую реальную производительность Вы можете получить и какие скрытые ограничения могут быть. Вы видите только параметры, но совершенно непонятно, чем и как они обеспечиваются, обеспечена ли реальная возможность их потребить или же существуют эффекты бутылочных горлышек, скрытые от покупателя, а порой, даже от самого хостинг-провайдера.
Безусловно, все услуги подобного плана, обладают некоторой степенью oversell'а, которая зависит от архитектуры решения и от жадности / наглости провайдера, а также от его тупости и уровня опыта.
Оба типа виртуализации позволяют oversell, кто бы что ни говорил. И камень преткновения многих провайдеров именно в неэффективном распределении ресурсов процессора и нехватки производительности хранилища, которое, в свою очередь, вносит существенные задержки (latency) во множество процессов выполняющихся на ноде, а не в неправильном выборе системы виртуализации.
KVM предоставляет более изолированные контейнеры и возможность иметь индивидуальную версию kernel / настройки ядра, которые, скорее всего, не будут предлагаться на простых серверах на основе OpenVZ 6. Есть возможность настраивать маршрутизацию трафика с использованием iptables или других сервисов, установить нужные пакеты без запросов к администратору сервера, удалить ненужные из ядра системы. Кроме того, благодая тому, что каждая виртуальная машина KVM выполняет своё ядро, KVM не ограничивает вас в выборе только Linux-подобных ОС (CentOS, Debian, Ubuntu, Fedora, RedHat и т.п.), вы также можете установить и другие Unix-подобные ОС (BSD, Solaris) и даже Windows. KVM не требует особого количества RAM или других ресурсов и может более эффективно изолировать ресурсы, предоставляемые для контейнеров в одном и том же узле, по сравнению с OpenVZ 6.
И хотя KVM виртуализация приводит к несколько большему потреблению ресурсов RAM на стороне пользовательского контейнера, так как RAM для ядра берётся из выделяемой пользователю квоты, для нас это не критично. Так как это имеет значение только тогда, когда объем RAM небольшой, скажем 512 МБ для контейнера. Именно потому мы выбрали KVM, так как она обеспечивает массу преимуществ в нашем варианте, а также отсутствие негативного маркетинга, так как большинство пользователей полагают, что oversell всегда есть на виртуалках с OpenVZ и невозможен на KVM.
Но это не так. Мы всё же оверселлим, но разумно, таким образом, чтоб каждый в любой момент времени мог получить купленный им ресурс.
Когда я разарабатывал продукт «виртуальные серверы с выделенными накопителями», я поставил себе несколько целей:
Как уже писал выше, платформа Dell R730xd позволила воплотить идеи в жизнь, так как обладает множеством преимуществ, описанных нами в статье: Как построить инфраструктуру корп. класса c применением серверов Dell R730xd Е5-2650 v4 стоимостью 9000 евро за копейки?. Уникальность нашего предложения состоит в том, что мы берём стандартные выделенные серверы, то есть bare metal, и даже для разных типов виртуальных серверов применяем одинаковые платформы, то есть обеспечиваем максимальную гомогенность сред. Зачем это нужно — напишем чуть позднее. Но в целом идея в том, чтоб избавиться от необходимости создания гибридных виртуальных серверов с выделенными накопителями, когда пользователю выделяются и HDD и SSD, так как большинству пользователей это не нужно, а тем, что нужно — тоже не нужно. На самом деле куда удобнее арендовать соответствующего типа виртуальный сервер под соответствующую задачу. Если это тяжелая MySQL — SSD, если это хранение файлов не требующих производительного (более 70 случайных IOPS) хранилища — HDD, если это хранение файлов, часть из которых требует производительного хранилища — арендуем оба типа виртуальных серверов и SSD виртуалку выделяем под кеш. Если нам необходима повышенная отказоустойчивость — арендуем одинаковые виртуалки на разных нодах и строим простейший DNS-кластер.
Так как в аренду мы предлагаем выделенные серверы следующих конфигураций в одну цену (от $249 / месяц) в Нидерландах и США:
Dell R730xd 2 x Intel Dodeca-Core Xeon E5-2650v4 / 128GB / 6x480GB SSD / 1Gbps 100TB
Dell R730xd 2 x Intel Dodeca-Core Xeon E5-2650v4 / 128GB / 12x240GB SSD / 1Gbps 100TB
Dell R730xd 2 x Intel Dodeca-Core Xeon E5-2650v4 / 128GB / 12x4TB HDD / 1Gbps 100TB
Решено было создать VPS (KVM) следующих типов:
12 на ноде: VPS (KVM) — E5-2650v4 (6 Cores) / 10GB DDR4 / 240GB SSD / 1Gbps 10TB — $29
6 на ноде: VPS (KVM) — E5-2650v4 (12 Cores) / 20GB DDR4 / 2х240GB RAID1 SSD / 1Gbps 20TB — $49
3 на ноде: VPS (KVM) — E5-2650v4 (24 Cores) / 40GB DDR4 / 4x240GB RAID10 SSD / 1Gbps 40TB — $99
6 на ноде: VPS (KVM) — E5-2650v4 (12 Cores) / 20GB DDR4 / 480GB SSD / 1Gbps 20TB — $49
3 на ноде: VPS (KVM) — E5-2650v4 (24 Cores) / 40GB DDR4 / 2x480GB RAID1 SSD / 1Gbps 40TB — $99
12 на ноде: VPS (KVM) — E5-2650v4 (6 Cores) / 10GB DDR4 / 4TB SATA / 1Gbps 10TB — $29
6 на ноде: VPS (KVM) — E5-2650v4 (12 Cores) / 20GB DDR4 / 2x4TB RAID1 SATA / 1Gbps 20TB — $49
3 на ноде: VPS (KVM) — E5-2650v4 (24 Cores) / 40GB DDR4 / 4x4TB RAID10 SATA / 1Gbps 40TB — $99
Виртуализацию поставить на все накопители в RAID1 и выделить под неё 8 GB RAM, что более, чем достаточно. Как видим, по процессору происходит овербукинг в 1,5 раза в случае, если приложение поддерживает многопоточность и в 3 раза в случаях, если нет, что весьма редкие случаи.
Также наблюдается дополнительный овербукинг по трафику, суммарный трафик на ноду 100 ТБ, а мы продаём всего лишь в 1,2 раза больше, чем есть на самом деле.
В целом же мы гарантируем оба ресурса пользователям, так как одновременно, особенно на нодах где 12 пользователей, вряд ли кто будет потеблять ресурсы по процессору даже на 50%, так как реально очень мало таких проектов. В результате в среднем наши ноды загружены по процессору на 25-30% и каждый пользователь всегда может получить обещанное, а если один клиент заказывает несколько виртуалок — мы стараемся их распределить между нодами, на случай, если клиент захочет потреблять все свои ресурсы на 100%. Ситуация по трафику ещё более радостная. Далеко не каждый выделенный сервер умудряется потребить 5 ТБ трафика в месяц, для этого требуется уже не слабая посещаемость проекта. Давайте рассчитаем сколько примерно должно быть посетителей в месяц, если ресурс не содержит видео стримминга и средний размер страницы равен 768 КБ. 5 ТБ = 5000000/0,768 = 6 510 416,67 млн просмотров в месяц! Или 0,2 млн в день, или 2,5 просмотров в секунду! Много это или мало? Так как соотношение хитов (просмотров) к хостам (уникальным посетителям) редко когда превышает 10 в среднем, только когда это не соц. сеть, в которой люди проводят дни. Таким образом получаем посещаемость порядка 20 000 в день или 600 000 в месяц. Что наблюдается далеко не у каждого пользователя, который арендует подобный VPS со столь большим лимитом трафика, как 10 ТБ минимум. Я помню время, всего-лишь 9 лет назад, когда лимиты трафика у выделенных серверов были меньше, около 5 ТБ. В нашем же случае мы имеем только с 2% нод превышение по трафику отметки 100ТБ, за что мы дополнительно платим дата-центру, когда нет возможности более эффективно распределить пользователей между нодами или нам просто лень тревожить пользователей, ради копеечной экономии.
Что же касается процессора, то мы и наши клиенты, а это тысячи человек, которые пользуются относительно новым продуктом в течении года, ни разу не столкнулись с тем, что кому-то не хватало процессора для реальных задач. Хотя проблемы однажды были, однажды майнер забил ресурсы всей ноды, так как ограничить прерывания майнинга сложно, можно понизить разве что приоритет. Тем не менее — это был единичный случай. Другой же клиент, из Франции, успешно арендовал свыше десятка VPS под майнинг, и его майнинг не нанёс урона нодам и другим пользователям, возможно благодаря тому, что он ограничивал потребление со своей стороны. Но он остался крайне довольным и продолжает покупать новые серверы сегодня. Таким образом мы пришли к выводу, что не будем запрещать майнерам пользоваться нашими услугами, а будем рассматривать подобные проекты индивидуально. Ведь наша цель — максимально снизить стоимость для наших пользователей. А чем больше людей пользуются нашим продуктом — тем проще нам поддерживать невероятно низкий ценовой диапазон, несмотря на более, чем 18% рост курса евро, в сравнении со временем, когда продукт только вводился в эксплуатацию. В крайнем случае мы всегда можем отселить такого майнера на свободную ноду и обеспечить стабильную и эффективную работу для всех.
Это полный бред за редкими исключениями. Лучший маркетинг — довольные клиенты. За последний год работы написано много хвалебных отзывов нашему продукту в нашей рекламной теме на форуме о поисковых системах, причём от людей с репутацией. Мы никогда не просим писать отзывы, потому эти отзывы неподдельные, искренние, а значит ещё более ценные и наши клиенты очень довольны тем качеством, которые они получили и мы работаем не зря.
Хочу прокомментировать некоторые из них:
Нет, ноды подключены каналом в 1 Гбит / с, даже наш конкурент решил это прокомментировать и тут я мог бы частично согласиться с ним:
Правда в том, что клиент располагался на полностью и на 100% заполненной клиентами ноде и по сей день там прекрасно обитает. Канал там 1 Гбит / с на всех и больше не нужен. Так как в случаях, когда кому-то понадобиться также 1 Гбит / с канал — меньше получит другой клиент. То есть, если какому-то другому потребуется прокачать много — он прокачает, просто у других скорость упадёт в половину для максимальной загрузки, минус обычное потребление соседями. На наших нодах легко определить минимальную гарантированную скорость, если все начнут грузить канал на 100%, для нод с тремя пользователями — это 330 Мбит / с каждому в соотвествии с протоколом TCP/IP, если мы конечно используем равный приоритет, для нод с 6 пользователями — это порядка 150 Мбит / с, и для нод с 12 пользователями — это 75 Мбит / с. Но правда в том, что никто не грузит свой канал на 100% одновременно по той причине, что даже 5 ТБ трафика прокачать проблематично, и каждый из пользоваталей имеет до 900 Мбит / с в пике, потому тест очень правдивый, реальный. Недавно нам ещё один клиент доказал это, протестировав пропускную способнсть канала и другие характеристики, результаты можно найти тут. Тест проведен на прошлой неделе.
А что если кому-то понадобится 900 Мбит / с постоянно для какой-то задачи? Конечно же — в этом случае лучше приобретать выделенный сервер, тем более, что Dell R730xd 2 х Intel Dodeca-Core Xeon E5-2650 v4 128GB DDR4 6 x 480GB SSD 1Gbps Unmetered в Нидерландах и США мы предлагаем по цене от $369 / месяц и вот тут уже трафик будет дешевле, так как гигабит позволяет прокачать порядка 300 ТБ трафика в каждом из направлений (суммарно 600 ТБ), что значительно дешевле, нежели оплачивать трафик, используя VPS из расчёта $15 за 10 ТБ (300 ТБ = $450, 600 ТБ = $900). И потому мы с радостью отселим такого одного пользователя VPS, которому постоянно нужен выделенный гигабит, если он не захочет сервер, на личную ноду, так как это в 1,5-3 раза выгоднее для нас. Так что да, мы можем даже на VPS гарантировать канал 1 Гбит / с. Если такой клиент конечно найдётся и решит оплачивать этот гарантированный трафик, несмотря на то, что есть более cost-effective решение.
Ещё комментарий.
Да, действительно, новый продукт вышел замечательным. А возможность установки Windows Trial на 180 дней — многое решает, особенно для людей у которых нет возможности оплачивать огромные счета за лицензии. Дата-центр, как партнёр SPLA — не может это делать, а мы можем. Потому, что мы более не являемся SPLA партнёром Microsoft в результате их неадекватной политики. Потому клиенты наших VPS (KVM) имеют значительную экономию на лицензиях. При этом всё остаётся в рамках закона. Мы просто не продаём лицензии для этого типа услуг, если клиент захочет — он сам сможет купить лицензию в Интернете, либо переустановить VPS и использовать ещё пол года Trial. Ведь Microsoft сам это позволяет, имея недолугую систему лицензирования и ценообразования. Сделали бы нормально всё и по адекватным ценам — все бы покупали, без вопросов, также, как лицензии ISP System, потому, что цены соответствуют качеству продукта.
И ещё комментарий
Не может быть ничего ценнее, чем теста на реальном проекте, понятное дело, что синтетические тесты способны показать какой-то результат, но в некоторых случаях — не очень хороший. Да, наш продукт проигрывает некоторым параметрам теста на 1 ядро для того же E3-1230, так как это синтетический тест. Тем не менее за счёт поддержки множества различных процессорных инструкций, которые напрочь отсутствуют в Е3-1230 даже последнего поколения, не говоря уже о более ранних, в реальности наше решение оказывается на шаг впереди. Отставать мы можем только применяя устаревшие приложения, когда не удаётся распределить прерывания оптимальным образом, но и то далеко не всегда. Казалось бы — древняя и ископаемая 1С, которая не умеет и не поддерживает многопоточности, но для которой важна частота ядра. Но на наших VPS (KVM) выборка по данным и работа проходит по ощущениям реальных людей, работающих с бухгалтерией, гораздо быстрее, нежели на Е3-1230, где частота на ядро выше. Кто не верит — может проверить и предоставить нам результаты, которые мы с радостью опубликуем. Даже, если они будут не в нашу пользу, в чём я очень сомневаюсь. Мы готовы сделать честный обзор нашего продукта на реальных проектах. И будем говорить обо всех недостатках и плюсах честно, когда таковые есть.
А вот собственно синтетический тест производительности хранилища:
Конечно iops=73457 и iops=156229 значения, также далёкие от реальности, как и идеальный газ от воздуха. Нужно не забывать о том, что производительность записи у реального проекта будет зависеть от over-provisioning и latency самого медленного SSD в массиве, и будет очень сильно варьироваться от степени и характера нагрузки. При полном заполнении SSD квоты производительность может падать в 50 раз и более на запись, об этом я уже писал в другой своей статье: Особенности выбора твердотельных накопителей (SSD) для серверов и RAID-массивов. Мы применяем в наших выделенных и виртуальных серверах с выделенными накопителями, которые стали полноценным аналогом выделенных серверов начального уровня, накопители Samsung SM863. Синтетические тесты производительности при различных размерах блока и очереди можно найти тут, с подробным анализом данных, а само описание продукта доступно от Intel здесь. Накопители проявили себя в ходе работы более, чем достойно. С 2015 года мы не зафиксировали ни единого случая выхода из строя. И дело не в том, что никто из наших клиентов пока что ещё не достиг значения TBW, а в том, что нет до сих пор ни единого зарегистрированного случайного отказа, а не прогнозируемой «смерти» по достижению TBW, что говорит о многом.
Успех нашего решения сумели оценить и пользователи Habrahabr:
Конечно, успех в стандартизации, наши ноды благадоря этому не перегружены. Так как можно чётко планировать всё. Не хочу говорить плохо о других, но кога другие провайдеры видят, что свободно 75% ресурсов на нодах, что большинство зачастую сделает? Правильно, оверселлят больше, пока есть, при этом совершают ошибку, забывая о том, что проекты пользователей ДОЛЖНЫ развиваться и потреблять со временем больше ресурсов. Мы ограничили себе возможность оверселла физически и избавили себя от этого соблазна, выставили разумный коэффициент, проверенный временем, чтоб не нужно было применять никакие FUP (fair use policy) и беспокоить пользователей. Наши клиенты просто всегда имеют возможность потребить свои ресурсы по низкой цене, при этом мы не беспокоим их в случаях, если они потребляют реальным проектом их на 100%. Речь не идёт сейчас о майнерах, нагрузку от которых эффективно распределить сложно. Понятное дело, что мы бы могли сделать меньше, но реальных ядер, для каждого пользователя, но это было бы лишено всякого смысла, так как тогда простаивало бы 90% ноды по процессору и даже более, а пользователи получали бы возможность потребить меньше, за те же деньги, хотя предложение, конечно, все ещё сохраняло бы свою привлекательность.
Потому, как мы пишем обо всех преимуществах и недостатках честно, ничего не утаивая, мы хотим рассказать и о недостатках нашего решения. А Вы уже сами для себя определите — можете ли Вы с ними мириться или нет.
Важнейшим недостатком является невозможность создать снимок, так как количество накопителей лимитировано, просто некуда добавить ещё, чтоб туда можно было выгрузить снимок VPS, а объем этого снимка равен максимальному объему VPS, вне зависимости от занятой файлами квоты. К примеру, если Вы используете простейший VPS (KVM) c 240 GB SSD, и файлы Вашей VPS занимают всего лишь 1 GB, то снимок вместе с файлами и ОС займёт максимальные 240 ГБ, хотя после можно его архивировать и ужать до меньшего размера, если данных нет, в теории. Выгружать такой объем данных по сети — также проблематично, так как это большой объем трафика, как для нас, так и для клиента, что повлияет на загруженность общего канала. Передача 240 ГБ займёт не мало не много, а минимум 35 минут, при максимальной загрузке канала. Вот тогда уже наверняка будут проблемы. Решение есть — включить ноды в частную сеть между собой и передавать образы через эту сеть, но так как ноды располагаются в разных стойках, то такая передача возможна максимум на скорости 1 Гбит / с. В то время, как хранящий образы сервер, должен быть подключен каналом минимум в 10 Гбит / с, так как на него может копироваться несколько образов одновременно из разных сегментов сети, а private networking, увы, на такой скорости пока недоступен. Ввиду технического ограничения со стороны дата-центра. В целом же мы недалеки от устранения этой проблемы, вот только одно но, себестоимость каждой ноды возрастёт для нас на $14 в этом варианте, а при количестве нод в 1000+ — это $14 000+ / месяц. Согласны ли пользователи будут оплачивать опцию создания образов отдельно? И как её тарифицировать, чтоб окупить этот расход хотя бы, я уже не говорю о том, что по уму мы коммерческая организация и нам бы как-то заработать…
Второй недостаток состоит в том, что не всегда всё-таки удаётся распределить прерывания пользователя оптимальным образом, в особенности, если нагрузка вызвана майнером. По умолчанию для всех пользователей на ноде мы задаём веса равные:
CPU weight 3000
I/O usage weight 1000
Что позволяет менять вес в довольно широком диапазоне, но вот распределить веса в зависимости от типа прерываний — пока что невозможно. В общем, очень редко майнеры могут вызывать проблему, с которой мы боремся методом занижения веса, так как система предоставляет ему мощности всех ядер, даже когда у него лимит в 6 vCPU, ибо не умеет оптимально ограничить процессы майнинга.
Ну и третий недостаток — цена. Увы, но она очень привязана к евро и когда мы начинали только предоставлять эту услугу курс был 1,05, сегодня же курс $1,24 за евро, на 18% выше. Что делает невозможным предоставлять услуги по указанной ниже цене при ежемесячном варианте оплаты, но мы сохранили такую цену при оплате на год.
При помесячной оплате цена будет всего лишь на $10 выше. Больший % для менее дорогих вариантов и меньший % повышения для более дорогих, так как на ноды с меньшим количеством пользователей по статистике приходится меньше запросов в тех. отдел, даже если все пользователи обращаются в поддержку с одинаковой интенсивностью.
Мы благодарны каждому нашему пользователю за то, что они выбирают нас и сотрудничают с нами. Без Вас мы бы не смогли ввести в эксплуатацию столь замечательную и стабильную услугу, когда годовой аптайм составил 100% для всех нод и полностью отсутствуют негативные отзывы. А это говорит о многом. Тем не менее, для того, чтоб иметь возможность предоставлять подобного рода услуги по таким ценам в дальнейшем — нам нужно найти еще довольно много клиентов, план выполнен на менее, чем 15%. И если Вы нуждаетесь в подобной услуге, даже пусть и с меньшими ресурсами, но можете поддержать этот проект — пожалуйста, проведите заказ или порекомендуйте нас Вашим знакомым.
А для того, чтоб выразить Вам свою благодарность, мы предлагаем уникальное предложение только для пользователей habrahabr скидка 30% на ПЕРВЫЙ платёж по промо-коду HABR30%. Промо-код действителен для 1000 заказов при условиии оплаты на любой срок, то есть, если Вы закажете услугу на год, Вы получите следующую цену:
https://www.ua-hosting.company/vpsnl — в Нидерландах
https://ua-hosting.company/vpsus — в США
VPS (KVM) — E5-2650v4 (6 Cores) / 10GB DDR4 / 240GB SSD / 1Gbps 10TB — $29-30% = $20,3
VPS (KVM) — E5-2650v4 (12 Cores) / 20GB DDR4 / 2х240GB RAID1 SSD / 1Gbps 20TB — $49-30% = $34,3
VPS (KVM) — E5-2650v4 (24 Cores) / 40GB DDR4 / 4x240GB RAID10 SSD / 1Gbps 40TB — $99-30% = $69,3
VPS (KVM) — E5-2650v4 (12 Cores) / 20GB DDR4 / 480GB SSD / 1Gbps 20TB — $49-30% = $34,3
VPS (KVM) — E5-2650v4 (24 Cores) / 40GB DDR4 / 2x480GB RAID1 SSD / 1Gbps 40TB — $99-30% = $69,3
VPS (KVM) — E5-2650v4 (6 Cores) / 10GB DDR4 / 4TB SATA / 1Gbps 10TB — $29-30% = $20,3
VPS (KVM) — E5-2650v4 (12 Cores) / 20GB DDR4 / 2x4TB RAID1 SATA / 1Gbps 20TB — $49-30% = $34,3
VPS (KVM) — E5-2650v4 (24 Cores) / 40GB DDR4 / 4x4TB RAID10 SATA / 1Gbps 40TB — $99-30% = $69,3
А сопровождение Вы можете добавить за менее, чем $7 / месяц с круглосуточным мониторингом, если проведёте заказ вместе с услугой на постоянной основе. Именно потому мы не боимся конкуренции и делиться нашими идеями, так как по такой цене подобное качество и уровень поддержки, вряд ли кто сможет обеспечить, а если и повторит — рынок большой, хватит на всех. Тем более, что это не очень прибыльная инвестиция, так как окупаемость начнётся после десятитысячного клиента, не через год, не через два и даже не через три. Срок окупаемости превышает 36 месяцев, мы это понимаем и об этом не сожалеем.
Тем же, кто уже перерос VPS и выделенные серверы начального уровня, мы можем предложить серверы Dell R730xd в Нидерландах и США по очень хорошей цене, преимущества платформы описаны в моей статье: Как построить инфраструктуру корп. класса c применением серверов Dell R730xd Е5-2650 v4 стоимостью 9000 евро за копейки? Dell R730xd в 2 раза дешевле? Только у нас 2 х Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 ТВ от $249 в Нидерландах и США!
И что меня поразило, так это уверенность в том, что никто никогда не поделится подобной информацией:
Потому, я очень хочу рассказать, как мы реализовали решение у себя. Все подводные камни и секреты данного решения. И ещё раз продемонстрировать то, что простота порой делает решения волшебными. Так как мы не получили за всё время работы ни одной жалобы от клиентов этой услуги, а это говорит о многом.
Прежде всего нужно отметить, что покупая виртуальный сервер, Вы действительно зачастую даже не подозреваете какую реальную производительность Вы можете получить и какие скрытые ограничения могут быть. Вы видите только параметры, но совершенно непонятно, чем и как они обеспечиваются, обеспечена ли реальная возможность их потребить или же существуют эффекты бутылочных горлышек, скрытые от покупателя, а порой, даже от самого хостинг-провайдера.
Безусловно, все услуги подобного плана, обладают некоторой степенью oversell'а, которая зависит от архитектуры решения и от жадности / наглости провайдера, а также от его тупости и уровня опыта.
OpenVZ или KVM? Выбор. Какие проблемы должен решать наш виртуальный сервер?
Оба типа виртуализации позволяют oversell, кто бы что ни говорил. И камень преткновения многих провайдеров именно в неэффективном распределении ресурсов процессора и нехватки производительности хранилища, которое, в свою очередь, вносит существенные задержки (latency) во множество процессов выполняющихся на ноде, а не в неправильном выборе системы виртуализации.
KVM предоставляет более изолированные контейнеры и возможность иметь индивидуальную версию kernel / настройки ядра, которые, скорее всего, не будут предлагаться на простых серверах на основе OpenVZ 6. Есть возможность настраивать маршрутизацию трафика с использованием iptables или других сервисов, установить нужные пакеты без запросов к администратору сервера, удалить ненужные из ядра системы. Кроме того, благодая тому, что каждая виртуальная машина KVM выполняет своё ядро, KVM не ограничивает вас в выборе только Linux-подобных ОС (CentOS, Debian, Ubuntu, Fedora, RedHat и т.п.), вы также можете установить и другие Unix-подобные ОС (BSD, Solaris) и даже Windows. KVM не требует особого количества RAM или других ресурсов и может более эффективно изолировать ресурсы, предоставляемые для контейнеров в одном и том же узле, по сравнению с OpenVZ 6.
И хотя KVM виртуализация приводит к несколько большему потреблению ресурсов RAM на стороне пользовательского контейнера, так как RAM для ядра берётся из выделяемой пользователю квоты, для нас это не критично. Так как это имеет значение только тогда, когда объем RAM небольшой, скажем 512 МБ для контейнера. Именно потому мы выбрали KVM, так как она обеспечивает массу преимуществ в нашем варианте, а также отсутствие негативного маркетинга, так как большинство пользователей полагают, что oversell всегда есть на виртуалках с OpenVZ и невозможен на KVM.
Но это не так. Мы всё же оверселлим, но разумно, таким образом, чтоб каждый в любой момент времени мог получить купленный им ресурс.
Когда я разарабатывал продукт «виртуальные серверы с выделенными накопителями», я поставил себе несколько целей:
- избавить пользователей от недостатков shared-хранилища и дорогой стоимости хранения файлов в случае низкой нагрузки на хранилище.
Хочешь или не хочешь, но IOPS, операции ввода / вывода, для каждого пользователя нужно ограничивать, если это хранилище shared (разделяемое). Этим страдают предлагаемые нами в Нидерландах, США и Сингапуре облачные виртуальные серверы, где IOPS ограничена 1000, и не важно какой тип — случайный или последовательный. Что в целом очень неплохо, намного больше, чем у HDD накопителя, который в среднем может обеспечить только 70-100 случайных IOPS и даже в RAID из многих накопителей сложно достичь значения 1000. Но мы получали жалобы от некоторых клиентов, что они не могут быстро передать данные при последовательном чтении, так как упираются в это значение производительности. И что наши облачные VPS работают для их случая медленнее, чем shared VPS на разделяемом HDD у другого провайдера. Да, конечно, как показывает опыт, жалуются всегда больше люди, которые покупают услугу за 5.99, чем люди, покупающие серверы за $100+, но тем не менее в новом продукте эту проблему хотелось решить. И решение, само собой, состоит в предоставлении исключительно выделенных накопителей. Но не только SSD типа, а и HDD типа, ведь у некоторых пользователей может стоять задача хранить большой объем данных при отсутствии большой нагрузки в IOPS на хранилище за минимальную стоимость, что в конечном итоге не может обеспечить продукт облачные VPS с дорогими SSD. Так как там очень часто возникает сразу два негативных фактора — дорогая квота и дорогой трафик.
- избавить пользователей и себя от древних процессоров.
Е3-1230 был офигенным процессором, в своё время. Я его помню ещё с тех времён, 2009 года, когда начал покупать первые серверы для клиентов с этими процессорами. Более того, по правде говоря, для более, чем 90% современных веб-проектов его хватает целиком и полностью и даже с излишком. Вся эта гонка за самой новой версией и новейшими CPU — в большинстве случаев маркетинг и лишена всякого смысла, так как у большинства клиентов нет потребности в чём-то более мощном и лучшем. В 2012 году, как только мы решили перенести всех из Украины в Нидерланды, так как там были лучшие каналы и связность, цены и нормальные законы, ну и много кто с клиентов хотел размещать контент для взрослых, который составляет 60% от всего интернет-трафика — я избавился от владения старыми процессорами и серверами в Украине. Продал серверы за несколько сот долларов за каждый, так как в Нидерландах было дешевле арендовать серверы, чем размещать собственное железо и ставить на коло, разумеется в общем случае. Я подписал крупный контракт и уже через 2 года у нас было в аренде свыше 1000 серверов, в основном те же устаревшие E3-1230, но уже чуть более нового поколения, так как это была самая популярная платформа и она была оптимальна по стоимости. Тем не менее мы занимали тысячи юнитов в шкафах и потребляли массу энергии. Блэйд системы, когда в 4 юнитах можно разместить 8 и более лезвий Е3-1230 с двумя накопителями для каждого и по 32GB RAM были всё еще дороги. И экономически эффективны, пожалуй, пару лет назад. Но не в 2015 году. В этом году всё же мы сделали шаг в сторону виртуализации и предложили абонентам часть выделенного сервера Е3-1230, а позднее двухпроцессорной платформы 2 х Е5620, ещё более увеличив продажи платформ. Но дата-центр вскоре предложил собственный продукт — облачные VPS, который был дешевле в некоторых случаях и наши продажи упали. Тем не менее нельзя сказать, что это решение стало волшебным, скорее удачным. Цель дата-центра понятна — нужно как-то было утилизировать древние Е3-1230, чтоб иметь возможность закупить более новые платформы, при этом получив какую-то часть сегмента абонентов, которые заинтересованы в виртуальных, а не выделенных серверах. Продукт в принципе получился неплохим, хотя на начальном этапе было пару глобальных проблем с дублированными хранилищами, в результате которых пользователи этой облачной услуги, несмотря на дублированность, потеряли свои данные и получили суточную недоступность. В общем — бэкапы наше всё, даже в самых надёжных облаках, никогда не забывайте об этом, как и об аварийном плане восстановления… Сейчас же услуга работает стабильно и является хорошим промежуточным вариантом между хостингом и выделенным сервером, но не имеющим возможности полноценно заменить выделенный сервер E3-1230. В итоге мы перешли к поиску cost-effective платформы, которая имела бы гораздо больше ресурсов, чтоб можно было бы приблизиться к производительности Е3-1230 и даже превзойти её. И такая платформа нашлась — Dell R730xd. Более подробную информацию о всех преимуществах, которые мы открыли для себя, Вы сможете найти в моей статье: Как построить инфраструктуру корп. класса c применением серверов Dell R730xd Е5-2650 v4 стоимостью 9000 евро за копейки? Эти серверы идеально подошли для нашей задачи. Мы решили воспользоваться платформами на 12 накопителей, так как в случае большего количества — мы рискуем получить множество бутылочных горлышек, начиная от возможностей контроллера и заканчивая тем, что кому-то из пользователей банально не хватит CPU, так как при большем количестве пользователей прерывания по ядрам будут распределяться менее эффективно, чем когда пользователей меньше.
- обеспечить производительность виртуального сервера на уровне entry-level dedicated и даже ряд дополнительных преимуществ.
Dell R730xd позволил нам это. Процессор последнего поколения E5-2650 v4, поддерживает множество инструкций, которые не поддерживают даже современные процессоры начального уровня. Всё это делает обработку операций быстрее при тех же частотах. В разы и даже десятки раз. Однако синтетические тесты, которые иногда проводят пользователи, тестируя максимальные нагрузки, не всегда могут полноценно показать это. Потому, порой, проводя сравнение с entry-level сервером, пользователь не видит тех преимуществ, которые мог бы увидеть, обладая реальной нагрузкой, а не тестируя слабо эффективной синтетикой. Также, как и не ощущает при тесте того, что эта платформа, в отличии от многих конкурентных решений, максимально сбалансирована. Что говорить, только за счёт того, что RAID-контроллер поддерживает технологию DAS Cache, мы получаем тот же уровень утилизации CPU, но при 2,5 раза большем значении IOPS, что и на аналогичном сервере HP, но с контроллером с кешированием Cache Cade. Только это малое различие увеличивает производительность в 2,5 раза, а на синтетике — мы не увидим этого скорее всего.
- обеспечить удобство управления.
Для облачных VPS, мы, к сожалению, так и не смогли предоставить удобную панель. В итоге используем самописное решение, ограниченное в возможностях, так как это продукт дата-центра и взаимодействие идёт через API и мы не всегда имеем возможность дать больший функционал. Для VPS (KVM) с выделенными накопителями мы решили, что VM Manager будет более оптимальной панелью, к тому же это значительно не повысит стоимость продукта, так как лицензия стоит для нас всего лишь 3,2 евро, так как мы являемся платиновым партнёром ISP System, условия программы партнёрства можно найти здесь. Так как накопителей максимум на ноде может быть 12, а физических ядер 24 (2 процессора по 12 ядер в каждом, 24 с учётом гипертрейдинга в каждом процессоре, итого 48 потоков / виртуальных ядер на сервере), оптимально делить ресурсы на 3-12 виртуальных контрейров максимум, что добавляет к стоимости виртуального сервера со стоимости лицезнии VM Manager от 1,07 евро для самых дорогих серверов и до 0,27 евро для самых дешевых. Издержки на сопровождение ноды куда больше. Так как мы оцениваем их в около $10 / месяц за мониторинг каждой из нод и около $1-2 для нас примерно выходит себестоимость ответа на тикет клиенту, если разделить зар. плату тех. отдела на количество отвеченных тикетов в месяц. Для того, чтоб уменьшить операционные расходы, была разработана система автоматизации, которая позволила выполнять многие нетривиальные установки для VM Manager в автоматическом режиме. Одной из проблем была та, что продукт не поддерживал логику выделенных накопителей и различных уровней RAID для них. Потому пришлось максимально стандартизировать ноды для пользователей. По итогу получился удобный продукт с максимумом возможностей по его управлению. Предоставляется доступ к автоматическому установщику с возможностью выбора из множества ОС, как с панелью ISP Manager Lite 5 (предоставляется без дополнительной оплаты), так и без неё, возможность установки Windows Server 2008/2012:
Также доступна возможность монтировать собственные ISO-образы, как с локального компьютера, так и с удаленного сервера, указав ссылку на образ:
Единственное, лучше связаться с тех. отделом, чтоб они загрузили образ локально, так установка пройдёт быстрее и не будет зависеть от качества Вашего Интернет-соединения. Перезагрузка, возможность наблюдения статистики и подключения к VNC (аналог KVM) доступна из панели управления виртуальным сервером:
- обеспечить низкую цену на трафик в сравнении даже с выделенным сервером, так как пользователь развивающегося проекта, безусловно, в ней нуждается.
Когда ноды наполняются десятками и даже сотнями пользователей, цена на трафик не может быть крайне низкой, даже с учётом oversell'а, когда трафика продаётся раза в 4 и даже более дешевле, чем стоит на самом деле. Коэффициент oversell'a можно повысить при условии, если пользователи банально будут не способны сгенерировать этот трафик, так как другие параметры им просто не позволят это сделать. Но нам это не интересно. Мы не хотим вводить в строй услугу, которой пользователи будут недовольны, наша задача сделать счастливыми наших клиентов и потому мы пошли по другому пути. Мы размещаем наши выделенные серверы Dell R730xd 2 х Intel Dodeca-Core Xeon E5-2650 v4 128GB DDR4 6 x 480GB SSD 1Gbps 100 ТВ в общих шкафах дата-центра, а не платим за собственные шкафы и ай пи адреса и рассказываем, что это круто, при этом ставя огромный ценник. Не круто! Так как такие «крутые» провайдеры не могут предоставить по этой причине серверы в аренду по цене $249 / месяц, а мы можем! И тут важна не столько стоимость размещения, сколько стоимость трафика. В частной стойке она составляет минимум $500 за Гбит / с при лучших раскладах в месяц, а если это смесь качественных аплинков, то даже с учётом oversell сделать цену аренды равной $249 при лимите трафика в 30% от общей ёмкости канала нельзя. В реальности ситуация ещё хуже, так как аудитория веб-сайтов неравномерна в течении суток и один пользователь такого выделенного сервера может потреблять в пиках более 500 Мбит / с, в то время, как ночью не использовать и 100. Что уж говорить, если этот пользователь использует ноды под виртуализацию, как мы. Именно потому мы распределили наши ноды среди выделенных серверов дата-центра, которые не потребляют свои пропускные способности полноценно и таким образом, за счёт пользователей entry-level серверов дата-центра, мы получаем трафик дешевле для наших нод. Только посчитайте, указанный выше выделенный сервер в аренду с лимитом трафика 100 ТБ стоит $249 / месяц. А для VPS на такой же ноде трафик дешевле! Так как оборудование одинаково и в случае VPS и в случае сервера, то разница в стоимости должна быть обусловлена только трафиком. Для VPS мы считаем трафик по цене $15 / 10 TB, причём от 10 до 40 ТБ включаем в стоимость услуги, к примеру стоимость самой дорогой VPS составляет $99 и включает ресурсов в 50%+ от выделенного сервера и, само собой, 40 ТБ трафика. Таким образом получается, что ТБ трафика для VPS пользователей обходится в $1.5, в то время как для выделенного сервера в $2.5 (разумеется при тарифе в 100 ТБ, а не тарифе без учёта). Таким образом мы сделали для VPS трафик дешевле, чем для выделенных серверов начального уровня, так как в дополнение,
обеспечивается ещё одна степень oversell'a — далеко не каждый пользователь потребляет свой лимит в 10 или 40 ТБ, который уже включен в стоимость услуги по умолчанию.
- обеспечить недорогой CPU c fair use policy или честный и дорогой?
И не тот и не другой. Мы решили не заморачиваться политиками честного использования процессора или выделения гарантированного ядра в понимании соответствия количества ядер на сервере ядрам, выделенным пользователям. Практика показала, что oversell виртуальных ядер допустим и даже полезен — снижает стоимость услуг для конечного пользователя, если этот коэффициент не превышает 1,5-2. Но некоторые хостинг-провайдеры умудряются продавать ресурсов 200-300%, а то и 600-1000%, что и вызывает часто проблемы и задержки. Применив платформы только на 12 накопителей, наши пользователи могут быть уверены, что количество пользователей жестко ограничено и мы не продаём ресурсы с подобными высокими коэффициентами.
Реализация
Как уже писал выше, платформа Dell R730xd позволила воплотить идеи в жизнь, так как обладает множеством преимуществ, описанных нами в статье: Как построить инфраструктуру корп. класса c применением серверов Dell R730xd Е5-2650 v4 стоимостью 9000 евро за копейки?. Уникальность нашего предложения состоит в том, что мы берём стандартные выделенные серверы, то есть bare metal, и даже для разных типов виртуальных серверов применяем одинаковые платформы, то есть обеспечиваем максимальную гомогенность сред. Зачем это нужно — напишем чуть позднее. Но в целом идея в том, чтоб избавиться от необходимости создания гибридных виртуальных серверов с выделенными накопителями, когда пользователю выделяются и HDD и SSD, так как большинству пользователей это не нужно, а тем, что нужно — тоже не нужно. На самом деле куда удобнее арендовать соответствующего типа виртуальный сервер под соответствующую задачу. Если это тяжелая MySQL — SSD, если это хранение файлов не требующих производительного (более 70 случайных IOPS) хранилища — HDD, если это хранение файлов, часть из которых требует производительного хранилища — арендуем оба типа виртуальных серверов и SSD виртуалку выделяем под кеш. Если нам необходима повышенная отказоустойчивость — арендуем одинаковые виртуалки на разных нодах и строим простейший DNS-кластер.
Так как в аренду мы предлагаем выделенные серверы следующих конфигураций в одну цену (от $249 / месяц) в Нидерландах и США:
Dell R730xd 2 x Intel Dodeca-Core Xeon E5-2650v4 / 128GB / 6x480GB SSD / 1Gbps 100TB
Dell R730xd 2 x Intel Dodeca-Core Xeon E5-2650v4 / 128GB / 12x240GB SSD / 1Gbps 100TB
Dell R730xd 2 x Intel Dodeca-Core Xeon E5-2650v4 / 128GB / 12x4TB HDD / 1Gbps 100TB
Решено было создать VPS (KVM) следующих типов:
12 на ноде: VPS (KVM) — E5-2650v4 (6 Cores) / 10GB DDR4 / 240GB SSD / 1Gbps 10TB — $29
6 на ноде: VPS (KVM) — E5-2650v4 (12 Cores) / 20GB DDR4 / 2х240GB RAID1 SSD / 1Gbps 20TB — $49
3 на ноде: VPS (KVM) — E5-2650v4 (24 Cores) / 40GB DDR4 / 4x240GB RAID10 SSD / 1Gbps 40TB — $99
6 на ноде: VPS (KVM) — E5-2650v4 (12 Cores) / 20GB DDR4 / 480GB SSD / 1Gbps 20TB — $49
3 на ноде: VPS (KVM) — E5-2650v4 (24 Cores) / 40GB DDR4 / 2x480GB RAID1 SSD / 1Gbps 40TB — $99
12 на ноде: VPS (KVM) — E5-2650v4 (6 Cores) / 10GB DDR4 / 4TB SATA / 1Gbps 10TB — $29
6 на ноде: VPS (KVM) — E5-2650v4 (12 Cores) / 20GB DDR4 / 2x4TB RAID1 SATA / 1Gbps 20TB — $49
3 на ноде: VPS (KVM) — E5-2650v4 (24 Cores) / 40GB DDR4 / 4x4TB RAID10 SATA / 1Gbps 40TB — $99
Виртуализацию поставить на все накопители в RAID1 и выделить под неё 8 GB RAM, что более, чем достаточно. Как видим, по процессору происходит овербукинг в 1,5 раза в случае, если приложение поддерживает многопоточность и в 3 раза в случаях, если нет, что весьма редкие случаи.
Также наблюдается дополнительный овербукинг по трафику, суммарный трафик на ноду 100 ТБ, а мы продаём всего лишь в 1,2 раза больше, чем есть на самом деле.
В целом же мы гарантируем оба ресурса пользователям, так как одновременно, особенно на нодах где 12 пользователей, вряд ли кто будет потеблять ресурсы по процессору даже на 50%, так как реально очень мало таких проектов. В результате в среднем наши ноды загружены по процессору на 25-30% и каждый пользователь всегда может получить обещанное, а если один клиент заказывает несколько виртуалок — мы стараемся их распределить между нодами, на случай, если клиент захочет потреблять все свои ресурсы на 100%. Ситуация по трафику ещё более радостная. Далеко не каждый выделенный сервер умудряется потребить 5 ТБ трафика в месяц, для этого требуется уже не слабая посещаемость проекта. Давайте рассчитаем сколько примерно должно быть посетителей в месяц, если ресурс не содержит видео стримминга и средний размер страницы равен 768 КБ. 5 ТБ = 5000000/0,768 = 6 510 416,67 млн просмотров в месяц! Или 0,2 млн в день, или 2,5 просмотров в секунду! Много это или мало? Так как соотношение хитов (просмотров) к хостам (уникальным посетителям) редко когда превышает 10 в среднем, только когда это не соц. сеть, в которой люди проводят дни. Таким образом получаем посещаемость порядка 20 000 в день или 600 000 в месяц. Что наблюдается далеко не у каждого пользователя, который арендует подобный VPS со столь большим лимитом трафика, как 10 ТБ минимум. Я помню время, всего-лишь 9 лет назад, когда лимиты трафика у выделенных серверов были меньше, около 5 ТБ. В нашем же случае мы имеем только с 2% нод превышение по трафику отметки 100ТБ, за что мы дополнительно платим дата-центру, когда нет возможности более эффективно распределить пользователей между нодами или нам просто лень тревожить пользователей, ради копеечной экономии.
Что же касается процессора, то мы и наши клиенты, а это тысячи человек, которые пользуются относительно новым продуктом в течении года, ни разу не столкнулись с тем, что кому-то не хватало процессора для реальных задач. Хотя проблемы однажды были, однажды майнер забил ресурсы всей ноды, так как ограничить прерывания майнинга сложно, можно понизить разве что приоритет. Тем не менее — это был единичный случай. Другой же клиент, из Франции, успешно арендовал свыше десятка VPS под майнинг, и его майнинг не нанёс урона нодам и другим пользователям, возможно благодаря тому, что он ограничивал потребление со своей стороны. Но он остался крайне довольным и продолжает покупать новые серверы сегодня. Таким образом мы пришли к выводу, что не будем запрещать майнерам пользоваться нашими услугами, а будем рассматривать подобные проекты индивидуально. Ведь наша цель — максимально снизить стоимость для наших пользователей. А чем больше людей пользуются нашим продуктом — тем проще нам поддерживать невероятно низкий ценовой диапазон, несмотря на более, чем 18% рост курса евро, в сравнении со временем, когда продукт только вводился в эксплуатацию. В крайнем случае мы всегда можем отселить такого майнера на свободную ноду и обеспечить стабильную и эффективную работу для всех.
Контент-маркетинг
Это полный бред за редкими исключениями. Лучший маркетинг — довольные клиенты. За последний год работы написано много хвалебных отзывов нашему продукту в нашей рекламной теме на форуме о поисковых системах, причём от людей с репутацией. Мы никогда не просим писать отзывы, потому эти отзывы неподдельные, искренние, а значит ещё более ценные и наши клиенты очень довольны тем качеством, которые они получили и мы работаем не зря.
Хочу прокомментировать некоторые из них:
Нет, ноды подключены каналом в 1 Гбит / с, даже наш конкурент решил это прокомментировать и тут я мог бы частично согласиться с ним:
Сервер включен 1Гбит\ом, об этом сам hosting_manager писал где-то тут в своих объемных постах. Даже не 2x1Гбит\с потому как, это не нужно и дорого, как считает hosting_manager. Поэтому, когда вы нагружаете канал на 1Гбит\с своей ВПСкой — соседям начинает не хватать, если они у вас, конечно, присутствуют. В чем я правда очень сомневаюсь.
Правда в том, что клиент располагался на полностью и на 100% заполненной клиентами ноде и по сей день там прекрасно обитает. Канал там 1 Гбит / с на всех и больше не нужен. Так как в случаях, когда кому-то понадобиться также 1 Гбит / с канал — меньше получит другой клиент. То есть, если какому-то другому потребуется прокачать много — он прокачает, просто у других скорость упадёт в половину для максимальной загрузки, минус обычное потребление соседями. На наших нодах легко определить минимальную гарантированную скорость, если все начнут грузить канал на 100%, для нод с тремя пользователями — это 330 Мбит / с каждому в соотвествии с протоколом TCP/IP, если мы конечно используем равный приоритет, для нод с 6 пользователями — это порядка 150 Мбит / с, и для нод с 12 пользователями — это 75 Мбит / с. Но правда в том, что никто не грузит свой канал на 100% одновременно по той причине, что даже 5 ТБ трафика прокачать проблематично, и каждый из пользоваталей имеет до 900 Мбит / с в пике, потому тест очень правдивый, реальный. Недавно нам ещё один клиент доказал это, протестировав пропускную способнсть канала и другие характеристики, результаты можно найти тут. Тест проведен на прошлой неделе.
А что если кому-то понадобится 900 Мбит / с постоянно для какой-то задачи? Конечно же — в этом случае лучше приобретать выделенный сервер, тем более, что Dell R730xd 2 х Intel Dodeca-Core Xeon E5-2650 v4 128GB DDR4 6 x 480GB SSD 1Gbps Unmetered в Нидерландах и США мы предлагаем по цене от $369 / месяц и вот тут уже трафик будет дешевле, так как гигабит позволяет прокачать порядка 300 ТБ трафика в каждом из направлений (суммарно 600 ТБ), что значительно дешевле, нежели оплачивать трафик, используя VPS из расчёта $15 за 10 ТБ (300 ТБ = $450, 600 ТБ = $900). И потому мы с радостью отселим такого одного пользователя VPS, которому постоянно нужен выделенный гигабит, если он не захочет сервер, на личную ноду, так как это в 1,5-3 раза выгоднее для нас. Так что да, мы можем даже на VPS гарантировать канал 1 Гбит / с. Если такой клиент конечно найдётся и решит оплачивать этот гарантированный трафик, несмотря на то, что есть более cost-effective решение.
Ещё комментарий.
Да, действительно, новый продукт вышел замечательным. А возможность установки Windows Trial на 180 дней — многое решает, особенно для людей у которых нет возможности оплачивать огромные счета за лицензии. Дата-центр, как партнёр SPLA — не может это делать, а мы можем. Потому, что мы более не являемся SPLA партнёром Microsoft в результате их неадекватной политики. Потому клиенты наших VPS (KVM) имеют значительную экономию на лицензиях. При этом всё остаётся в рамках закона. Мы просто не продаём лицензии для этого типа услуг, если клиент захочет — он сам сможет купить лицензию в Интернете, либо переустановить VPS и использовать ещё пол года Trial. Ведь Microsoft сам это позволяет, имея недолугую систему лицензирования и ценообразования. Сделали бы нормально всё и по адекватным ценам — все бы покупали, без вопросов, также, как лицензии ISP System, потому, что цены соответствуют качеству продукта.
И ещё комментарий
Не может быть ничего ценнее, чем теста на реальном проекте, понятное дело, что синтетические тесты способны показать какой-то результат, но в некоторых случаях — не очень хороший. Да, наш продукт проигрывает некоторым параметрам теста на 1 ядро для того же E3-1230, так как это синтетический тест. Тем не менее за счёт поддержки множества различных процессорных инструкций, которые напрочь отсутствуют в Е3-1230 даже последнего поколения, не говоря уже о более ранних, в реальности наше решение оказывается на шаг впереди. Отставать мы можем только применяя устаревшие приложения, когда не удаётся распределить прерывания оптимальным образом, но и то далеко не всегда. Казалось бы — древняя и ископаемая 1С, которая не умеет и не поддерживает многопоточности, но для которой важна частота ядра. Но на наших VPS (KVM) выборка по данным и работа проходит по ощущениям реальных людей, работающих с бухгалтерией, гораздо быстрее, нежели на Е3-1230, где частота на ядро выше. Кто не верит — может проверить и предоставить нам результаты, которые мы с радостью опубликуем. Даже, если они будут не в нашу пользу, в чём я очень сомневаюсь. Мы готовы сделать честный обзор нашего продукта на реальных проектах. И будем говорить обо всех недостатках и плюсах честно, когда таковые есть.
А вот собственно синтетический тест производительности хранилища:
Конечно iops=73457 и iops=156229 значения, также далёкие от реальности, как и идеальный газ от воздуха. Нужно не забывать о том, что производительность записи у реального проекта будет зависеть от over-provisioning и latency самого медленного SSD в массиве, и будет очень сильно варьироваться от степени и характера нагрузки. При полном заполнении SSD квоты производительность может падать в 50 раз и более на запись, об этом я уже писал в другой своей статье: Особенности выбора твердотельных накопителей (SSD) для серверов и RAID-массивов. Мы применяем в наших выделенных и виртуальных серверах с выделенными накопителями, которые стали полноценным аналогом выделенных серверов начального уровня, накопители Samsung SM863. Синтетические тесты производительности при различных размерах блока и очереди можно найти тут, с подробным анализом данных, а само описание продукта доступно от Intel здесь. Накопители проявили себя в ходе работы более, чем достойно. С 2015 года мы не зафиксировали ни единого случая выхода из строя. И дело не в том, что никто из наших клиентов пока что ещё не достиг значения TBW, а в том, что нет до сих пор ни единого зарегистрированного случайного отказа, а не прогнозируемой «смерти» по достижению TBW, что говорит о многом.
Успех нашего решения сумели оценить и пользователи Habrahabr:
Конечно, успех в стандартизации, наши ноды благадоря этому не перегружены. Так как можно чётко планировать всё. Не хочу говорить плохо о других, но кога другие провайдеры видят, что свободно 75% ресурсов на нодах, что большинство зачастую сделает? Правильно, оверселлят больше, пока есть, при этом совершают ошибку, забывая о том, что проекты пользователей ДОЛЖНЫ развиваться и потреблять со временем больше ресурсов. Мы ограничили себе возможность оверселла физически и избавили себя от этого соблазна, выставили разумный коэффициент, проверенный временем, чтоб не нужно было применять никакие FUP (fair use policy) и беспокоить пользователей. Наши клиенты просто всегда имеют возможность потребить свои ресурсы по низкой цене, при этом мы не беспокоим их в случаях, если они потребляют реальным проектом их на 100%. Речь не идёт сейчас о майнерах, нагрузку от которых эффективно распределить сложно. Понятное дело, что мы бы могли сделать меньше, но реальных ядер, для каждого пользователя, но это было бы лишено всякого смысла, так как тогда простаивало бы 90% ноды по процессору и даже более, а пользователи получали бы возможность потребить меньше, за те же деньги, хотя предложение, конечно, все ещё сохраняло бы свою привлекательность.
Недостатки
Потому, как мы пишем обо всех преимуществах и недостатках честно, ничего не утаивая, мы хотим рассказать и о недостатках нашего решения. А Вы уже сами для себя определите — можете ли Вы с ними мириться или нет.
Важнейшим недостатком является невозможность создать снимок, так как количество накопителей лимитировано, просто некуда добавить ещё, чтоб туда можно было выгрузить снимок VPS, а объем этого снимка равен максимальному объему VPS, вне зависимости от занятой файлами квоты. К примеру, если Вы используете простейший VPS (KVM) c 240 GB SSD, и файлы Вашей VPS занимают всего лишь 1 GB, то снимок вместе с файлами и ОС займёт максимальные 240 ГБ, хотя после можно его архивировать и ужать до меньшего размера, если данных нет, в теории. Выгружать такой объем данных по сети — также проблематично, так как это большой объем трафика, как для нас, так и для клиента, что повлияет на загруженность общего канала. Передача 240 ГБ займёт не мало не много, а минимум 35 минут, при максимальной загрузке канала. Вот тогда уже наверняка будут проблемы. Решение есть — включить ноды в частную сеть между собой и передавать образы через эту сеть, но так как ноды располагаются в разных стойках, то такая передача возможна максимум на скорости 1 Гбит / с. В то время, как хранящий образы сервер, должен быть подключен каналом минимум в 10 Гбит / с, так как на него может копироваться несколько образов одновременно из разных сегментов сети, а private networking, увы, на такой скорости пока недоступен. Ввиду технического ограничения со стороны дата-центра. В целом же мы недалеки от устранения этой проблемы, вот только одно но, себестоимость каждой ноды возрастёт для нас на $14 в этом варианте, а при количестве нод в 1000+ — это $14 000+ / месяц. Согласны ли пользователи будут оплачивать опцию создания образов отдельно? И как её тарифицировать, чтоб окупить этот расход хотя бы, я уже не говорю о том, что по уму мы коммерческая организация и нам бы как-то заработать…
Второй недостаток состоит в том, что не всегда всё-таки удаётся распределить прерывания пользователя оптимальным образом, в особенности, если нагрузка вызвана майнером. По умолчанию для всех пользователей на ноде мы задаём веса равные:
CPU weight 3000
I/O usage weight 1000
Что позволяет менять вес в довольно широком диапазоне, но вот распределить веса в зависимости от типа прерываний — пока что невозможно. В общем, очень редко майнеры могут вызывать проблему, с которой мы боремся методом занижения веса, так как система предоставляет ему мощности всех ядер, даже когда у него лимит в 6 vCPU, ибо не умеет оптимально ограничить процессы майнинга.
Ну и третий недостаток — цена. Увы, но она очень привязана к евро и когда мы начинали только предоставлять эту услугу курс был 1,05, сегодня же курс $1,24 за евро, на 18% выше. Что делает невозможным предоставлять услуги по указанной ниже цене при ежемесячном варианте оплаты, но мы сохранили такую цену при оплате на год.
При помесячной оплате цена будет всего лишь на $10 выше. Больший % для менее дорогих вариантов и меньший % повышения для более дорогих, так как на ноды с меньшим количеством пользователей по статистике приходится меньше запросов в тех. отдел, даже если все пользователи обращаются в поддержку с одинаковой интенсивностью.
Мы благодарны каждому нашему пользователю за то, что они выбирают нас и сотрудничают с нами. Без Вас мы бы не смогли ввести в эксплуатацию столь замечательную и стабильную услугу, когда годовой аптайм составил 100% для всех нод и полностью отсутствуют негативные отзывы. А это говорит о многом. Тем не менее, для того, чтоб иметь возможность предоставлять подобного рода услуги по таким ценам в дальнейшем — нам нужно найти еще довольно много клиентов, план выполнен на менее, чем 15%. И если Вы нуждаетесь в подобной услуге, даже пусть и с меньшими ресурсами, но можете поддержать этот проект — пожалуйста, проведите заказ или порекомендуйте нас Вашим знакомым.
А для того, чтоб выразить Вам свою благодарность, мы предлагаем уникальное предложение только для пользователей habrahabr скидка 30% на ПЕРВЫЙ платёж по промо-коду HABR30%. Промо-код действителен для 1000 заказов при условиии оплаты на любой срок, то есть, если Вы закажете услугу на год, Вы получите следующую цену:
https://www.ua-hosting.company/vpsnl — в Нидерландах
https://ua-hosting.company/vpsus — в США
VPS (KVM) — E5-2650v4 (6 Cores) / 10GB DDR4 / 240GB SSD / 1Gbps 10TB — $29-30% = $20,3
VPS (KVM) — E5-2650v4 (12 Cores) / 20GB DDR4 / 2х240GB RAID1 SSD / 1Gbps 20TB — $49-30% = $34,3
VPS (KVM) — E5-2650v4 (24 Cores) / 40GB DDR4 / 4x240GB RAID10 SSD / 1Gbps 40TB — $99-30% = $69,3
VPS (KVM) — E5-2650v4 (12 Cores) / 20GB DDR4 / 480GB SSD / 1Gbps 20TB — $49-30% = $34,3
VPS (KVM) — E5-2650v4 (24 Cores) / 40GB DDR4 / 2x480GB RAID1 SSD / 1Gbps 40TB — $99-30% = $69,3
VPS (KVM) — E5-2650v4 (6 Cores) / 10GB DDR4 / 4TB SATA / 1Gbps 10TB — $29-30% = $20,3
VPS (KVM) — E5-2650v4 (12 Cores) / 20GB DDR4 / 2x4TB RAID1 SATA / 1Gbps 20TB — $49-30% = $34,3
VPS (KVM) — E5-2650v4 (24 Cores) / 40GB DDR4 / 4x4TB RAID10 SATA / 1Gbps 40TB — $99-30% = $69,3
А сопровождение Вы можете добавить за менее, чем $7 / месяц с круглосуточным мониторингом, если проведёте заказ вместе с услугой на постоянной основе. Именно потому мы не боимся конкуренции и делиться нашими идеями, так как по такой цене подобное качество и уровень поддержки, вряд ли кто сможет обеспечить, а если и повторит — рынок большой, хватит на всех. Тем более, что это не очень прибыльная инвестиция, так как окупаемость начнётся после десятитысячного клиента, не через год, не через два и даже не через три. Срок окупаемости превышает 36 месяцев, мы это понимаем и об этом не сожалеем.
Тем же, кто уже перерос VPS и выделенные серверы начального уровня, мы можем предложить серверы Dell R730xd в Нидерландах и США по очень хорошей цене, преимущества платформы описаны в моей статье: Как построить инфраструктуру корп. класса c применением серверов Dell R730xd Е5-2650 v4 стоимостью 9000 евро за копейки? Dell R730xd в 2 раза дешевле? Только у нас 2 х Intel Dodeca-Core Xeon E5-2650v4 128GB DDR4 6x480GB SSD 1Gbps 100 ТВ от $249 в Нидерландах и США!