От Amazon EC2 до Mail.ru Infra: Тестируем облачные VPS (Linux)
С большой тройкой облачных провайдеров — Amazon, Google и Microsoft с недавних пор конкурируют и отечественные компании, хотя весомых игроков на нашем рынке немного. В основном это относительно небольшие проекты, традиционные хостеры (включая крупных) и/или операторы коммерческих ЦОДов, предлагающие облака в довесок к традиционному пакету услуг.
Ситуация начала меняться с появлением облачной платформы для бизнеса Mail.ru Cloud Solutions (MCS): российский провайдер предлагает заказчикам корпоративную почту, DNS-хостинг, файловые и объектные хранилища, виртуальную инфраструктуру и даже какие-то средства коллективной работы. Все это, разумеется, можно привязать к своему домену — в общем, практически отечественный «амазон», хотя в смысле объемов и оборотов их сравнивать сложно. А вот в плане потребительском мы все-таки попробуем это сделать.
В этом цикле статей кроме основных иностранных (Amazon, Google, Microsoft) мы возьмём заметных российских конкурентов Mail.ru: Selectel, Servers.ru и «Ростелеком», хотя они однозначно проигрывают Mail.ru в смысле набора доступных услуг — такого богатого предложения ни у кого из локальных игроков нет.
Первым делом оценим облачные VPS на Linux, будем сравнивать Infra от Mail.ru с Amazon EC2, Google Compute Engine, Microsoft Azure VM и сервисами уже упомянутых отечественных компаний: Selectel, Ростелеком и Servers.ru, локальное ответвление Servers.com с тем же предложением.
Нюансы регистрации, оплаты и поддержки
Отечественные сервисы предпочитают работать по предоплате: сначала пополняем баланс лицевого счёта, потом получаем услуги. Связано это с очень непростой правоприменительной практикой взыскания задолженности с российских физических лиц. Да и с иных компаний взыскать деньги будет затруднительно.
У крупных западных сервисов принята постоплата, и в случае взлома аккаунта можно «влететь» на космические суммы за очень короткое время. Вот занятный кейс: у парня угнали аккаунт AWS и бодренько «настучали» ему 12 килобаксов задолженности за использование облачных виртуальных серверов (упаси нас Тьюринг так «попасть»!). Жертве по доброй воле компании задолженность простили, но могли бы и взыскать.
Отсюда, кстати, возникают проблемы с регистрацией — к новому аккаунту AWS (у Google и Microsoft примерно то же самое) от физлица требуют привязать банковскую карту. Если у вас российский банк, аккаунт могут «приостановить». При этом его работу автоматически не восстановят — нужно писать в техподдержку. Там в ответ попросят предъявить уйму пруфов — и чуть ли не справку о прохождении медкомиссиихарактеристику с места работы:
Для компании оплата сервиса в иностранной юрисдикции тоже нелегка, если у облачного провайдера нет российского юрлица и он не особенно заинтересован в нашем рынке.
Ну и последний момент: цены на услуги крупных международных облачных сервисов привязаны к твёрдой валюте, что в условиях нестабильного курса рубля может быть больно. Теоретически можно платить и рублями, но все равно по курсу и обычно по внутреннему — выгоднее в долларах по курсу вашего банка (это из практики). Ещё одна причина выбрать отечественный сервис, благо есть что выбирать.
Цены
Самое интересное, конечно, это цены. В Amazon EC2 оплачиваются вычислительные ресурсы, объёмы хранения, выделенные IP-адреса и в ряде случаев — передача данных. Существует три варианта оплаты: инстансы по требованию, зарезервированные и спотовые инстансы. Прейскурант Amazon EC2 можно найти по ссылке. Скажем, в датацентах штата Огайо (США) четырехпроцессорная виртуальная машина обойдётся вам от 11,26 руб. до 50,66 руб. (от $0.2 до $0.9) в час + налог (цены в прайсах Amazon указаны без налога). Выделенное хранилище для томов EBS SSD (gp2) емкостью 1 ГБ в датацентре штата Огайо стоит 5,63 руб. ($0,10) в месяц, но есть и другие варианты.
*для расчётов использовался курс доллара ЦБ РФ на 30 января 2018 года.
У Microsoft схожая ценовая политика с оплатой за использование IP-адресов и передачу исходящих данных. Цены на четырехпроцессорные конфигурации колеблются от 9,94 до 61,32 рублей в час. Однако, похоже, у Microsoft речь идёт о честных процессорных ядрах, тогда как Amazon в некоторых конфигурациях может дать, например, два ядра с гипертрейдингом вместо четырёх. Во всех новых виртуальных машинах есть диск операционной системы и локальный (или «диск ресурсов»), плата за который не взимается.
У Google помимо стандартных доступны и собственные конфигурации. Цена на четырехпроцессорные колеблется между 7,98 руб. ($0.1418) и 13,33 руб. ($0.2368) за час, но выбор стандартных конфигураций небогат. Также есть скидки за постоянное использование, они предоставляются автоматически при достижении определенных порогов. Ценник у Google видится самым низким из зарубежной троицы, но в каждом конкретном случае нужно считать, особенно для серьезных проектов с прогнозируемой нагрузкой.
Перейдём к отечественным провайдерам. Здесь лучше пользоваться тарифными калькуляторами — так проще сформировать индивидуальный выгодный прайс. В Infra от Mail.ru практикуется помесячная тарификация с поминутной оплатой, при годовом контракте провайдер предоставляет существенную скидку. Цены на конфигурации указаны с НДС: 1 ГБ памяти = 190 рублей в месяц, 1 CPU = 510 рублей ежемесячно, 1 ГБ диска = 7 рублей в месяц. Популярные четырехпроцессорные конфигурации стоят 5430 рублей в месяц или примерно 7,54 в час.
На Servers.ru можно выбирать между наборами готовых конфигураций, цены указаны за месяц и за час, также в прайс включён диск и определенный объём трафика — перерасход тарифицируется. Валюты разные, поскольку датацентры у провайдера в разных странах, но тут же идёт пересчёт в рублях. Четырехпроцессорная конфигурация в московском датацентре обойдется от 3600 или 4800 рублей в месяц (в России фирма предлагает только две четырехпроцессорных конфигураци) — 6 рублей или 8 рублей в час.
У Selectel на главном сайте есть услуги виртуального частного облака (VPC). Виртуальная машина собирается с помощью конструктора, можно указать нужное количество vCPU, объём памяти, объём и тип диска, количество ip-адресов и т. д. Все цены в рублях с НДС. Четырехпроцессорная машина встанет от 3+ тысяч до 7 тысяч и выше рублей в месяц, или примерно 4,17 и 9,72+ в час соответственно.
«Ростелеком» предлагает бизнесу (с физлицами они не сотрудничают) доступ к национальной облачной платформе — и у него для разнообразия есть даже прайс-лист (цены указаны за сутки, тарификация ежесуточная в зависимости от объема услуг).
Как видим, цены у отечественных провайдеров в общем ниже, чем у тройки западных. Из-за российской нелюбви к чётким прайсам это не сильно бросается в глаза, но когда на оплату услуг Amazon или Microsoft во время нашего тестирования уходило $3, нашим хватало закинуть на лицевой счёт сотню рублей. Плюс наши сервисы (например, Mail.ru) предлагают бесплатные инстансы. У Amazon, они тоже есть, но лимиты на использование там такие, что особо не разгуляешься.
У отечественных сервисов сравнительно небольшой выбор аппаратных конфигураций виртуальных машин. Приятным исключением стала infra и понятно почему: Mail.ru — компания немаленькая и всерьёз на этот рынок нацелилась, возможностей у неё хватает.
SLA
Все провайдеры, которые вообще это делают, декларируют примерно одинаковый коэффициент готовности — 99,98% времени сервис работоспособен. Эти заявления опираются на собранную Uptime Institute статистику, которая показывает, что коэффициент готовности датацентра уровня TIER III составляет 99,982%.
А поскольку практически все провайдеры используют именно такие датацентры (это самый ходовой уровень), у маркетологов возникает соблазн. На самом деле это миф и практическая готовность теоретически неизмерима. Уровни TIER касаются топологии инженерных подсистем датацентра и бизнес-процессов для верхнего этапа сертификации (эксплуатация, реагирование на инциденты, вот это все). ИТ-нагрузка с этой точки зрения просто «потребляет мощность и выделяет тепло, которое надо отводить». В этом смысле никакой разницы между сервером и другим электронагревательным прибором нет (шутка).
Практическая же готовность от работоспособности ИТ-нагрузки (железо+софт) зависит не в последнюю очередь. Как ее измерить? Пока никак. Разве что чисто практически, т. е. на основе реальной статистики эксплуатации. Хотя если в соглашении об уровне услуг прописана экономическая ответственность провайдера за сбои — это хороший знак.
Проверяем каналы связи
Для теста возьмем еще одну виртуалку из стороннего по отношению ко всем подопытным российского датацентра, которую будем использовать как клиентскую машину. Первым делом проверим пропускную способность канала через пинги большими и маленькими пакетами и т. д. — возьмем по одной конфигурации у всех провайдеров, чтобы не плодить сущности. Сначала пропингуем сотней маленьких (64 байта) и сотней больших (1 килобайт) пакетов. Пакеты не бьются (0% потерь), но время отклика (в таблице) немного разное. У отечественных сервисов оно меньше, как и ожидалось.
Дальше — тест скачивания файла каждой виртуальной машиной:
$ wget -O /dev/null — http://ftp.corbina.ru/pub/100Mb
$ wget -O /dev/null — http://cachefly.cachefly.net/100mb.test
$ wget -O /dev/null — http://speedtest.london.linode.com/100MB-london.bin
Теперь проверим скорость с помощью Iperf, эта программа работает по принципу клиент-сервер. На внешнем по отношению к всем подопытным российском (для чистоты эксперимента) хосте запускаем сервер:
$ iperf -s -p 9999
Потом с каждой проверяемой виртуальной машины выполняем команду (тестирование идёт в течение 60 секунд):
$ iperf -c server_ip -p 9999 -t 60
Конечно, это не глубокое тестирование, которое нужно делать в разное время суток, брать ряд итераций и так далее, но даже в таком примитивном варианте очевидно, что отечественные сервисы из рунета более доступны (меньше задержки, выше пропускная способность). Это плюс в копилку наших сервисов. Серьезные российские провайдеры идут «ноздря в ноздрю» — разница в пределах статистической погрешности.
Тестируем с помощью Hardinfo
На каждом каждом виртуальном облачном сервере прогоняем бенчмарки Hardinfo. Понятно, что синтетические тесты демонстрируют сферический VPS в вакууме и идентичные в смысле вычислительных возможностей конфигурации дают почти аналогичные результаты без возможности выбрать явных лидеров и аутсайдеров. Но как отправная точка при выборе они полезны.
CPU CryptoHash — вычисление криптостойкой хэш-функции.
CPU Fibonacci — вычисление функции Фибоначчи с использованием рекурсивного кодирования и параллельного программирования.
CPU N-Queens — тест из комбинаторики, решение шахматной задачи размещения N ферзей на шахматной доске размером NxN клеток так, что чтобы ни один ферзь не мог напасть на любого другого.
FPU FFT — тест на быстрое вычисление дискретного преобразования Фурье.
FPU Raytracing — расчёт трассировки лучей при 3d рендеринге.
Результат даётся в секундах (чем он меньше, тем лучше) во всех тестах, кроме CPU CryptoHash — там MiB/sec и чем он больше, тем лучше:
Конфигурация 1 (сервер начального уровня): 1 CPU (2,3 — 2,7 ГГц в зависимости от провайдера), 1 Гб оперативной памяти, накопитель 10 Гб (у servers.ru — 30 Гб), Ubuntu 16.04.
Конфигурация 2 (сервер среднего уровня): 2 CPU (2,3 — 2,7 ГГц в зависимости от провайдера), 4Гб оперативной памяти, накопитель 40 Гб (у servers.ru — 81 Гб), Ubuntu 16.04.
Конфигурация 3 (высокопроизводительный сервер): 8 CPU (2,3 — 2,7 ГГц в зависимости от провайдера), 16 Гб (у servers.ru — 32 Гб, но для теста процессора это непринципиально) оперативной памяти, накопитель 100 Гб (у servers.ru — 322 Гб), Ubuntu 16.04.
По синтетическому тесту все машины показали ожидаемо близкие результаты — реальных рабочих нагрузок он не отражает. В процессе эксплуатации все может быть совершенно иначе. Очевидно, что в топовой конфигурации крупные провайдеры выглядят лучше — в том числе и за счет своих широких возможностей. Они могут позволить себе сеть огромных датацентров и большее разнообразие железа. Из российских сервисов к ним в этом близка только Mail.ru.
Сравниваем накопители
Тестируем накопители в отдельной виртуальной машине с простыми задачами на последовательное чтение и запись. У Servers.ru и у Mail.ru не оказалось в наличии конфигураций с HDD — при этом у Mail.ru есть накопители из распределённого хранилища ceph. По скорости последовательного чтения они примерно как SSD, а по скорости последовательной записи — как шустрые HDD.
В сравнении — обычные твердотельные накопители, премиальные (с оплатой за IOPS, например) варианты не учитывались.
Выводы
В целом виртуальные облачные серверы Mail.ru и других отечественных провайдеров не уступают предложениям западным конкурентов. Конечно, крупные мировые игроки могут предложить более разнообразные конфигурации, но и цены у них выше, а с регистрацией и оплатой могут возникнуть проблемы (особенно если вы юрлицо, а у провайдера российского юрлица нет).
Ещё один важный момент: у некоторых российских провайдеров есть ЦОДы на Западе, а вот у большой тройки иностранных на территории нашей страны датацентров нет. Это не лучшим образом сказывается на доступности ресурсов из российского сегмента Интернета (увеличивается время отклика) и может создать владельцу проблемы с обработкой и хранением персональных данных россиян — действующее законодательство требует, чтобы сервер находился на территории страны. А сейчас многие компании хранят и обрабатывают ПД: например, данные сотрудников и клиентов.
В следующих статьях цикла мы будем тестировать серверы Windows, объектные хранилища и другие сервисы.