Философия DevOps. Искусство управления IT
Шрифт:
Спасибо Джейсону Диксону (Jason Dixon) за высланное мне первое приглашение на конференцию. Он был убежден, что мне есть что сказать на конференции, хотя я тогда совсем не была уверена в этом.
Спасибо сообществу профессионалов в области техподдержки и devops-сообществу в целом, и особенно сообществу профессионалов в области техподдержки из Нью-Йорка за предоставленную помощь, новые возможности и друзей, вместе с которыми можно наслаждаться великолепным пивом Sysdrink.
Спасибо Дженнифер Дэвис, моему лучшему другу, напарнику на конференциях и соавтору. Мозговой штурм, написание книги, общение, обучение и редактирование вместе с тобой стало удивительным
И наконец, спасибо моей маме за поддержку, поощрение и веру в мои силы. Написание этой книги было бы невозможным без преданной любви и поддержки моих кошек, которые мурлыкали и грели меня в процессе написания книги.
Благодарности от Дженнифер
Спасибо Chef за предоставленные возможности многому научиться у различных организаций, а также за поддержку совместного обучения в форме бесед и тренингов.
Спасибо всем женщинам, работающим в данной области, которые изменяют способы работы путем внедрения новых подходов, а также приемлемых форм и норм поведения. Ваш голос непременно будет услышан. Продолжайте обмениваться опытом и обращаться за необходимой поддержкой.
Спасибо devops-сообществу в целом, которое вновь пробудило во мне желание стать его частью. Члены этого сообщества разработали систему поддержки и поощряют устойчивые практики на рабочих местах. Спасибо всем людям, которые поделились своими личными историями и опытом.
Спасибо Ивонн Лам (Yvonne Lam), Бриджит Кромхаут (Bridget Kromhout), Доминике Де Грандис (Dominica DeGrandis), Мэри Грейс Ченгволл (Mary Grace Thengvall), Эми Скаварда (Amye Scavarda), Николь Форсгрен (Nicole Forsgren) и Шери Элджин (Sheri Elgin) за проявление поистине бесценных дружеских чувств. Ваше мнение и поддержка помогли мне многое понять и выработать свою собственную точку зрения на разные вещи. Благодаря вашей помощи я стала активнее и сильнее.
Спасибо Кэтрин Дэниелс (Katherine Daniels), моей подруге и соавтору, за вдумчивые и вдохновляющие часы, проведенные в размышлениях. Она постоянно вдохновляла меня на писательский труд и редактирование ранее написанного текста. Мы прошли вместе все этапы этого проекта, иллюстрируя на практике мысли по поводу devops. Для меня было большой честью работать с тобой над книгой, посвященной devops.
Спасибо моей бабушке, учителю начальной школы Frances Wadsworth Hayes, которая вдохновляла меня делиться своими историями и учиться на протяжении всей жизни. Эта книга никогда бы не появилась на свет, если бы не любовь и поддержка моей семьи, Брайана Бреннана и Джорджа.
Ваши замечания, предложения и вопросы отправляйте по адресу электронной почты comp@piter.com (издательство «Питер», компьютерная редакция).
Мы будем рады узнать ваше мнение!
Подробную информацию о наших книгах вы найдете на веб-сайте издательства: http://www.piter.com.
Часть I. Основы devops
Глава 1. Первое знакомство
По сути devops – это способ мышления и работы. Это своего рода каркас, служащий для того, чтобы делиться историями и развивать эмпатию. Благодаря devops отдельные люди и группы могут эффективно и непрерывно развивать свои навыки. Это часть культурной «ткани», которая формирует способы выполнения работы, а также создает мотивацию для этой работы. Многие представляют devops как некий набор специфических инструментов, таких как Chef или Docker, но на самом деле devops не ограничивается ими. Инструменты превращаются в «devops» благодаря способу их применения, а не в силу характеристик самих инструментов.
Помимо используемых на практике инструментов, не менее важную часть культуры devops составляют ценности, нормы и знания. Благодаря исследованию рабочего процесса, технологий, применяемых в работе, и влияния этих технологий на работу в целом облегчается принятие специальных решений, относящихся как к ландшафту наших организаций, так и к ландшафту сектора экономики в целом.
Обратите внимание, что devops – это не просто еще одна методология разработки ПО. Несмотря на то что devops связан и даже в какой-то мере зависит от таких методик разработки ПО, как Agile или XP, а devops-практики могут включать способы разработки или такие средства, как автоматизация инфраструктуры или непрерывная доставка, на самом деле devops – это нечто большее, чем просто сумма составных компонентов. Хотя вышеупомянутые концепции связаны и часто реализуются в devops-средах, сосредоточение исключительно на них приведет к тому, что вы пропустите самое главное – культурные и межличностные аспекты, которые придают devops его мощь.
Что же нужно для формирования успешной культуры развертывания ПО? Чтобы продемонстрировать факторы, влияющие на успех культуры, рассмотрим совокупность людей, процессов и инструментов, сформированную в Etsy. Эта компания представляет интерактивный глобальный рынок товаров ручной работы, а также винтажных товаров. Мы выбрали в качестве примера Etsy не только потому, что этот бренд хорошо известен в отрасли своими техническими и культурными практиками. Основная причина выбора этой компании заключается в том, что Кэтрин – опытный сотрудник компании Etsy, который может компетентно судить о сформированной в этой компании культуре.
Инженер, принятый на работу в Etsy, начинает свой первый рабочий день за ноутбуком, на котором установлена подготовленная виртуальная машина для ведения разработки. Для него уже созданы соответствующие учетные записи, позволяющие подключиться к этой машине и пройти авторизацию. Склонированы наиболее популярные репозитории GitHub, предварительно созданы системные ссылки и указатели для соответствующих инструментов. Также на рабочем столе новоиспеченного инженера имеется руководство, включающее ссылки на другие корпоративные ресурсы. Благодаря стандартизации инструментов и применяемых практик для различных групп облегчается подключение к процессу новых людей, независимо от того, в состав какой группы они входят. Каждая команда также может настроить применяемые инструменты и практики на свое усмотрение.
К новому сотруднику прикрепляется опытный специалист, который знакомит новичка с процессами разработки и тестирования ПО, ежедневно применяемыми в организации. Новый сотрудник начинает создавать код на локальной виртуальной машине, предназначенной для разработки программ. С помощью модуля управления конфигурацией среда виртуальной машины настраивается таким образом, что становится практически идентичной реальной производственной среде. В результате можно выполнять и тестировать код локально. Это дает возможность быстро выполнять работу и вносить необходимые изменения, не привлекая опытных специалистов из группы разработчиков в качестве консультантов.