Прошлой осенью я наконец-то поменял работу и из “UMTS Packet Core Engineer/Deputy Chief of O&M Department” стал “DevOps Engineer”. Я и раньше не страдал от отсутсвия интересных дел (правда я сам придумывал себе задачи), но теперь это перешло на совсем другой уровень. В процессе работы я активно использую Amazon Web Services, и чем дальше, тем больше мне это нравится.

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

Недостаток AWS — его цена. Это не Digital Ocean с 5$ за сервер бед скрытых платежей. Здесь ты никогда не знаешь, сколько в итоге заплатишь. Прикинешь цену, умножишь на два (а лучше на три), и тогда счёт не будет шоком. Само собой выставляешь десяток алармов в CloudWatch на суммарную стоимость на текущий момент, но оценить финальный счёт не всегда просто.

Billing Alarm’ы - это конечно, от обжиганий. Например, на своём личном account’е я как-то протестировал Elastic Beanstalk (вариация контейнеров, не EC2 Containers), потом всё удалил, но оказалось, что забыл про два Load Balancer’а в регионе, который не использую. И получил счёт на $55. Мелочь, но дорого.

Поэтому я никому не порекомендую использовать AWS для себя лично. Даже с AWS Free Teer на 12 месяцев для новых пользователей можно влететь на небольшие, но деньги. Детали не уточнял, но у знакомого были нюансы с автоперекидыванием бесплатного инстанса Amazon’ом (не ним) между Availability Zones, и это было не бесплатно. Долларов 5 он заплатил.

В последнее время мне очень нравится CloudFormation. Сделал описание — получил через пару минут VPC, инстансы, AutoScaling Groups, etc. А потом всё удалил одной командой, и ничего не забылось.

Если дойдут руки и вам будет интересно, то буду рассказывать о нюансах. Очевидных после какого-то времени работы, но не в первый момент времени. И не второй.

Например, о том, что для интенсивных дисковых операций нужно использовать IOPS EBS. Или для краткосрочных задач стараться выносить инстансы в регион, в котором сейчас не бизнес-время, иначе могут быть серьёзные задержки по дисковой активности. Или как расширять root’овый раздел для старых дистрибутивов. Или как быть с энтропией. И какие best practices по immutable servers (для меня однажды стало сюрпризом то, что это не то, что я думал долгое время). И т.д. и т.п.

Интересно?