Помимо используемых на практике инструментов, не менее важную часть культуры devops составляют ценности, нормы и знания. Благодаря исследованию рабочего процесса, технологий, применяемых в работе, и влияния этих технологий на работу в целом облегчается принятие специальных решений, относящихся как к ландшафту наших организаций, так и к ландшафту сектора экономики в целом.
Обратите внимание, что devops – это не просто еще одна методология разработки ПО. Несмотря на то что devops связан и даже в какой-то мере зависит от таких методик разработки ПО, как Agile или XP, а devops-практики могут включать способы разработки или такие средства, как автоматизация инфраструктуры или непрерывная доставка, на самом деле devops – это нечто большее, чем просто сумма составных компонентов. Хотя вышеупомянутые концепции связаны и часто реализуются в devops-средах, сосредоточение исключительно на них приведет к тому, что вы пропустите самое главное – культурные и межличностные аспекты, которые придают devops его мощь.
Культура развертывания ПО
Что же нужно для формирования успешной культуры развертывания ПО? Чтобы продемонстрировать факторы, влияющие на успех культуры, рассмотрим совокупность людей, процессов и инструментов, сформированную в Etsy. Эта компания представляет интерактивный глобальный рынок товаров ручной работы, а также винтажных товаров. Мы выбрали в качестве примера Etsy не только потому, что этот бренд хорошо известен в отрасли своими техническими и культурными практиками. Основная причина выбора этой компании заключается в том, что Кэтрин – опытный сотрудник компании Etsy, который может компетентно судить о сформированной в этой компании культуре.
Инженер, принятый на работу в Etsy, начинает свой первый рабочий день за ноутбуком, на котором установлена подготовленная виртуальная машина для ведения разработки. Для него уже созданы соответствующие учетные записи, позволяющие подключиться к этой машине и пройти авторизацию. Склонированы наиболее популярные репозитории GitHub, предварительно созданы системные ссылки и указатели для соответствующих инструментов. Также на рабочем столе новоиспеченного инженера имеется руководство, включающее ссылки на другие корпоративные ресурсы. Благодаря стандартизации инструментов и применяемых практик для различных групп облегчается подключение к процессу новых людей, независимо от того, в состав какой группы они входят. Каждая команда также может настроить применяемые инструменты и практики на свое усмотрение.
К новому сотруднику прикрепляется опытный специалист, который знакомит новичка с процессами разработки и тестирования ПО, ежедневно применяемыми в организации. Новый сотрудник начинает создавать код на локальной виртуальной машине, предназначенной для разработки программ. С помощью модуля управления конфигурацией среда виртуальной машины настраивается таким образом, что становится практически идентичной реальной производственной среде. В результате можно выполнять и тестировать код локально. Это дает возможность быстро выполнять работу и вносить необходимые изменения, не привлекая опытных специалистов из группы разработчиков в качестве консультантов.