Облачные мифы: перезагрузка

Прочитавшие прошлый пост написали мне много упреков: начиная от неправильной методики расчета и заканчивая неправильным подходом. Хорошо, исправляюсь.

Итак, будем опять сравнивать обычный сервер: 16 гигов памяти, работает 100%. Рассчитывать будем на 3 года, ведь мы не просто так пришли на рынок …

Для амазона это m3.extralarge. Идем на страничку с ценами

На 3х годичном периоде мы должны будем заплатить $2640 сразу для получения стоимости $0.052 за час работы. Считаем сколько нам придеться заплатить:

365 дней * 24 часа * $0.115 * 3 года = $3022 + $2640 предоплата = $5662 за три года.

Для сравнения, подсчитаем, сколько мы потратим на простой on-demand:

365 дней * 24 часа * $0.500 * 3 года = $13140

Как видим, разница очень существенная. Платим чуть больше в начале, что бы выиграть потом. Внушает, поэтому берем сумму $5662 за три года в качестве базовой.

Для начала сравним с аналогичными тазиками от hetzner EX4

43 евро за установку + 43 евро в месяц * 12 месяцев * 3 года = 1591 евро * 1.34 курс = $2131

Берем аналогичный сервер от softlayer – $499 в месяц. Или $17964 за три года.

Rackspace даже смотреть не буду, там и так цены выше небес …

iWeb: $369 в месяц или $13284 за три года. Почти как on-demand у амазона!

Согласитесь, цифры говорят сами за себя. Это мы считали для тех серверов, которые должны быть доступны всегда. Но ведь есть сервера, которые должны быть доступны только в рабочее время. Скажем, сервер 1C. Кто-нибудь видел работающую ночью бухгалтерию?

Считаем:

У амазона это medium utilization сервера

365 дней * 24 часа * $0.167 * 3 года * 50% работы = $2154 + $2200 предоплата = $4354 за три года. А если заплатить как за heavy?

365 дней * 24 часа * $0.115 * 3 года * 50% работы = $1511 + $2640 предоплата = $4151 за три года.

И тут можно $200 на пиво сэкономить … Сравнивать с обычными серверами тут бессмысленно – выключай/не выключай их – сумма все равно будет одинаковой …

А теперь прикинем для машинок, которые работают пару часов в день. Скажем, бекапный сервер.

365 дней * 24 часа * $0.5 * 3 года * 10% работы = $1314

light:

365 дней * 24 часа * $0.272 * 3 года * 10% работы = $714 + $935 предоплаты = $1649

medium:

365 дней * 24 часа * $0.167 * 3 года * 10% работы = $438 + $2200 предоплата = $2638

heavy:

365 дней * 24 часа * $0.115 * 3 года * 10% работы = $302 + $2640 предоплата = $2942 за три года.

Как видим, в этом случае дешевле просто заплатить по on-demand плану.

Что там у нас осталось против облаков? Низкая пропускная способность? И тут меня ткнули носом в то, что у амазона появились машинки, у которых есть гарантированные I/O. Есть даже те, у которых диски на ssd размещены. Да, они дороже, но ведь и в обычной жизни такие машинки нужны далеко не всегда …

Итак, что у нас в резюме? Всё тоже самое: надо считать и считать правильно.

На данный момент с облаком от амазона могут конкурировать только бюджетные провайдеры типа того же hetzner. Остальные в 2-3 раза (а в особо исключительных случаях и в 10 раз) дороже.

Где же всё-таки засада? А засады нет. Так, мелкие заподлянки. Скажем, если вы организуете сервер закачек. У обычных провайдеров обычно планы в духе “до 100Гб трафика в месяц на сервер бесплатно”. У амазона – за 100Гб заплатите 99 * $0.12 = $11.88 сверху. Надо много дисков? $0.10 за гигабайт в месяц (или $102 за терабайт  в месяц). Плюс столько же за миллион операций с ними …

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

Скажем, если вы пожелаете разместить свой почтовый сервер у амазона, то тут же столкнетесь с тем, что весь адресный диапазон амазона сидит в перманентных блок-листах против спамеров. Вытаскивать оттуда адреса можно, но дико муторно … Зато у амазона есть сервис SES.  $0.10 за тысячу прошедших через него сообщений. Плюс еще немного за трафик … Поинтересуйтесь в логах своего почтового сервера, сколько он сообщений наружу отправляет. У меня получилось примерно 200 на аккаунт в месяц.

В общем, копеечка к копеечке и амазону хорошо. А вам – калькулятор в руки и считать 🙂

На этой ноте позвольте и завершить свой текст.

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

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

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

Давным-давно 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’а, попросту купив несколько серверов в разных датацентрах …

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