Yandex Compute Cloud

Итак у меня есть простейшее веб приложение написанное на Python с использованием фреймворка Flask. Я его обернул в Docker и запушил в Docker Hub в приватный репозиторий. Для упрощения всего я не использовал ни gunicorn, ни nginx. Цель сегодняшнего эксперимента быстро (пыщ пыщ и в продакшен) опубликовать мое веб приложение в сеть используя инфраструктуры Docker и Yandex Compute Cloud.

Я не профессионал в сервисах Yandex Cloud, а лишь разбираюсь в них, используя Грант Яндекса на 4000 рублей. Из них, кстати, лишь 1000 рублей можно использовать для работы с Yandex Compute Cloud.

Сервисный Аккаунт в Yandex Cloud

Для нашей последующей работы мне понадобится Сервисный Аккаунт в Yandex Cloud. Как его создать я рассказывал в этом видео . В отличии от аккаунта в том видео роль у сегодняшнего сервисного аккаунта должна быть editor.

Ключи SSH

Также для мне понадобятся ssh ключи для доступа в инстанс по ssh. Как их сгенерить см. здесь . Ну и в видео это тоже есть.

Создание виртуальной машины Yandex Compute Cloud

У Yandex Cloud есть свой репозиторий для хранения образов докер. И даже есть инстансы для удобной работы с образами из своего репозитория. Возможно и этот вариант я попробую дальше, однако сегодня я подниму обычный инстанс на Debian, установлю Docker по официальной инструкции , скачаю свой образ и запущу его в инстансе. Подробнее в видео.

Про тарификацию Yandex Compute Cloud

Тарификация во всех IaaS будь то Yandex Compute Cloud, Google Cloud или AWS часто непростая штука. Сходу разобраться сложно и в сети хватает историй когда люди попадали на ощутимые деньги. Поэтому будьте внимательны в таких сервисах.

Согласно правил тарификации Yandex Compute Cloud :.

  • они не тарифицируют остановленный инстанс, т.е. инстанс не нужно удалять, чтобы не платить за него (как в некоторых других сервисах)
  • они тарифицируют объем диска, даже если инстанс остановлен,
  • тарификация посекундная
  • исходящий трафик не тарифицируется до 10Гб, свыше 0,96 руб/10Гб

Во время записи видео я создал три инстанса и три диска. Жили они не долго, совокупно менее часа. Диск от последнего инстанса и сам инстанс (остановленный) до сих пор не убиты в аккаунте. В итоге вышел вот такой биллинг.

Биллинг Yandex Compute Cloud

 

И ещё один биллинг, после другого видео и этот биллинг поинтереснее. Пусть здесь будет.

Биллинг Yandex Cloud

Чуть позже я сделал ещё одно видео, где развернул более полноценное веб приложение. С nginx, gunicorn, postgresql и куртизанками. И снял об этом видео:

А код к тому видео лежит у меня на гитхабе .

Если сравнивать Yandex Compute Cloud ( и вообще облачные масштабируемые решения ), то, на мой взгляд, они выглядят сильно дороже обычных VDS / Dedicated. Тут можно неожиданно попасть на деньги (например при ддосе). Однако они интересны, если сервис нужен эпизодически (выгрузить большой отчет и выключить инстанс) или на сервис ожидается периодическая значительная нагрузка. А ещё у инстансов динамические айпишники — это дополнительный бонус для тек кто в теме ;))