Файл: Дэвис Дженнифер, Дэниелс КэтринД94 Философия DevOps. Искусство управления it. Спб. Питер, 2017. 416 с. ил. Серия Бестселлеры OReilly.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 07.11.2023
Просмотров: 362
Скачиваний: 25
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Вступительное слово Николь Форсгрен
21
ее производительности в целом. Лучшим ИТ-организациям присуща удвоенная производительность, большая рентабельность и доля рынка по сравнению с кон- курентами. И вовсе не случайно книга начинается дискуссией, посвященной аспектам культуры, общения и доверия. Значительная часть книги посвящена обоснованию важности вклада этих факторов в процесс трансформации в сто- рону DevOps. Нам, как технарям, нравится начинать с использования инстру- ментов и, возможно, даже процессов. Но время от времени практика показывает, что культура, наравне с упомянутыми ранее ИТ и производительностью органи- зации, имеет большое значение для успешного применения инструментов и тех- нологий. Обязательно прочитайте части II–III, посвященные сотрудничеству и близости соответственно, независимо от того, начинаете ли вы трансформацию
DevOps и хотите знать, что нужно реализовывать и что требуется отслеживать, или же вы поднимаете существующую практику DevOps на новый уровень и ищете способы оптимизации и устранения проблем.
Работая консультантом в наиболее инновационных компаниях, я пришла к выво- ду о том, что наиболее трудная часть реализации и составления предварительно- го плана технологической трансформации DevOps заключается в невозможности дать однозначный ответ, который подходил бы для всех ситуаций. Все зависит от того, что именно считается корректным для вашей команды и вашей органи- зации. Поэтому мне нравится, что именно эта мысль постоянно подчеркивается в книге. Не существует единственного простого решения всех проблем. Чтобы внедрить собственное решение DevOps и добиться успеха, нужно использовать подходящие инструменты и компоненты. Помимо частей II–III обязательно обратитесь к части IV, в которой описаны инструменты, необходимые для вы- полнения произвольной трансформации DevOps. Особенно мне нравится, что при описании инструментов идет речь не только о технологических аспектах, но и о ключевых компонентах культуры, в рамках которой эти инструменты используются.
Одна из наиболее приятных особенностей книги заключается в ее доступности для разной аудитории. Часть V, посвященная масштабируемости, особенно полезна для рядовых участников и руководителей команд. Я использую материал, изло- женный в этой части, в качестве справочника для себя и своих клиентов. Главы 4 и 11, включающие описание терминологии и обзор экосистемы, соответственно будут полезными как для технарей (в качестве терминологической базы), так и для руководителей, нуждающихся в актуальном справочном пособии. Эта книга является позитивным и полезным введением в DevOps, включающим сведения, которые отсутствуют в университетских учебниках. Я была бы просто счастлива, если бы в свое время могла использовать подобное пособие в своей преподаватель- ской деятельности.
Мы живем и работаем в поистине удивительные времена, когда интеграция техно- логий в бизнес привела к превращению каждой фирмы в софтверную компанию.
22
Вступительное слово Николь Форсгрен
Благодаря современным технологиям потребители могут использовать новые способы получения доступа к требуемым средствам, причем этот доступ осуществ- ляется с невиданной ранее скоростью. Компаниям приходится прилагать макси- мум усилий, чтобы не отставать от конкурентов. На основе своего опыта работы с компаниями, внедрявшими DevOps, я пришла к выводу, что прежние методы
(итеративная и каскадная модели) не позволяют поддерживать необходимую скорость обмена данными в организации. Авторы книги рассматривают проблемы технологической трансформации, выполняемой с помощью устаревших способов, и захватывающие возможности, открывающиеся в результате внедрения DevOps.
Читайте книгу и выбирайте собственный путь! Повторяйте, учитесь, растите и вы- бирайте свой путь перехода к DevOps!
Николь Форсгрен, доктор философии,
директор компании Chef Software,
Сиэтл, Вашингтон
Предисловие
Представьте себе такой сценарий. Небольшая веб-компания начала сталкиваться со следующими проблемами. Веб-сайт этой компании «тормозит» и периодически
«ложится» в случае непредвиденного роста числа пользователей. Сотрудники все чаще выражают недовольство по причине увеличения трудозатрат, требуемых для предоставления услуг, а также в силу необходимости разработки и выкатки нового функционала. Между глобально распределенными командами разработ- чиков появляются барьеры, вызванные использованием разных языков и часовых поясов. Растет количество взаимных обвинений, вызванных стрессом из-за роста
«падений» сайта. Это приводит к росту подозрительности и снижению степени прозрачности при взаимодействии между группами сотрудников.
Столкнувшись с подобными проблемами, менеджмент организации принимает решение о devops-трансформации. Для реализации этого решения нанимается несколько сотрудников, формирующих новую devops-группу. Члены этой группы исполняют обязанности по вызову, то есть к ним обращаются члены эксплуата- ционной группы в случае возникновения неразрешимых проблем. Члены devops- группы являются экспертами в своей предметной области и лучше подготовлены к решению проблем. Но если у членов эксплуатационной группы нет ни времени, ни возможностей для получения новых навыков, одни и те же проблемы будут возникать снова и снова.
Рано или поздно членам devops-группы надоест исполнять роль посредников меж- ду группой разработчиков и эксплуатационной группой. Вместо того чтобы убрать напряжение, подобное «решение» менеджмента приведет к росту недопонимания, поскольку ни одна из групп не причастна к процессам планирования, обмена сооб- щениями и отслеживания ошибок, реализуемых членами другой группы.
В результате менеджмент заявляет о провале идеи с формированием devops- группы и перестает выделять время, деньги и усилия в развитие devops-группы и эксплуатационной группы. К членам этих групп начинают относиться как к не- компетентным бездельникам, которые способствуют «падениям сайта» и только
«мешают» разработчикам, выполняющим «реальную» работу. Вполне естественно,
24
Предисловие что члены этих групп, не выдержав груза обвинений в некомпетентности, начина- ют увольняться из организации, еще более затрудняя исполнение обязанностей оставшимися сотрудниками.
Первое знакомство с devops
В чем причина появления проблем в описанной ситуации? Вроде бы внедрение
«devops» являлось хорошей идеей, но создание devops-группы привело к нега- тивным последствиям. Что нужно изменить, чтобы добиться значительного улуч- шения ситуации и реального устранения проблем? На протяжении всей книги вы увидите, как можно выполнить эффективные преобразования на основании devops-мышления.
Не рассматривайте эту книгу в качестве сборника бесспорных рекомендаций по внедрению devops-подхода. Мы не предлагаем вам devops «из коробки», devops в качестве услуги и не говорим вам, что вы некорректно внедряете devops-реше- ния. В этой книге вы найдете коллекцию идей и подходов по улучшению сотрудни- чества между отдельными сотрудниками, по достижению однородности на уровне отдельной группы и организации в целом и по использованию инструментов на уровне компании или организации. Вы также увидите, каким образом эти концеп- ции способствуют изменению и адаптации организаций в случае возникновения необходимости в этом. Поскольку каждая организация является уникальной, не существует единого универсального подхода по внедрению devops. Существу- ющие общие подходы должны применяться в каждой организации различным образом. В результате улучшается качество создаваемого в этой организации про- граммного обеспечения, а также улучшается эффективность работы и повышается благосостояние сотрудников.
Результативность является следствием того, что «делаются нужные, правильные вещи». А эффективность является следствием того, что «пра- вильно создаются эти самые вещи».
— Питер Ф. Друкер
Эффективность определяется как способность делать правильные вещи и дости- гать желаемых результатов. Чтобы делать правильные вещи, нужно осознать по- ставленные задачи и выявить связь между конкретными краткосрочными целями и поставленными задачами.
Мы выражаем надежду, что сможем помочь вам идентифицировать правильные вещи в вашей среде на основе вашей культуры, включая применяемые процессы
Предисловие
25
и инструменты. Идеи и принципы, излагаемые на протяжении всей книги, приме- нимы к организации в целом, а не только на уровне групп разработчиков и техни- ческой поддержки. В процессе написания книги мы даже сами использовали эти идеи и принципы.
В то время как наша цель при написании книги заключалась в том, чтобы по- делиться универсальными историями, советами и практиками с менеджментом организаций, который сможет адаптировать и использовать их в качестве своих рабочих методологий, каждой из нас присущи свои уникальные знания и опыт.
Разнообразные идеи, использованные при написании книги, были порождены коллективным опытом. Этот опыт получен на основе анализа работы частного и общественного сектора, маленьких стартапов и огромных корпоративных сред, а также отделов, распределенных по должностям, от разработки ПО до его под- держки, контроля качества, консалтинга и многого другого.
КАК ПРАВИЛЬНО ПИСАТЬ СЛОВО «DEVOPS»?
У нас были жаркие споры по поводу использования заглавных букв при напи- сании термина «devops». В результате проведения простого интерактивного опроса выяснилось, что подавляющее большинство пользователей выбрали написание «DevOps». Пользователи также поддерживают написание терминов
«Dev» и «Ops», используемое для обозначения групп в составе организации. На основе этих терминов создаются производные термины, такие как «DevSecOps» и «DevQAOps», тогда как термин «DevOps» подразумевает исключительное использование терминов «Dev» и «Ops».
В итоге мы выбрали написание «devops», поскольку оно соответствует ориги- нальному хэштегу в Твиттере, используемому для объединения людей, которые хотят изменить слоган «мы против них» на «делаем бизнес» с применением устойчивых рабочих практик, ориентированных на людей.
Успешные проекты требуют вклада, усилий, понимания и сотрудничества со стороны сотрудников организации. Проблемы, возникающие в организации, могут быть присущи не только разработчикам или группам поддержки. Мы сознательно решили использовать запись термина с помощью символов в ниж- нем регистре «devops» по всей книге. Это отражает нашу точку зрения, которая заключается в том, что devops является инклюзивным движением, а не эксклю- зивной единицей.
Для кого предназначена книга
Эта книга в первую очередь предназначена для менеджеров и рядовых сотруд- ников, которые исполняют роли лидеров и сталкиваются с проблемами в своих организациях. Благодаря этой книге они смогут предпринять конкретные реаль- ные действия, направленные на реализацию или улучшение devops-культуры
26
Предисловие в рабочей среде. Рядовые сотрудники, занимающие различные должности, найдут здесь практические предложения, позволяющие ослабить болевые точки благода- ря выполнению действенных рекомендаций.
Читатели этой книги исполняют разные профессиональные роли, поскольку devops является профессиональным и культурным движением, ориентированным на поддержку повторяющихся усилий, направленных на открытие доступа к орга- низационной информации, отслеживание отношений и устранение недопонима- ния, возникающего между группами в организации.
В книге рассматривается широкий набор навыков и теоретических положений devops, включая основы фундаментальных идей и концепций. Предполагается, что вы уже знакомы с термином «devops» и, возможно, даже имеете базовые познания об инструментах и процессах, используемых в этой области.
Мы рекомендуем вам отказаться от жестко заданных и быстро сформулированных определений и настроиться на восприятие принципов devops, которые, по нашему мнению, являются наиболее эффективными.
После прочтения книги у вас сформируется четкое представление о том, что означает на практике devops-культура для вашей организации. Вы узнаете о том, как стимули- ровать эффективное сотрудничество таким образом, чтобы отдельные сотрудники, относящиеся к разным слоям и группам, имеющие разные цели и владеющие различ- ными рабочими стилями, могли продуктивно работать вместе. Вы получите сведения о том, как наладить совместную работу групп таким образом, чтобы максимизировать производимую стоимость при одновременном повышении степени удовлетворенно- сти сотрудников. Вы научитесь балансировать между конфликтующими организаци- онными целями и выбирать инструменты и организационные потоки, наращивающие потенциал вашей организации.
Структура книги
Мы приложили немало усилий для упорядочения и организации глав книги.
Подобно тому как не существует единственно верного способа внедрения devops, отсутствует и единственно правильный способ упорядочения действий, требуемых для внедрения devops. Каждый читатель книги будет использовать уникальную последовательность этапов внедрения devops, решать собственные проблемы и устранять возникающие при этом конфликты.
Эта книга состоит из нескольких частей. В части I рассматривается общая карти- на, которая детализируется до уровня идей, определений и принципов, имеющих отношение к devops. В частях II–V рассматриваются четыре фундаментальные концепции, лежащие в основе эффективного внедрения devops. В части VI завер- шается дискуссия, посвященная построению связей между отдельными людьми, группами и организациями.
Предисловие
27
Часть I. «Основы devops».
Часть II. «Сотрудничество».
Часть III. «Близость».
Часть IV. «Инструменты».
Часть V. «Масштабирование».
Часть VI. «Объединение культур devops».
Части II–V завершаются главой, в которой обсуждаются различные заблу- ждения, относящиеся к той или иной концепции, лежащей в основе внедрения devops. В этой главе также рассматриваются некоторые универсальные сценарии по устранению неполадок, относящиеся к данной теме. Читатели, занимающиеся внедрением devops в своих организациях, в главе «Заблуждения и устранение проблем» найдут также ряд практических советов, которые будут полезными в работе.
Читатели, предпочитающие общество компьютера, а не живого человека, могут испытать соблазн пропустить материал, описывающий межличностное взаимо- действие и культуру общения. Это нецелесообразно, поскольку данный материал дает представление о принципах совместной работы, включая межкультурное и технологическое взаимодействие, благодаря которому увеличивается степень эффективности devops.
Читайте главы книги в наиболее удобном для себя порядке, действуйте в стиле
«выбор своего собственного приключения». Концепции, заложенные в основу devops, переплетаются и тесно связаны между собой, поэтому при чтении книги вы будете неоднократно возвращаться к ранее прочитанному материалу, чтобы освежить в памяти ту или иную концепцию.
Методология практик
На протяжении всей книги вы будете знакомиться с рассказами сотрудников раз- ных компаний. Эта информация была получена в процессе проведения интервью с людьми, находящимися на разных уровнях организаций, на основании сообще- ний, опубликованных в блогах, из презентаций и заявок на регистрацию компаний.
В то время как тема для каждой главы информирует о направлении практик, при- рода devops приводит к тому, что каждое тематическое исследование затрагивает несколько, если не все четыре концепции, лежащие в основе devops.
Также вниманию читателей представляется комбинация более формальных прак- тик, неформальных историй и нашего личного опыта. Все это делается в целях демонстрации разнообразия способов, посредством которых devops может оказать влияние на принятие решений и нарративы.
28
Предисловие
Прочитайте истории, представленные в следующих главах. Распознайте истории, имеющие отношение к вашей организации. Ответьте на вопрос о том, что влияет на ваши группы и информирует их. Поделитесь вашими историями на корпора- тивных или общих встречах. Прислушивайтесь к историям о внедрении devops от других людей.
Соглашения, используемые в книге
В книге приняты следующие типографские соглашения:
Курсив
Используется для обозначения новых терминов, адресов URL, адресов электрон- ной почты, имен файлов и расширений.
Моноширинный шрифт
Применяется для оформления листингов программ и программных элементов внутри обычного текста, таких как имена переменных или функций, базы данных, типы данных, переменные среды, инструкции и ключевые слова.
Моноширинный полужирный шрифт
Обозначает команды или другой текст, который должен вводиться пользователем.
Моноширинный наклонный шрифт
Обозначает текст, который должен замещаться фактическими значениями, вводи- мыми пользователем или определяемыми из контекста.
Общее примечание, совет или предположение.
Предостережение или предупреждение.
Действенное предположение, основанное на четырех концепциях эффектив- ного внедрения devops.