Как Vagrant и Chef ускорили разработку в несколько разНепрерывное развертывание и деплой

Доклад принят в программу конференции
Тимур Батыршин

Руководитель направления DevOps в компании Axenix, занимается развитием практики DevOps в компании, техническими пресейлами и архитектурным проектированием облачных решений.
Человек-энциклопедия, свободно ориентируется в любой теме, связанной с IT, — от продуктового подхода и проектирования сообществ до кубернетисов и развертывания даталейков.
За счет широчайшего кругозора свободно решает проблемы, находящиеся на стыке нескольких предметных областей.

Стоял у истоков крупнейшей российской конференции по DevOps — DevOpsConf, продолжает ей заниматься с 2017 г. и по настоящее время.
Регулярно выступает с докладами и на других конференциях и митапах.

Год назад у нас в компании еще никто специально не занимался серверами и их конфигурацией.

Был целый спектр проблем, обычных для такого случая:
* ручная выкатка новых версий на продакшн занимала несколько часов;
* большая часть времени программистов уходила на настройку своих окружений разработки и синхронизацию их между собой;
* везде на тестовых серверах стояли неизвестно какие версии, и из-за этого куча времени уходила на баги, которые могли быть уже исправлены несколько дней назад;
* неправильная конфигурация каких-то компонентов приложения приводила к неработоспособности приложения целиком.

Чтобы исправить положение мы сделали следующее:
* завернули всю конфигурацию в Chef;
* для управления конфигами приложений начали использовать augeas (у нас большие и часто меняющиеся конфиги;
* теперь ежедневно автоматически собирается образ сервера со всеми установленными и настроенными приложениями последней версии, из которого разработчики при помощи Vagrant могут создавать себе сервера по мере необходимости, не отвлекаясь на установку, обновление и настройку;
* Ежедневно Jenkins из того же образа Vagrant-ом поднимает сервера и прогоняет на них тесты.

Теперь наши разработчики спокойно спят ночами, вместо того, чтобы спешно фиксить баги.
Процесс разработки стал более предсказуемым. Скорость исправления багов возросла. Все счастливы.

Другие доклады секции Непрерывное развертывание и деплой