Все слышали про AWS. Можно сказать, что облаку Amazon удалось стать своего рода индустриальным стандартом. Мы не исключение. А потому решили проверить, как выглядит виртуальная машина в нашем клауде на базе OpenStack в сравнении с близкой по функционалу машиной AWS.



Подробности под катом.

От традиционных VPS облачные «инстансы» отличаются отсутствием необходимости вносить абонентскую плату сразу за месяц. Работает такая виртуальная машина примерно как такси — счетчик тикает, пока она едет. Придётся выложить некоторую сумму и за простой, поскольку даже выключенная машина использует емкости хранилища. Оплачивать фактически потреблённые вычислительные ресурсы гораздо дешевле и удобнее, если постоянной потребности в них нет. Разработчикам и тестировщикам такая схема позволяет серьезно экономить, и даже владельцы корпоративной ИТ-инфраструктуры могут отключать ненужные серверы, скажем, в нерабочее время или по завершении какого-то проекта. В облаке можно быстро нарастить ресурсы (добавить процессор-другой, увеличить объём оперативной памяти), если нагрузка выросла, или отказаться от лишних, когда потребность в них исчезнет. Сплошные выгоды: при этом не надо покупать железо и лицензии на операционную систему. Сервер поднимается за пару минут через веб-интерфейс и оплачивается, что называется, on-demand.

Общие вопросы


Пионером на этом рынке стала компания Amazon со своими Amazon Web Services (AWS). Потом подоспела корпорация Microsoft с платформой Azure и за ней уже появилась Google Cloud Platform — эта троица отхватила значительную часть рынка, но Amazon Elastic Compute Cloud (Amazon EC2) долгое время оставался синонимом масштабируемых вычислительных ресурсов в облаке. Помимо трёх гигантов аналогичные предложения есть у множества отечественных и зарубежных компаний. Потому вполне естественным для нас желанием было сравнить нашу четырехпроцессорную конфигурацию с предложением EC2.

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

Сам процесс регистрации, к примеру, в AWS также достаточно сложен — схема взыскания задолженности с физических лиц в России на практике работает плохо, поэтому ваш аккаунт скорее всего сразу заблокируют, якобы из-за проблем с методом платежа (списать с карты $1 это не мешает). Потом придётся обращаться в службу поддержки и отправлять провайдеру кучу дополнительных сведений (оплаченные счета за коммунальные услуги и т. д.).



Для выделения квот на ресурсы в каждом датацентре Amazon также придётся создавать запрос в службу поддержки и ждать около суток. Если поддержка у вас платная, скорость прохождения запроса может увеличиться, но этот момент мы не проверяли. Базовый бесплатный план позволяет только запрашивать лимиты и решать связанные с биллингом вопросы:



Тесты


Конфигурации виртуальных машин:
Atlex (Чехия, Прага):
  • 4 vCPUs Intel Xeon E5-2620v4 (Broadwell U/ULT) с тактовой частотой 2,1 ГГц;
  • 8 ГБ оперативной памяти;
  • накопитель 100 ГБ SSD;
  • Microsoft Windows Server 2012 R2 Standard;
  • OpenStack (KVM).


Amazon EC2 (тип инстанса: t2.xlarge; датацентр: US East (Ohio), us-east-2b):
  • 4 vCPUs Intel Broadwell E5-2686v4 с тактовой частотой 2,3 ГГц
  • 16 Гб оперативной памяти;
  • накопитель 100 ГБ SSD;
  • Microsoft Windows Server 2012 R2 Standart;
  • Xen HVM DomU.


Конфигурации не вполне идентичные, но в Amazon EC2 инстансы можно создавать только по готовым шаблонам, и более близких вариантов с четырьмя vCPU нам подобрать не удалось. Поскольку в процессе тестирования мы не задействовали и 8 ГБ оперативной памяти, разница в объеме ОЗУ на результат не повлияла. У Amazon есть датацентры в Европе, но поскольку проверяем мы в основном вычислительные мощности и производительность дисковой подсистемы, местонахождение виртуального сервера также не принципиально.

Пинг


Сначала проверим доступность обеих виртуальных машин из русскоязычного сегмента глобальной сети — для чистоты эксперимента проверку будем проводить с ещё одного виртуального сервера, работающего во внешнем по отношению к обоим подопытным питерском датацентре. С помощью утилиты ping посмотрим время отклика хостов при размере сообщения 64 байта и 1 килобайт (отправляем 100 пакетов). Время отклика виртуальной машины Atlex составило 48,328 миллисекунд и 48,436 миллисекунд соответственно, при пересылке ни один пакет не пострадал (0% loss). Для машины Amazon EC2 в датацентре штата Огайо — 126,748 и 126,846. Для чистоты эксперимента мы создали ещё одну машину в датацентре Amazon во Франкфурте и там время отклика составило — 46,005 и 46,1 миллисекунд. То есть у нас в Чехии и у AWS в Германии показатели почти одинаковые.

GeekBench 4


Популярный пакет проводит больше двух десятков тестов, разделенных на несколько категорий: Cryptography, Integer, Floating Point, Memory. Используются операции сжатия, работа с JPEG, парсинг HTML, SQLite. Это один из самых всесторонних тестов для Windows, хотя дисковую подсистему он не охватывает (для этого мы использовали CristalDiskMark). С нашей виртуальной машиной никаких сюрпризов не было, тест показал ожидаемую производительность:







С виртуальной машиной Amazon EC2 все оказалось значительно интереснее. В свойствах данного типа инстансов указан процессор Broadwell, но GeekBench упорно показывал нам Haswell:





Отличаются они только техпроцессом. Поэтому для нас, как сторонних заказчиков, разница в итоге не принципиальная.





К сожалению, подобрать полный аналог среди четырехпроцессорных конфигураций инстансов Amazon EC2 нам не удалось, но машины получились достаточно близкими. В том числе и по результатам.

CrystalDiskMark 6


Этот популярный бенчмарк проводит тесты последовательной и случайной записи/чтения с глубиной очереди равной 1, 8 и 32. Результаты на скриншотах говорят сами за себя — несмотря на использование твердотельных накопителей в хранилищах обеих конфигураций, дисковая подсистема нашей виртуальной машины гораздо шустрее. На самом деле, порог ещё выше, и тестовая программа до него добраться не смогла, при этом есть и балансировка нагрузки — разные клиенты не будут друг другу мешать:



General Purpose SSD от Amazon EC2 показал в разы более скромные результаты:



Тесты с Microsoft SQL


Для оценки производительности работы Microsoft SQL Server 2017 мы использовали тест TPC-H, который считается одним из отраслевых стандартов — его активно используют сами разработчики СУБД. Тест представляет собой набор бизнес-ориентированных гибких запросов и параллельно проводимой модификации данных. Он иллюстрирует работу систем поддержки принятия решений, анализирующих большие объемы данных, выполняющих запросы высокой степени сложности и дающих ответы на критически важные вопросы бизнеса. Полностью все спецификации TPC-H мы соблюдать не стали, поскольку это слишком сложно — там больше полутора сотен страниц убористого текста в pdf. Чтобы упростить процесс тестирования, мы скачали бесплатную версию программы Benchmark Factory for Databases. TPC-H предполагает генерацию восьми таблиц с использованием заданного параметра scale factor. У нас он равен 1, и объём базы составил 1,54 ГБ (1,18 ГБ заняли таблицы и 364,96 МБ — индексы).

Тест состоит из 22 SQL-запросов разной степени сложности, которые выполняют четыре виртуальных пользователя три раза по кругу (итого 264 SQL-запроса). Приятным сюрпризом в последней версии Benchmark Factory for Databases стала возможность генерации тестовых данных и загрузки их в базу. Раньше для этого приходилось скачивать исходные тексты утилиты dbgen от TPC и собирать их под Windows в Visual Studio. В этом тесте тоже все обошлось без сюрпризов.

Облачный сервер Atlex:

Транзакций в секунду
Среднее время отклика (сек)
Среднее время выполнения транзакции
Количество транзакций
Время выполнения теста
Total Rows
1,313
3,030
3,040
264
3 минуты 27 секунд
11616




Облачный сервер Amazon EC2:

Транзакций в секунду
Среднее время отклика (сек)
Среднее время выполнения транзакции
Количество транзакций
Время выполнения теста
Total Rows
1,542
2,586
2,591
264
2 минуты 57 секунд
11532



Пусть вас не удивляет несоответствие общего времени выполнения теста и среднего времени отклика, умноженного на количество запросов: четыре пользователя выполняют запросы одновременно, так что это вполне естественно.

Ценник


Прейскурант Amazon EC2 можно найти по ссылке. Цены могут довольно серьезно отличаться в зависимости от типа облачного виртуального сервера — для кратковременного тестирования мы использовали инстансы по требованию, но есть и другие варианты, если вы готовы, например, зарезервировать ресурсы сразу на год или утилизировать свободные вычислительные ресурсы Amazon EC2. Виртуальный облачный сервер t2.xlarge с Windows обойдётся пользователю в $0,2266 за час работы + налог (все цены в прайсе указаны без учета налогов и сборов). Если машина работает в течение месяца (~720 часов), пользователь заплатит около $163,15 без налога — точную сумму подсчитать невозможно, поскольку в месяцах разное количество дней. Плата за использование инстансов EC2 начисляется с шагом в одну секунду, а минимальный период использования составляет 60 секунд. Аналогичным образом плата за выделенное хранилище для томов EBS SSD (gp2) будет начисляться на посекундной основе с минимальным периодом использования 60 секунд. 1 ГБ хранения в датацентре штата Огайо стоит $0,10 в месяц ($10 без налога за 100 ГБ), но есть и схема оплаты с выделенными IOPS.
Наш виртуальный сервер обойдётся заказчику в 4208 рублей за месяц работы или примерно 5,56 рублей (в районе $0,1) в час. Тесты проводились на базе стандартного процессора Intel Xeon E5-2620v4, но мы недавно добавили новые процессоры с более высокой производительностью (тактовая частота 3,8 ГГц) для баз данных.

Итоги и выводы


Обе машины показали очень близкие результаты. Несмотря на то, что у инстанса Amazon EC2 результаты вычислительных тестов оказались формально чуть лучше, мы обходим их в разы по дисковым операциям. Главный вывод очевиден: хотя наш сервис не может тягаться с крупнейшии мировыми облачными провайдерами по количеству предлагаемых клиентам услуг, по качеству в своей узкой нише он вполне конкурентоспособен. Ну и по цене мы обходим их более чем вдвое.

Комментарии (22)


  1. xmaster83
    27.12.2017 18:10
    -1

    Мне одному кажется что это дешёвый пиар?


    1. istechkin Автор
      27.12.2017 18:35

      Ну почему же дешевый? =) И потом — мы предлагаем тестирование не только внутренним экспертам, но и внешним =) Хотите потестировать?


    1. alterpub
      27.12.2017 22:56
      +1

      Угу, особенно сравнение с инстансами t2.* :))


      1. istechkin Автор
        28.12.2017 15:33

        Дело ж не в этом! А как же кровь, слезы и любовь, вложенные в текст? И все ж для вас, все ж для вас =)


    1. Dessloch
      29.12.2017 04:15

      Видимо да. Любая конкуренция ведёт к улучшению качества услуг и снижению цены.


  1. SffD
    27.12.2017 18:19

    Регистрация на Amazon AWS простая, деньги возвращают всегда, примерно неделя-две срок. Но там есть косяк, нужно им предоставить паспорт и любой твой чек по факсу, по факсу карл!, но правда прокатывает 50/50 и fee интернет факс.
    Карточки лучше использовать виртуальные, мне на бесплатном аккаунте насчитали 2 доллара непонятно за, что. Не сняли, т.к. карты виртуальные были.

    И да, пока у Amazon AWS нет своих дата центров в России их услуги мало кому будут интересны…


    1. istechkin Автор
      27.12.2017 18:36

      Но, тем не менее, согласитесь, они остаются неким стандартом индустрии. С ними интересно сравнивать.


    1. Akuma
      27.12.2017 19:20

      Вот кстати на счет ДЦ в России. Для меня, например, это основная проблема.
      Да, мне нужно будет 100500 xlarge инстансов, но без ДЦ в России мне вообще от них ничего не нужно.

      P.S. Уверен, так же думают и другие мелкие проекты


      1. istechkin Автор
        28.12.2017 15:40

        Akuma имею встречный вопрос: а почему? Ведь стоимость услуг в Европе и России — сопоставимая. А безопасность данных, по нынешнему законодательству, в Европе, пожалуй, выше. По крайней мере ваши данные в меньшей степени зависят там от желания конкурентов рассказать ответственным товарищам о том, что вы чем-то нарушаете закон (даже если это на самом деле не так). Разве нет? Почему принципиально размещать именно в России?


        1. Akuma
          28.12.2017 18:05

          Извиняюсь, опечатался: «мне не нужно будет 100500 xlarge», ну не суть.

          Запросто. Вот мои несколько причин, почему я отдаю предпочтение российским хостерам.

          1) Это закон о хранении ПД в России. Можно конечно сделать БД в России, а остальное перекинуть на Амазон — но задержки будут довольно существенные и попросту ненужные. Возможно есть еще какие-то способы и варианты обхода законов, но я считаю, что оно того не стоит.
          Теоретически, можно сделать реплику на Российский сервер, а основную БД оставить где угодно. Но это не точно.

          2) Доступность серверов. ДЦ в Москве или Питере откликаются гораздо быстрее западных, банально потому что они ближе расположены. Плюс, они меньше подвержены различным блокировкам по поводу и без.
          А на одном из моих проектов физическое расположение в России и вовсе обязательно условие нормальной работы.

          3) Техподдержка. Как минимум, мне удобно общаться на русском. Не то чтобы английский вызывал серьезные проблемы, но вот конкретно я обращаюсь в сапорт обычно за какими-то специфичными вещами, которые на английском могу случайно неправильно объяснить.

          4) Курс доллара, а точнее дороговизна доллара. Оплата в долларах выходит в лучшем случае равной по стоимости.

          Конечно, в какой-то степени это личные предпочтения или особенности проектов, но тут уж каждый для себя выбирает.

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


          1. Akuma
            28.12.2017 18:18

            Только обратите внимание, я не сравниваю конкретно Амазон с какими-то местными хостингами. Амазон — это сложная и масштабная структура, а не простые облачные сервера. Их так просто не сравнить.


    1. alterpub
      28.12.2017 17:33

      про «мало кому» смешно, я так понимаю ваш кейс это веб-сервер для местной аудитории? ))


  1. ALexhha
    27.12.2017 20:41

    У Amazon есть датацентры в Европе, но поскольку проверяем мы в основном вычислительные мощности и производительность дисковой подсистемы, местонахождение виртуального сервера также не принципиально.
    а выбор ДЦ у Амазона в США был сделан по каким то религиозным причинам? Ведь задержка это тоже очень важный параметр. Ибо толку от того, что у вас диски быстрее, но задержки будут больше

    Если какой-нибудь злодей угонит ваш аккаунт
    для этого давно придумали 2х факторную авторизацию

    может возникнуть серьезная задолженность, такие прецеденты уже были.
    для этого и ввели квоты. А что будет в вашем случае? Есть ли какое то квотирование? Или если злоумышленник получит доступ к аккаунту он сможет запустить 100500 виртуалок?

    GeekBench 4
    вы ведь в курсе, что у t2 инстансов идет квотирование на CPU? Вы мониторили при этом CPU credits у t2?

    General Purpose SSD от Amazon EC2 показал в разы более скромные результаты:
    а по каким параметрам был выбран gp2, а не provisioned ssd? Какие типы дисков есть у вас? Ибо формулировка — 'накопитель 100 ГБ SSD' выглядит очень абстрактно


    1. istechkin Автор
      28.12.2017 15:44

      1. Никаких религиозных причин. Продолбали. Вы же понимаете — статьи это следствие нашей основной работы, а не причина =) А когда чухнулись — жалко было того, что уже сделали. Поэтому просто взяли еще одну виртуалку AWS в Европе и пинганули. Получилось сопоставимо. Так что как могли — пофиксили косяк. Решили, что лучше все-таки опубликовать интересный тест до Нового года, указав данные пинга в Европе. По остальным параметрам там вряд ли были бы существенные изменения.
      2. И снова вы правы =)
      А вот по вопросам 3 — 5 готовим более развернутый комментарий.
      В любом случае — большое спасибо за интерес к тексту. Это вообще принципиальная отличительная черта сообщества Хабра: тут народ не только читает, но еще и реагирует! Прям даже писать приятно! Несмотря на то, что реагируют, обычно, темпераментно =)) Но так даже интереснее.


      1. istechkin Автор
        29.12.2017 14:56

        По поводу двухфакторной авторизации: в Amazon она опциональная, значит пользователь может по незнанию или невнимательности не включить.


      1. istechkin Автор
        29.12.2017 14:57

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


  1. kxl
    27.12.2017 23:16
    +1

    Началось с того, что у российских сервисов есть несколько неоспоримых преимуществ… Cанкции и т.п… Думаю, когда же упомянут закон о персональных данных… И вдруг Atlex (Чехия, Прага)… Что там дальше стало фиолетово.


    1. istechkin Автор
      28.12.2017 15:37

      kxl не вопрос, приходите к нам в Россию =) Была машинка готовая в Чехии — взяли ее. Кстати, про Прагу — спасибо, вот это реально наш косяк. На самом деле машинка стояла в Весели над Лужници (Юго-Чешский край). Так что приносим извинения за эту маленькую дезинформацию.


  1. arheops
    28.12.2017 12:08

    А hetzner с двумя SSD еще круче(если брать сравнимой стоимости), и что?

    А другие части амазон инфраструктуры у вас есть?

    А то, знаете ли, vultr еще круче.


    1. istechkin Автор
      28.12.2017 15:37

      Не понял вопрос. Если не сложно, уточните, пожалуйста.


      1. arheops
        28.12.2017 15:56

        Amazon EC2 это не только виртуальные сервера, но и гарантированна надежность, EBS, SEMS, SMS и так далее.
        Вы берете крайне специфический инстанс(c изменяемой мощностью) и пытаетесь доказать, что ваши — быстрее.
        Ну тогда ж надо сравнивать с такимиже. С тем же vultr например.


        1. istechkin Автор
          28.12.2017 23:23

          А что? Интересный челлендж! Приходите, давайте попробуем вместе =)