Как реализовать успешную стратегию DevOps?
Опубликовано: 2022-06-29Введение
DevOps — это стратегия развития, в которой особое внимание уделяется сотрудничеству между разработчиками программного обеспечения и ИТ-персоналом. Но внедрение DevOps — это нечто большее, чем просто просьба к вашим командам работать вместе.
Термин DevOps был придуман Патриком Дебуа в 2009 году, также широко известным как «отец DevOps». Процесс состоит из следующих основных этапов:
- План
- Создать/код
- Строить
- Тест
- Выпускать
- Развертывать
- Работать и
- Монитор
Вот руководство о том, что нужно для успешного внедрения DevOps, и множество различных стратегий для этого.
Не пытайтесь сделать все сразу
Когда вы только начинаете работать с DevOps, легко растеряться. Существует много информации, и может быть трудно понять, с чего начать. Я рекомендую начинать с малого и двигаться вверх.
Во-первых, выберите область, которую легко автоматизировать, контролировать и общаться с конечными пользователями. Так вам будет легче продемонстрировать успех на раннем этапе и придать импульс другим областям бизнеса. Например: если вы автоматизируете развертывание или настраиваете инструменты мониторинга, возможно, стоит начать с чего-то вроде развертывания веб-приложений или контейнерных приложений (например, Docker). Эти типы сервисов обычно имеют меньше зависимостей, чем другие типы систем, такие как базы данных, поэтому они, как правило, представляют собой более простые тестовые примеры, с помощью которых мы можем измерить наш прогресс во внедрении методов DevOps в наших организациях.
Делай, что можешь, когда можешь
Первое, что нужно сделать, это заставить вашу команду использовать необходимые инструменты. Начните с того, что доступно, и добавляйте дополнительные функции по мере того, как вам будет удобнее. Не пытайтесь сделать все сразу; Найдите одну или две вещи, которые работают для вас, а затем переходите к следующей.
Используйте автоматизацию
Цель DevOps — увеличить скорость, снизить затраты и количество человеческих ошибок, а также улучшить качество. Вот почему автоматизация считается столь важной. Автоматизация может означать разные вещи в разных контекстах (автоматическое тестирование и непрерывная интеграция — два распространенных примера), но обычно она относится к использованию программного обеспечения для выполнения определенных задач. Это означает, что в процессах разработки и производства будет задействовано меньше людей, что снижает затраты при одновременном повышении качества — и все это при увеличении скорости.
Начните с существующих инструментов для разработки индивидуальных решений
Может быть проще начать с существующих инструментов, чем разрабатывать собственные решения. Если вы только начинаете, существует ряд проектов с открытым исходным кодом и облачных сервисов, которые помогут вам быстро приступить к работе. Например:
- Среда автоматизации DevOps Jenkins Stack: проект с открытым исходным кодом, который управляет всем жизненным циклом разработки программного обеспечения. Он включает инструменты для непрерывной интеграции (CI) и непрерывной доставки (CD), а также для других распространенных задач DevOps, таких как тестирование, сборка, упаковка и развертывание кода. Он поддерживает несколько операционных систем, включая Linux и macOS.
- Elasticsearch: поисковая система на основе Apache Lucene, обеспечивающая возможности полнотекстового поиска для больших объемов неструктурированных данных в режиме реального времени на многих серверах. Он используется многими компаниями, такими как Netflix или PayPal, поэтому они могут очень быстро индексировать все свои транзакции, происходящие внутри этих объектов, благодаря его способности масштабироваться по горизонтали (то есть добавлять больше экземпляров при необходимости).
Начните с инструментов, которые хорошо сочетаются с вашей культурой
Когда вы начинаете свой путь DevOps, важно понимать, что вы не сможете изменить все сразу. Вы не можете заставить свою культуру, процессы, людей или технологии измениться; если они не соответствуют целям разработки DevOps и Agile, то они будут препятствовать ее успеху.
Вместо того, чтобы пытаться втиснуть эти элементы в фиксированную форму, которая не соответствует тому, как работает ваш бизнес сегодня, ищите инструменты, разработанные специально для групп разработчиков, использующих методологии Agile, и дайте им возможность для роста по мере того, как команда расширяет свои возможности с течением времени. .
Сосредоточьтесь на сотрудничестве и получите лучшие мозги, когда сможете
Но найти и нанять эти ресурсы непросто.
К счастью, есть несколько отличных способов получить помощь:
- Обратитесь за помощью к другим компаниям, которые уже внедрили DevOps. Они уже усвоили некоторые тяжелые уроки и могут дать вам совет, основанный на собственном опыте.
- Консультанты также могут быть хорошим вариантом, если у вас нет времени самостоятельно изучать все тонкости DevOps. Они, как правило, знают, какие вопросы задавать и где искать ответы; они также чаще, чем сотрудники других компаний (которые могут быть сосредоточены на своей повседневной работе), потому что их мотивируют деньги, а не просто обмен знаниями. * Сообщества с открытым исходным кодом, такие как GitHub, предоставляют дополнительные ресурсы после изучение того, как они работают вместе посредством совместной работы. * Учебные курсы могут быть еще одним вариантом, если вы хотите получить чей-то опыт в дополнение или вместо использования внешнего консультанта. * Такие книги, как «Проект Феникс», предлагают взгляд изнутри на то, как одна компания успешно внедрила DevOps; их часто пишут люди, которые сами участвовали в их реализации, а не просто наблюдали издалека.
Автоматизированный мониторинг и отчетность
Автоматизированный мониторинг и отчетность — ключевая практика DevOps. Чтобы улучшить качество вашего программного обеспечения, вы должны иметь возможность измерить, насколько хорошо оно работает в производственной среде. Разработчики должны нести ответственность за мониторинг своего кода, чтобы они могли быстро выявлять проблемы. У них также должна быть стратегия сбора этих данных и внедрения инструментов аналитики, которые позволят им понять, что происходит с их приложениями, когда они работают в производственной среде.

Операционная группа должна следить за своей инфраструктурой, потому что они несут ответственность за то, чтобы все работало бесперебойно на ежедневной основе. Это означает сбор метрик об использовании ЦП, использовании дискового пространства, потреблении пропускной способности сети и т. д., а также регистрацию любых проблем, возникающих с приложениями, чтобы их можно было немедленно решить.
Ваш бизнес должен отслеживать свою прибыль, измеряя, какой доход приносит каждая новая функция по сравнению с затратами, такими как время разработки и затраты на обслуживание в будущем (включая текущую поддержку). Возможность точного измерения этих типов метрик позволяет командам внутри организации или в нескольких организациях, работающих вместе над одним проектом, например, использующих микросервисы, принимать более обоснованные решения о том, какие функции должны иметь приоритет при построении дорожной карты продукта на основе финансовых целей. вместо того, чтобы просто сосредоточиться на сокращении технического долга без учета общей картины».
Держите клиентов в курсе, им могут не понравиться сюрпризы
Допустим, ваша организация внедряет новую кодовую базу для всего веб-приложения. Вы знаете, что это повлияет на конечных пользователей и что им не понравится, если они будут удивлены этим изменением.
Вы можете предупредить их и дать им время подготовиться к изменению, или вы можете подождать, пока оно не вступит в силу, а затем объяснить, что произошло, почему это произошло и как они могут помочь себе привыкнуть к изменениям.
Одним из способов информирования пользователей может быть кампания по электронной почте, в ходе которой вы рассылаете приглашения в календаре с инструкциями о том, как люди должны использовать свои новые инструменты, а также с советами о том, какую пользу они могут получить от использования этих функций после их запуска в рабочую среду (например, появится новая функция поиска).
Начните с малого, автоматизируйте, отслеживайте прогресс и оптимизируйте
Лучшая стратегия внедрения DevOps — начать с малого, автоматизировать и отслеживать прогресс с течением времени.
Начните с малого: легче набрать обороты, если вы начнете с управляемого масштаба. Если вы попытаетесь взяться за весь свой отдел или организацию сразу, это может быть ошеломляющим и невозможным. Вместо того чтобы пытаться внедрить DevOps во всей компании сразу, сосредоточьтесь на одном проекте или команде за раз.
Автоматизация: существует множество инструментов, которые могут помочь автоматизировать части вашего процесса разработки (серверы непрерывной интеграции, такие как Jenkins или TeamCity), но могут быть некоторые вещи, для которых еще нет доступных инструментов, например настройка резервных копий для производства. серверов в шаблонах AWS CloudFormation, поэтому убедитесь, что эти вещи включены в ваш план автоматизации, прежде чем переходить к чему-либо другому!
Отслеживание прогресса с течением времени: наличие метрик позволит всем участникам (включая вас) оценивать, насколько хорошо идут дела с течением времени, чтобы мы могли вносить коррективы по мере необходимости на каждом этапе нашего пути к полной автоматизации!
Вывод
Мы надеемся, что теперь вы лучше понимаете, как DevOps может работать в вашей организации. Как мы видели, команда DevOps полна полезных ресурсов и инструментов, которые могут помочь вам начать работу и продолжить работу после того, как вы сделали первоначальный переход. Ключ к успешной реализации — начать с того, что вы уже знаете, а затем повторять это, пока не доведете до совершенства. Таким образом вы сможете внедрить эффективную стратегию DevOps, не нарушая бюджета и не перегружая команду новыми обязанностями!
Рекомендуемое изображение: Рабочий процесс DevOps: Источник: Pease, 2017.
Биография автора:
Прия имеет около 7 лет опыта работы в области маркетинговых исследований. В настоящее время она работает в Valasys Media в качестве помощника менеджера – специалиста по контент-стратегии, которая входит в число ведущих издателей B2B Media по всему миру. Она подготовила несколько персонализированных отчетов для наших клиентов и провела много исследований по сегментации рынка, кластерному анализу аудитории и методологиям входящего трафика. Она работала с государственными учреждениями, а также корпоративными домами в нескольких проектах. У нее разные интересы, и она верит в подход к решению проблем, основанный на данных. Она имеет последипломное образование в области естественных наук, а также много пишет обо всем, что связано с жизнью, помимо маркетинга, науки, науки о данных и статистики. Она твердо верит в высшие реальности и в то, что в жизни всегда есть нечто большее, чем мы понимаем. Она экстрасенс-целитель и практик Таро, которая верит в духовный образ жизни и практикует йогу и медитацию. Когда она не пишет, она наслаждается музыкой или готовкой.