Несмотря на «технический» вид этого термина, DevOps — не о технике, а опять же об управлении. Точнее, о выстраивании отношений между теми, кто разрабатывает продукт, и теми, кто его доставляет клиенту. Тем, кто работает по agile-методологии, DevOps служит хорошим подспорьем, и не случайно он сейчас в фокусе внимания ИТ-рынка.
Поначалу казалось, будто нарушение привычного производственного цикла погубит дело на корню — ну, не было ни у кого ни опыта, ни нужных навыков. Отсюда и начались поиски новых технологий и методов разработки. Выполнил своё дело agile, запустивший подготовку решений короткими циклами и в постоянном взаимодействии с заказчиком, а потом пришла очередь новых идей. Итак, DevOps. Это, прежде всего, максимальная автоматизация всего и вся. Везде, где только можно убрать труд человека или значительно его упростить, это нужно сделать. В основе лежит такая идея: разработка, тестирование и эксплуатация программных продуктов — это единый, бесшовный и циклический процесс.
Собственно, суть — в самом термине, сообщающем, что разработка и внедрение решений — это непрерывный цикл. Такая постановка задачи отвечает на вызов рынка, требующего, чтобы изменения делались как можно быстрее. Словом, на динамичном рынке и действовать надо динамично. Бывает ведь и так: утром клиенту пришла в голову мысль, а реализовать её он требует к вечеру.
Ещё вчера подобные ситуации были немыслимы, все мы — и банки, и компании — работали в совершенно ином ритме. Сейчас сроки внедрения сократились, как минимум, на порядок. Для прежнего времени запускать изменения «быстро» — значило раз в три месяца. Вот и судите, каково было перестраиваться и банкам, и софтверным компаниям.
Короче говоря, с лёгкой руки таких гигантов как Amazon или Netflix, которые первыми вынесли на рынок потребность в быстрых изменениях, перед ИТ-компаниями встала задача — поменять стиль работы. Никаких долгих постановок и закрытых циклов — всё с колёс. При том что требования к качеству и надёжности со стороны рынка оставались по-прежнему высокими, без каких-либо скидок на сроки.
Нет единого инструмента DevOps — это, скорее, набор из нескольких инструментов. Как правило, инструменты DevOps вписываются в одну или несколько из ниже перечисленных категорий, что отражает ключевые аспекты разработки и доставки программного обеспечения:
1. Coding — разработка и анализ кода, инструменты контроля версий.
2. Building — инструменты непрерывной интеграции.
3. Testing — инструменты непрерывного тестирования.
4. Packaging— подготовка приложения к развёртыванию.
5. Releasing — управление изменениями, автоматизация выпуска.
енты контроля версий.
6. Configuring — управление инфраструктурой; инфраструктура как код.
7. Monitiring — мониторинг производительности приложений; опыт работы с конечным пользователем.
от англ.
development — р
азработка
и operation — здесь:
внедрение