Современные компании не всегда понимают, что такое DevOps, не говоря уже о правильности его внедрения. И это несмотря на то, что данной методологии уже около 10 лет! А необходимость в автоматизации разработки ПО возникает уже сейчас, в чем убеждены многие менеджеры и давние последователи Agile.
Внедрение DevOps помогает улучшить результаты и производительность компании на всех этапах разработки. Этот факт подтверждается отзывами ряда известных директоров. Например, в Duke Energy результаты улучшились в 10 раз.
Планирование на замену аналитике
Процесс внедрения DevOps затрагивает все аспекты разработки. Несмотря на следование принципам Agile, разработка будет занимать огромное количество времени, уменьшая объем релизов в отведенный период. Соответственно, сокращается цикл обратной связи, предназначенный для дальнейшей оптимизации ПО.
Современные тенденции почему-то вынудили многих проводить масштабную аналитику перед началом разработки. В дальнейшем, ей следуют все команды для соблюдения графика. Несмотря на это, такой подход отнимает время.
Для автоматизации разработки ПО необходимо проводить не только аналитику, но и четко определять объем планируемых работ, с указанием конкретных временных рамок. Это и есть планирование. Таким образом, мы получаем несколько команд, которые выполняют определенную работу в указанный срок, имея яркое представление о том, что от них требуется.
Систематический процесс исследования поможет четко определить нужды и пожелания пользователей. Разработчики не будут тратить время на лишние сборки, которые в будущем окажутся неэффективными.
Нередко разработчики сами не понимают, что нужно сделать до тех пор, пока не начнется работа над приложением. Обычно, все твердо убеждены в необходимости реализации того или иного шага, не задумываясь о последствиях.
Внедрение DevOps помогает избавиться от этой проблемы, потому что планирование исключает внесение кардинальных изменений в процессе разработки. Экономится не только время, но и ресурсы компании. Даже после выпуска продукта, команда сможет быстрее осуществлять тестирование и оптимизацию.
Оптимизация способа управления проектом
Исходя из всего вышесказанного назревает вопрос: а зачем нужны руководители проектов? С одной стороны, их функции действительно кажутся не столь полезными. Но с другой, управление проектами необходимо для релиза крупных и сложных проектов.
Многие руководители, которые размышляют на предмет необходимости внедрения DevOps, сталкиваются с непониманием того, как правильно задействовать в модели отдел управления проектами. Но все становится на свои места, когда появляется нужда в модернизации критически важных элементов. Зачастую, при наличии масштабного проекта, связей внутри него очень много, и улучшать приходится абсолютно все. А это серьезная проблема.
Поэтому вам стоит подключать к работе отдел управления проектами только в том случае, если вы создаете крупный проект. Он поможет вам, потому что цикл обратной связи увеличится. Контролировать все силами разработчиков не получится. Более того, стоит учесть и имеющиеся возможности ИТ аутсорсинга, которыми также нужно управлять.
Финансирование DevOps
Финансирование DevOps — крайне деликатная тема. Если брать во внимание старую модель работы, то сразу заметна проблема, связанная с приобретением необходимого оборудования.
На это нужны немалые средства. А к этому нужно прибавить и объём капитальных вложений (CAPEX). Всем этим ИТ-департаменты занимались самостоятельно. Сейчас же, следуя принципу DevOps и используя ИТ аутсорсинг, можно сократить расходы благодаря доступным публичным облачным сервисам. Все это переносится на операционные расходы (OPEX).
OPEX-модель позволяет быстрее осуществлять реализацию проекта, за счет короткого процесса организации рабочей инфраструктуры. Тем не менее, необходимо жестко контролировать расходы, чтобы не попасть в долговую яму.
Уйти в минус легко, несмотря на существенное сокращение затрат. Это связано с растущими счетами в момент production-этапа у больших проектов. Если вам нужно огромное количество серверов, то куда логичнее создать свой ЦОД, чем арендовать их на стороне. Конечно, все зависит от конкретного случая.
Уменьшение тикетов
Автоматизация разработки ПО затрагивает не только сам процесс создания продукта, но и его сопровождение. Традиционные инструменты управления ИТ-сервисами уже не будут сталкиваться с нарастающим объемом поступающих тикетов. Их роль, с течением времени, должна снизиться до нуля.
Ускорение процесса CAB
Любой релиз проекта связан с этапом прохождения комитета по изменениям (САВ). Да, их польза – это предмет многих споров, но перед нами стоит задача ускорить процесс. А значит, нужно реализовать конвейер для автоматизированной разработки ПО.
Полезными инструментами в данном случае станет Chef’s InSpec. Он поможет сократить время проверки и быстрее перейти к production. Автоматизировать процесс можно и с помощью Cloud Foundry или Red Hat Open Shif.
Старт процесса
Если вы решились внедрить DevOps, не нужно хвататься за все и сразу. Работайте поэтапно, заранее продумав каждый шаг. С течением времени, все остальные процессы сами будут подтягиваться к постепенно реализуемой идее.
Но некоторым нужно реализовать крупный проект сразу. Это зависит от возможностей компании как с точки зрения финансов, так и ситуации на местном рынке. Для кого-то, крупный проект – это спасательный круг.
Также, не стоит принижать важность дизайна вашего продукта. Нужно подключать к работе команду дизайнеров, чтобы они не просто планировали заранее внешний вид, но и продолжали модернизировать его по ходу реализации изо дня в день.
Дальнейшая оптимизация
Естественно, работа не заканчивается после реализации DevOps. Нужно искать способы оптимизации и сопровождать имеющиеся проекты с таким же рвением. Уменьшение времени разработки, быстрый ответ на тикеты и многое другое – это все помогает компании развиваться. А в этом и заключается принцип DevOps – постоянное улучшение.
Мягко и безболезненно реализовать внедрение DevOps методологии помогут профессионалы с более чем 10 летним опытом. Свяжитесь с нами и мы поможем автоматизировать разработку ПО вашей компании.