Разработка — это недешево, и чтоб она окупалась, необходимо стремительно выпускать продукты на рынок, обгонять соперников и гибко реагировать на изменяющиеся требования юзеров.
Посодействовать в этом может DevOps — особенный подход к разработке, который дозволяет заавтоматизировать рабочие процессы и резвее выпускать готовые IT-продукты.
Вкупе с Павлом Селивановым, ведущим DevOps-инженером Mail.ru Cloud Solutions, и иными профессионалами разберем, что же это все-таки за подход, какие задачи решает DevOps и какие инструменты необходимы для его внедрения и реализации.
Что такое DevOps ординарными словами
Традиционный процесс разработки состоит из 3-х разбитых шагов:
-
поначалу команда программистов — Dev — пишет код и делает его сборку;
-
позже команда тестировщиков — QA/QC — берет код от программистов и тестирует его;
-
в конце концов, команда админов — Ops — устанавливает тестированный код на «боевые» серверы, другими словами преподносит его юзерам.
Неувязка этого подхода в том, что все три шага плохо соединены меж собой:
-
программеры пишут код, и что с ним происходит далее, их не тревожит;
-
тестировщики могут три денька тестировать не ту версию кода, поэтому что новейшую запамятовали передать;
-
админы устанавливают код на «боевые» серверы, а ничего не работает: конфигурация там не таковая, как у тестировщиков.
А еще разработка идет медлительно, поэтому что задачки меж программерами, тестировщиками и админами перебрасываются группами, а не в потоке. К примеру, админы поначалу собирают пачку жалоб от юзеров и лишь позже передают ее программерам. Программеры исправляют, тестировщики тестируют — и до обновления с исправлением ошибок проходит много времени.
Плюс задачки посылают и принимают живы люди с ограниченной пропускной способностью. И может появиться «бутылочное горлышко» — в одном отделе будут нескончаемо накапливаться задачки. К примеру, если тестировщики не успевают тестировать, то и программеры, и админы будут посиживать без работы.
Чтоб все это поправить, возник DevOps — это особенный подход к организации установок разработки. Его сущность в том, что создатели, тестировщики и админы работают в едином потоке — не отвечают любые за собственный шаг, а вкупе работают над выходом продукта и стараются заавтоматизировать задачки собственных отделов, чтоб код переходил меж шагами без задержек. В DevOps ответственность за итог распределяется меж всей командой.