Люди, процессы и инструменты — три основополагающие основания DevOps — термин, придуманный Патриком Debois в 2009 году, чтобы описать новую культуру сотрудничества и общей собственности в разработке программного обеспечения. С DEVOPS усыновлением, программное обеспечение разработано и доставлено в короткие циклы, поддерживаемые автоматизацией и инструментами.
Но Реализация DevOps не все тяжелые вещи. По словам Патрика Debois, DevOps больше человеческая проблема . Или, как виктор Фарцик положил его в свою книгу DevOps Paradox, это Игра Люди на его корнях. В древных днях догодов разработчики будут сообщить бы только команду операционной команды после завершения кусочка, над которыми они работали в течение нескольких месяцев, — вот версия 2.0. Заставить его бежать ». И OPS будет проводить его, чтобы узнать, что все разбилось. Указатель пальцев был также обычным явлением.
Развиваемые процессы, однако, приглашают всех на вечеринку, заставляя команды предполагают коллективную ответственность за пользовательский опыт работы с новым программным обеспечением. В мире DevOps ops инженеры говорят: «Хорошо, мы получаем это, мы должны отправить этот кусок завтра, мы выясним, как встретить крайний срок». И DEV люди говорят: «Мы не хотим, чтобы быть объединены в середине ночи, что что-то ушло ужасно неправильно, поэтому мы будем благополучать его безопасно».
В среде DevOps все работают вместе к той же цели — создание лучшего качественного программного обеспечения быстрее. Без вины игры. Каждый означает людей от владельцев продуктов, разработчиков, тестеров и операций даже по маркетингу и продажам, которые приносят обратную связь с клиентами к таблице. Важным, что нужно знать, вы не устанавливаете DEVOPS DAPY между Dev и Ops для реализации DevOps. Таким образом, вы можете получить только третий силос. Вместо этого вы измените культуру Dev и Ops, чтобы сломать стены между ними.
Что именно мышление DevOps?
Реализация DevOps прежде всего означает культурный сдвиг. Потому что DevOps в основном о мягкие вещи :
- Сочувствие и сотрудничество
Сочувствие, что означает способность думать о вещах от другой точки зрения, считается истинной ДНК дежобса. Это позволяет OPS людям понимать важность быстрых релизов, в то время как разработчики могут лучше оценить проблемы, вызванные плохим кодом. Кроме того, обе стороны вкладывают пользователей в центр всего, что они делают. Соблюдение полномочий сотрудничество. Сотрудничество способствует повышению производительности, поощряя каждому, чтобы совершить качество разработки программного обеспечения и скорости.
- Взаимная ответственность
Реализация DEVOPS включает создание небольших кросс-функциональных групп, которые будут работать автономно, принимая взаимную ответственность за постоянную доставку. Свободно связанные сосредоточенные продукты группы, состоящие из разработчиков, операционных инженеров, тестеров и менеджеров по проектам, включают в себя стиль микросервисов, уменьшая количество передачи обслуживания вдоль потока значений — от контроля версий к развертыванию производства. Однако индивидуально разработчики все еще несут ответственность за кусок кода, который они написали. « Вы строим это, вы запускаете это , «Amazon Cto Werner Vogels когда-то сказал.
- Обмен знаниями
Встречи Scrum Standup и Retrospectives позволяют командам понять, что было сделано вчера, что было успешно, и что можно улучшить. В средах обмена знаниями, инженеры DevOps узнают новые вещи и постоянно растут, корректируя свои компетенции. При минимальном минимуме все в команде должны иметь доступ к требованию к исходному коду, журналам, инструментам, тестовым серверам, производственным сборкам и отчетах постмертем.
- Постоянные эксперименты
Дежол — это развитие гипотезы. Не удалось быстрее узнать быстрее через более жесткую петлю обратной связи — это ключ для реализации DEVOPS. Ссылки DevOps пишут код небольшими партиями и нажимайте его на производство как можно быстрее. Таким образом, они имеют немедленный шанс поставить решение прямо, исправляя дефекты быстро или вообще удаляя определенную функцию. Как Справочник DEVOPS JEZ Смири сказал: « Пользователи не знают, что они хотят. Пользователи знают, что они не хотят, когда вы построили его для них. «Итак, мышление DEVOPS состоит в том, чтобы начать с наименной интуиции и уроков обучения, когда вы продвигаетесь вперед, чтобы прийти к принятию в действие данных.
- Клиентское центричность
Культура DevOps опирается на продукт — первый подход, который заботится о потребностях реальных пользователей. Объединенные команды должны понимать, что они строят и понимают людей, для которых они строят. Непрерывная обратная связь имеет решающее значение. Это часто означает, что (i) Ops принимает участие в разработке соглашений о уровне обслуживания с пользователями для понимания требований пользователей, (ii) разработчиков, прилагаемых к запрашиванию конечных пользователей с быстрыми обновлениями, используя свободно связанную, ориентированную на сервисную архитектуру, которая обеспечивает максимальную гибкость и (iii) тестеры настроили группы фокусировки пользователей для контролируемого UAT, взаимодействуя с пользователями напрямую.
- Автоматизация
Очень сильный акцент в строительстве DevOps поставлен на автоматизацию, который уменьшает ошибку человека и усиливает скорость, сокращение расходов на голову. Автоматизация в процессах DEVOPS расширена практически для всего, от разработки и тестирования на предоставление инфраструктуры, конфигурации, сетевые задачи, базы данных, развертывания и мониторинга. Netflix известен как фантастический пример для реализации DevOps, при этом его полностью автоматизированные процессы развертывания, позволяющие инженерам запускать код тысяч раз в день.
Зачем реализовать DEVOPS
Согласно 2020 DEVOPS TRENDS EXPLESS ATLASSIAN Организации видят ряд преимуществ от реализации DevOps, в том числе:
Говоря о ощутимых преимуществах DevOps, пример от нашего опыта будет увеличение скорости доставки новых функций, которые мы помогали достичь в Разработка игрового приложения Отказ
Дежол реализация лучших практик
Невозможно переместиться на важность автоматизации для успешной реализации DEVOPS. Автоматизация, однако, не может быть сделана в течение ночи. Это путешествие с несколькими остановками и требует тщательного планирования. По словам классической статьи Boston Consulting Group (BCG), Стройнее, быстрее и лучше с DevOps Организации реализуют DevOps в четырех шагах автоматизации:
- Непрерывная интеграция
Необходимая часть Agile Processions, CI позволяет DEVOPS команды всегда работать с последней версией кода. В процессе CI разработчики нажимают новые кусочки кода в общий репозиторий, по меньшей мере, один раз в день для проверки через автоматизированное сборку и тестирование, которые обычно включают в себя единицу, интеграцию и базовые тесты безопасности. Строительные и тесты срабатывают инструментом управления версией для проверки кода, которые смотрят сервер. Итак, CI — это полностью автоматизированный процесс, проходящий в течение нескольких секунд или минут, чтобы разрешить разработчикам немедленно знать, если их код правильно и успешно интегрирован с кодом других или сломал сборку.
- Непрерывная доставка
Непрерывная доставка автоматизирует процесс выпуска тестов на сборку, что позволяет выпустить новые сборки с помощью одной кнопки. В то время как CI сосредоточен на качестве кода, чтобы убедиться, что он проходит все тестирование, прежде чем объединиться в основную сборку, цель CD заключается в обеспечении более тестирования, что программное обеспечение (Master Build) ведет себя как предназначено в реальном мире. CD — это короткий цикл, завершенный в течение нескольких часов, что позволяет команде автоматизировать все в жизни кода. По сути, он состоит из двух трубопроводов: трубопровод CI и непрерывное тестирование.
- Непрерывное развертывание
В процессе постоянного развертывания изменений кода развернуты автоматически после успешного прохождения полного цикла тестирования. Нет необходимости в человеческом вмешательстве, чтобы решить, что выпустить и когда. Непрерывное развертывание отличается от непрерывной доставки только в одном: она включает в себя автоматизированное толчок к производственным условиям. Непрерывное развертывание, однако, требует создания строгой автоматизированной структуры тестирования.
- Непрерывный мониторинг
Если среда организации автоматизирована, обеспечение его стабильной производительности будет императивным. В развлечении инфраструктуры есть много вещей, которые вы можете контролировать, но, однако, невозможно отслеживать все услуги и процедуры. Итак, при реализации DevOps вам нужно понять, какие основные цели мониторинга являются вашими основными мониторингами. Они могут включать в себя эффективность вашего трубопровода CI/CD, вехи развертывания, автоматизированное обращение с уязвимостями, здоровью сервера, активность пользователя, вывод выхода завода и производительность приложений. Вы выполняете работу либо через инструменты мониторинга приложений, такие как DataDog или NewRelic или, идущие вручную через журналы приложений или настроив уведомления и аварийные сигналы. Важные метрики для просмотра — это сбои, узоры использования, производительность, доступность, масштабируемость и пользовательские телеметрии.
- Плюс, управление конфигурацией
Этот процесс в реализации DevOps обеспечивает оптимальную конфигурацию нескольких средов тестирования, настроенную для тестирования устройства, тестирование интеграции, тестирование нагрузки, тестирование приема, тестирование конечного пользователя и многое другое. В отличие от традиционной организации, где управление конфигурацией осуществляется с помощью формальной документации, этот процесс в среде DEVOPS автоматизирован до большой степени — конфигурации инкапсулируются в коде или скриптах и управляются через инструмент управления версиями. Системы управления конфигурацией привели к:
- Инфраструктура как код, К которой кодифицирует все инфраструктурные ресурсы в коде или скрипте, с текстовыми файлами, хранящимися в инструменте управления версией, как Git.
- Конфигурация как код, который определяет конфигурации серверов как код или скрипт и совершает их для управления версией.
Автоматизация инфраструктуры обеспечивает автоматическую предоставление инфраструктуры, конфигурацию и масштабирование, Увеличение производительности, экономии затрат и освобождающих инженеров для более творческих задач.
Пошаговый план реализации DEVOPS
Рисунок на нашем огромном практическом опыте, мы составили список практических рекомендаций о том, как успешно реализовать деятельность DevOps:
- Начните инициативу DevOps Усыновление DevOps следует начать с прочного оправдания бизнеса. Ваша инициатива DEVOPS должна быть выровнена с жесткими целями для бизнеса, а не отгибаться от страха пропустить. CIO играет ключевую роль, инициируя преобразование DEVOPS в рамках цифровой деятельности Организации и планирования финансовых инвестиций и людских ресурсов.
- Построить стратегию DevOps Менеджеры программ несут ответственность за разработку стратегии реализации Общества. Им необходимо определить свое видение на основе проблем, таких как дефекты производства, сложные развертывания или командной выгоды, и выяснить, как сделать все в цикле разработки программного обеспечения. Также важно установить KPI для вашей команды DEVOPS. Общий набор метрик, предложенных Никологом Форсгреном, Джез Смиренным и Джином Ким в своей книге Ускорение, включает в себя: Время заказа для изменений — время, необходимое для перехода от кода, приверженного для успешного запуска в производстве Частота развертывания — Развертывание программного обеспечения для производства или App Store Время восстановить сервис — среднее время восстановить (МТТР) Изменить частоту отказов — Как часто отсутствуют сбои развертывания в производстве, которые требуют немедленного отката
- Настройте компетентную команду Независимо от того, выбирают ли ваша компания с внутренней или аутсорсинговой моделью, люди в вашей команде должны быть квалифицированы и стремиться узнать новые вещи. Они должны быть экспертами в продвинутых инструментах DEVOPS, могут думать из коробки при настройке сложных сценариев, и … иметь терпение для устранения неполадок и отладки столько раз, сколько необходимо, чтобы найти корневую причину проблемы. Подумайте о том, чтобы включить менеджер релиза, эксперты по автоматизации, тестеры, лидерства QA и инженеров Secdevops в вашей команде. Правильные люди являются ключевыми. Согласно опросу Trends Trends 2020 года, отсутствие навыков — ингибитор номер один для успешной реализации DevOps.
- Выберите правильные инструменты Сегодня существует много хороших инструментов DevOps Today, от планирования выпуска до создания, тестирования и безопасного доставки приложений. На самом деле, существует подавляющая сумма из них, который продолжает расти, поэтому легко запутаться. Получите экспертную помощь при необходимости и не быть. При выборе инструментов DEVOPS, также обязательно понять, как они состоятся вместе, чтобы избежать заканчиваться тем, что Gartner вызывает отключенные острова Automation. То, что вам понадобится, — это интегрированная инструментальная и систематическая автоматизация, реализованная с помощью инструментов, выровненных на каждом этапе.
- Контейнеризация ваших приложений Констанциуризация делает ваше приложение легко выполнить. Контейнеры, реализуемые с помощью таких инструментов, как Docker или Kubernetes, в основном являются изолированный процесс для исполняемого файла, работающего на машине Linux. Они включают в себя код, зависимости, двоичные файлы, библиотеки и другие вещи, которые необходимо ваше программное обеспечение, представляя среду, которая может следовать за приложением от разработки для проверки на развертывание производства. Контейнеры считаются лучшим выбором для архитектуры микросервисов, которые разделяют ваше приложение в нескольких микровериях, фокусирующихся на более мелких задачах и обеспечения масштабируемости, гибкости, облегчения автоматического тестирования и быстрого развертывания.
- Интегрируйте автоматизацию инфраструктуры с CI/CD Вы должны запускать ряд интеграций услуг приложений, чтобы сделать инструменты автоматизации инфраструктуры, такие как Kubernetes, Chef или кукольные работы с инструментами CI/CD (Jenkins, Bamboo или другие). Бесшовные интеграции будут вооружать вас постоянным набором услуг, применяемых автоматически. В результате вы сможете развернуть новые конфигурации инфраструктуры и более быстрее выпустить новое программное обеспечение.
- Автоматизация тестирования Для достижения скоростей и ловкости стиля DEVOPS с реализацией DEVOPS важно максимально автоматизировать тестирование, но по мере необходимости. Как только вы добавите Тестирование автоматизации К процессу, проверки запускаются, когда новый код завершен, и ваши разработчики больше не должны проводить дни, пытаясь запомнить и исправить код, написанные много недель назад. По словам Славы Маковского, команда по автоматизации QA ведет в ITREX с более чем 15-летним опытом работы с глобальным технологическим гигантом, есть Несколько вещей, которые нужно помнить при внедрении автоматизации тестирования: 1 Начните с создания простых тестовых чехлов, а не проектирование сложной фреймы автоматизации в спереди 2. Дымовые испытания являются императивным 3. Используйте удаленные машины для запуска тестов с самого начала 4. Убедитесь, что вы получили хорошо продуманный план для беговых испытаний параллельно и как часть вашего CI/CD-трубопровода 5. Настройте возможности для анализа результатов теста на ежедневной основе
- Начать маленький Перед настройкой любых сложных сценариев это безопаснее и более полезное для начала с небольших инициатив в реализации DevOps. Осторожно выберите свое первое приложение и масштаб только тогда, когда вы будете готовы. Существуют в основном никаких ограничений для применения DEVOPS, но Agile Appile Appile является популярным выбором для первых ходов. Эти приложения часто архитектуруются с самого начала с лестничным или гибким мышлением, которые дополняют DEVOPS.
- Соберите обратную связь « Нам всем нужны люди, которые дадут нам обратную связь. Вот как мы улучшаем , «Microsoft основатель Билл Гейтс сказал. Есть два типа обратной связи, которые вы можете захотеть искать: обратная связь по ошибкам и неправильному использованию. Помимо сбора данных, ориентированных на клиента данные, такие как время загрузки вашего приложения, максимальное количество одновременных пользователей или различий в производительности между веб-, мобильным приложением и носителями, вы можете получить обратную связь непосредственно от ваших пользователей. Вы можете построить механизмы обратной связи пользователей в вашем приложении с использованием Emojis, Star Ratings или вопросы двоичного типа или просить пользователей через ваше приложение или в электронном письме, чтобы присоединиться к опросу или изучать публичные обсуждения. Обратная связь является неотъемлемой частью петли DEVOPS, информируя следующие шаги и улучшения.
Последнее примечание
Хотя это может быть клише сказать, что каждый бизнес должен реализовать сегодня. 2020 Опрос тенденций DEVOPS. Девоприим преобразованием действительно может быть сложно. Это не инициатива, которая может быть предпринята один раз и для всех. Это даже не сделано после реализации непрерывной практики. Это также потребует постоянного улучшения.
Как связаться с ITREX Если вы заинтересованы в обучении подробнее о DEVOPS или нуждаетесь в помощи наших опытных консультантов с началом или ускорением поездки вашего DEVOPS.
Оригинал: «https://dev.to/anastasiia/how-to-implement-devops-mindset-practices-and-step-by-step-implementation-plan-18hl»