- PVSM.RU - https://www.pvsm.ru -

Свое облако, в 10-15 раз дешевле Amazon EC2

Заголовок получился достаточно желтый, но он лучше всего передает суть поста: можно создать свое вычислительное облако, которое будет на порядок дешевле, чем предлагает Amazon EC2. Есть множество нюансов, из-за которых подобное “дешевое облако” может не подойди, но, на мой взгляд, для многих задач оно вполне подходит и справляется с ними отлично.
Свое облако, в 10 15 раз дешевле Amazon EC2
Далее я хочу рассказать о нашем опыте использования OpenStack, развернутого у Hetzner’a, и привести расчеты стоимости подобного облака.

Hetzner

На мой взгляд, Hetzner — лучший хостинг-провайдер [1]! Мне всё равно, что у них стоят десктопы или б/у диски, не ECC память, и ещё что-нибудь. У меня сейчас 14 серверов, самому старому — 3 года и пока не было ни одной сколь значимой проблемы.

Я убежден, что железо должно быть дешевым! Программное обеспечение должно стабильно работать на дешевом железе, в котором возможны отказы, сбои, потери данных. Я никогда не понимал, когда проблемы производительности высоконагруженых систем хотят решить покупкой пары топовых серверов. Система должна быть спроектирована для работы на недорогом железе, это должно быть заложено как в архитектуре самой системы, так и в технологиях, которые она использует. Естественно, для ряда задач лучше и дешевле надеяться на дорогое железо, чем разрабатывать отказоустойчивый софт (например, в банковской сфере). Но таких задач, на мой взгляд, меньшинство.

OpenStack

Не буду подробно останавливаться на том, что такое OpenStack и как его устанавливать — такой информации уже достаточно много. Отмечу, что при развертывании мы руководствовались принципом, что облако должно быть по максимуму децентрализованною. Т.е. у нас нет ни единого узла, выход из строя которого ломал бы всё наше облако. Даже если из строя выйдет сервер с контроллером OpenStack’a — самое страшное что мы получим, так это отсутствие возможности управлять состоянием виртуальных машин (создавать/останавливать и т.п.). Все виртуальные машины продолжают работать. Это относится как к сети, так и к DNS и другим нужным службам.

Сейчас в облаке 10 серверов разных конфигураций (начиная от стареньких EQ4 до EX4S). Суммарные ресурсы такого облака: 240 GB оперативной памяти, 72 ядра и 54 TB дискового пространства (без RAID).

Стоимость

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

Арендовать On-Demand Small Instance (1.7GB, 1 VCPU, 160GB, Ireland) стоит $0,08 в час. По моим расчетам, часовая аренда данного инстанса в своем облаке на базе серверов Hetzner EX4S будет стоить $0,00488 в час, т.е. в ~17 раз дешевле! При расчетах я использовал простой принцип: сколько виртуальных машин схожей конфигурации я смогу уместить на сервере (с учетом издержек хост-системы). Если говорить про Reserved Small Instance, то разница примерно в 10 раз. Для других типов инстансов цифры похожи. Я допускаю, что в расчетах есть ошибки: к примеру вы можете справедливо отметить, что хост-системе может потребоваться больше памяти (сейчас 1GB), или, что не будет хватить CPU (сейчас на 1 CPU приходится 3 VCPU). Возможно. Но всё равно это решение будет в разы дешевле. И оно отлично работает. Вот ссылка [2] на таблицу с расчетами.

Повторюсь, что я понимаю, что некорректно сравнивать свое облако с Amazon, что есть ряд минусов (отсутствие из коробки публичных IP, дополнительных сервисов, трудоемкость развертывания/поддержки, добавьте свой вариант), но с учетом стоимости, пожалуй, на многое из этого можно закрыть глаза!

Если кому нужна помощь в развертывании подобного облака — будем рады помочь.

Автор: chardex


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/oblachny-e-vy-chisleniya/15423

Ссылки в тексте:

[1] хостинг-провайдер: https://www.reg.ru/?rlink=reflink-717

[2] ссылка: https://docs.google.com/spreadsheet/pub?key=0AmjMlAbgoE7QdF9wemdDLUhuNlRsQ2phekN6N0U0dXc&output=html