“У нас не хватает серверов на…” – это только отговорка

облачные сервера

Очень часто в совершенно разном контексте слышу одну и ту же отговорку: “у нас не хватает серверов на…”. В продолжении этой фразы может стоять запуск модульных тестов, параллельный запуск функциональных тестов, сборка проекта на каждый коммит и многое другое. Давайте вспомним, что на дворе уже давно 21-ый век и поймем, что это действительно лишь отговорка!

Мы живем во время бума облачной разработке. Облачных провайдеров услуг становится все больше и больше. Цены на подобные услуги становятся все ниже и ниже. А труд специалистов все продолжает расти в цене. Разберемся, сколько же нам могут обойтись услуги облачного провайдера для наших повседневных задач. Для примера возьмем Amazon. Оплата почасовая, поэтому есть возможность платить только за то время, которое мы используем сервера.

Для простоты расчетов предположим, что мы будем использовать 10 серверов на протяжении 10 часов каждый рабочий день (когда нас нет на работе и никто не меняет код нет смысла что-то делать). Если сильной нагрузки на сервер не предполагается, то нам подойдут машинки класса Medium Instance по цене $0.16 в час. Под капотом у нее 3.75 GB RAM и процессор на 2 EC2 Compute Unit (примерно 2-2.4 GHz Opteron или Xeon процессор 2007 года). В этом случае, за 10 часов работы на 10 серверах вы заплатите $16 в рабочий день. Это половина часового рейта средненького разработчика или тестировщика!

Если вам нужны машинки помощнее, то вы можете перейти на следующий уровень и взять Large Instance с 7.5 GB RAM и 4 EC2 Compute Units за $0.32 в час. Легко заметить, что в этом случае стоимость конфигурации из примера будет обходиться вам в $32. Кому нужны еще более мощные машинки, могут посмотреть на шикарный выбор типов и приятную ценовую политику Amazon.

Теперь возникает главный вопрос: “зачем чего-то ждать?”. Зачем ждать пока завершатся все медленные функциональные тесты, модульные и интеграционные тесты, соберется сборка и обновятся отчеты по статическому анализу кода? Современные Continuous Integration сервера поддерживают прозрачную работу с облачными платформами (с Amazon в частности), а инструменты для автоматизации разного вида тестирования поддерживают параллельный запуск тестов.

Вы экономите время всей команды, позволяете сократить в разы цикл обратной связи, значительно ускорить взаимодействие в команде и работу основных этапов на пути от кода до готового продукта. Это экономически выгодно – ведь ожидание любого члена команды стоит гораздо дороже! А если их 5? 10? 20? Вы еще здесь или уже заводите аккаунт на Amazon? 😉

Не хочешь пропускать ничего интересного? Подпишись на ленту RSS или следи за нами в Twitter!

Обсуждение (0)

Leave a Reply

Your email address will not be published. Required fields are marked *