Облачные мифы

Что-то в моем окружении стало все больше и больше слов про то, какие “облачные технологии” крутые, какие “облака” дешевые и как станет всем хорошо, как только вы переведете свои сервера в “облака”.

Для начала немного о том, что же такое облака.

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

Данный подход на “ура” восприняли разработчики, администраторы и прочий компьютерный люд. Ведь теперь можно было без боязни нарушить что-то в работе поразбираться с новыми продуктами. Что-то пошло не так – восстанавливаем предидущий образ и продолжаем работу с прерванной точки.

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

Ну дальше начался взрывной рост виртуализированных систем всех возможных направлений. Xen, VirtualBox, Parallels на слуху у всех, поэтому повторяться не буду.

Первоначально все эти системы использовались под лозунгами экономии ресурсов (а в некоторых странах еще и экологии). В самом деле, большинство серверов большую часть времени не загружают процессор на 100% и попросту расходуют электроэнергию. А размещением нескольких виртуальных машин на одной физической мы более грамотно расходуем как физические ресурсы (место, электроэнергию), так и время обслуживающего персонала (то же резервное копирование делается гораздо проще, да и управлять одной железкой проще).

Системы росли по возможностям, у них стала появляться “живая миграция” (это когда одна виртуальная машина без остановки перемещается с одного физического сервера на другой) и “динамические ресурсы” (к примеру выделенную память для одной виртуальной машины можно было передать другой).

Все радовались возросшим возможностям, пока какому-то гениальному идиоту не пришла в голову идея, как еще можно заработать на этом. Придумали название “облачные вычисления”, дескать вы отдаете свое в некое безразмерное облако, а там выделяется сколько надо ресурсов … В общем, коммунизм, только в области ИТ.

И тут, как обычно, пришли маркетологи и совершенно не разбираясь в том, что они маркетят, начали обвешивать лозунгами всё, до чего они могут дотянуться. Я встречал утверждения в духе “теперь 99,999% надежности не предел”, “сервера сами адаптируются под нагрузку и вы платите только за то, что реально надо”, “сервера в облаке стоят гораздо дешевле” и прочий бред.

Почему бред? Ну давайте буду разбирать по пунктам. Начну с последнего. “Облачные сервера дешевле”. Для примера могу дать документ по TCO от самого Амазона:

Там одна из первых картинок:

AWS Price

 

Казалось бы, ура! Даже в самом плохом случае выигрыш аж 68%! Срочно надо заводить аккаунт и платить деньги.

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

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

Итак, почта. 200 ящиков, кучка списков рассылки и так далее. Никаких лимитов не ставится принципиально. Сначала диски:

root@mail:~# LANG=C df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 7.9G 3.4G 4.2G 45% /
tmpfs 2.0G 0 2.0G 0% /lib/init/rw
udev 2.0G 128K 2.0G 1% /dev
tmpfs 2.0G 0 2.0G 0% /dev/shm
/dev/vdb2 194G 182G 2.4G 99% /opt

Как видим, 8Гб под систему и 200Гб под почту. Теперь память.

root@mail:~# free -go
total used free shared buffers cached
Mem: 3 3 0 0 0 0
Swap: 3 1 2

4Гб и еще один в свопе.

Про процы – там 4 ядра от ксеончика на 2,2ГГц откушено.

В общем-то ничего такого.

Теперь идем на амазоновский калькулятор и считаем, во сколько нам обойдется такая виртуалка. Немного подыграем амазону и выберем m1.medium:

M1 Medium Instance

3.75 GiB memory
2 EC2 Compute Unit (1 virtual core with 2 EC2 Compute Unit)
410 GB instance storage
32-bit or 64-bit platform
I/O Performance: Moderate
EBS-Optimized Available: No
API name: m1.medium

Как видим, почти один-в-один. Считаем:

AWSMedium

 

Как видим, амазон предположил, что при данных условиях нам наш почтовый сервер обойдется в 300 долларов за месяц. Э-э-э-э …

Ну у нас вообще-то не одна машина, а много (поглядел – порядка десятка крутятся на хосте) … Но все равно, давайте попробуем сравнить.

С демосом (закроем глаза на то, что там больше диска, процессоров и памяти, просто меньше не было).

Demos

Ну … можем сказать, что примерно тоже самое. А теперь возьмем самого дорогого буржуйского провайдера – RackSpace.

Rackspace

Ура! Цена-то офигеть какая! Ну и пофиг, что опять проца, памяти и диска больше. Но цифры-то практически приближаются к тем, о которых говорит амазон!

Сделаем шаг в сторону iWeb.

Screen Shot 2013-02-06 at 13.14.28

Упс … Как-то не вяжется, да? 100 баксов супротив 300 … Но это для дохлых машинок, они изначально дороже в эксплуатации …

Ладно, давайте поглядим, сколько будет стоить машинка с теми же характеристиками, которые используются хост-машиной. 2 ксеона, 16Гб памяти, 1Тб в рейде …

Амазоновский m1.extralarge – $654 в месяц

Демос: 11677 рублей в месяц.

RackSpace: $1089 в месяц

iWeb: $559 в месяц

И что бы закопать, Hetzner EX-4 – 49 евро в месяц

При этом необходимо учитывать, что у виртуальных машин амазона есть два больших недостатка: Во-первых, в них невозможно сделать никакой другой виртуализации, кроме пара-. То есть максимум OpenVZ. И во-вторых, скорость работы с амазоновскими дисками на порядок (тестировал с год назад) меньше работы с локальными в серверах.

Итак, время подводить итоги. Во всех случаях, кроме RackSpace, амазон оказался дороже. И ни о каких “на 68% дешевле” даже речь идти не может.

Почему же так получилось с RackSpace? Просто это хостер так называемого “премиум”-сегмента. Когда я с ними работал, они присылали мне счета на офигенно приятной бумаге и шоколадку на новый год. Конечно, приятно, но я вполне удовлетворюсь счетом в окне почтового клиента, а шоколада за такие цены я смогу купить гораздо больше.

Но ведь не могут же быть люди настолько тупыми, что бы платить больше за меньшее? Да еще и в 2-3 раза больше … Могут, ибо велика сила маркетолухов! Но к счастью такие не все.

“облака” совершенно шикарно перебивают по всем параметрам обычные сервера в одном типе задач: класс “прибежал-посчитал-убежал”. То есть 100% работы сервера совершенно не нужно. Яркие примеры: системы видеоконференций (нужно поговорить – поднял. поговорили – опустил), системы для обсчета чего-либо громоздкого (скажем, спер образ блюрейного диска – включил, задавил в нужные форматы и выключил). Так что в той самой картинке уровень “правдивости” повышается к правой стороне 🙂

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

Да, все так: создание нового сервера в амазоне занимает минуты две-три. У самых “быстрых” провайдеров – минут 30 минимум. И у амазона сервер можно создать из заранее созданного образа, а у обычного провайдера придется еще настраивать голуйю операционку …

Где засада? Засада в приложениях. Они как-то крайне фигово относятся к тому, что внезапно где-то появляется еще одна их копия, которая обрабатывает те же данные, что и они. А ведь эта копия практически точно так же может и внезапно пропасть … Почитайте, сколько волос админы вырвали себе из разных мест, когда пытались заставить что-либо работать в кластере …

В итоге опять почти правда – “саморазмножение” серверов удобно использовать, когда поток информации следует в одном направлении: сервера закачек к примеру. Вышел новый релиз, сервера размножились, что бы всех обработать, а потом самоуничтожились. Правда, в связи с развитием торрентов пример несколько натянутый, но тем не менее.

Или небольшой и несложный веб-сайт. Там тоже довольно легко размножить сервера. Но проблема в том, что на небольшие сайты не ходит столько народу, а на больших сайтах такие технологии не нужны ….

Опять провал.

Теперь про надежность. Я открою страшную тайну: сами по себе виртуалки падают точно так же, как и физические сервера. Абсолютно точно так же. И про надежность может идти речь только в области инфраструктуры: числе каналов наружу, числе резервного оборудования и так далее. И тут опять же разницы нет между обычными и “облачными” провайдерами. И я точно получу гораздо большую надежность у тоже же hetzner’а, попросту купив несколько серверов в разных датацентрах …

Вывод? Не ведитесь на модные слова и все новое – это хорошо забытое старое …

2 thoughts to “Облачные мифы”

  1. есть хорошее “приложение” – mongodb. Авторы сделали достаточно, что бы новый сервер добавлялся в кластер без напряга. Плюс, весь этот хайп вокруг облаков очень стимулирует сраз уписать приложения так, что бы они могли работать на кластере. И что бы понима, что вот – добавился еще один хост, его можно загрузить работой. Вот, он простаивает, его смогут прибить.

  2. есть хорошее “приложение” – mongodb. Авторы сделали достаточно, что бы новый сервер добавлялся в кластер без напряга. Плюс, весь этот хайп вокруг облаков очень стимулирует сраз уписать приложения так, что бы они могли работать на кластере. И что бы понима, что вот – добавился еще один хост, его можно загрузить работой. Вот, он простаивает, его смогут прибить.

Comments are closed.