Руководство по DevOps: введение
Руководство по улучшению процесса поставки программного обеспечения с помощью DevOps
DevOps включает множество различных этапов, концепций и компонентов. Это руководство поможет вам понять, что такое DevOps и как эта методика поможет вам оптимизировать процесс поставки программного обеспечения.
Основные сведения о DevOps
Начнем наше знакомство с DevOps с некоторых основных определений, которые помогут вам понять, что такое DevOps и как эта методика связана с общий процессом разработки программного обеспечения.
-
DevOps — это методика разработки программного обеспечения, которая способствует совместной работе команды разработчиков и эксплуатационной группы, обеспечивая быструю и надежную поставку программного обеспечения. Методика DevOps (которую также часто называют культурой) связывает людей, процессы и технологии, постоянно принося значимые результаты.
-
В процессе разработки программного обеспечения многие задачи приходится выполнять вручную, что приводит к значительному количеству ошибок в коде. Команда разработчиков и эксплуатационная группа часто работают асинхронно, что может замедлить поставку программного обеспечения и разочаровать заинтересованных лиц. DevOps обеспечивает эффективность выполнения всех задач, связанных с разработкой, развертыванием и обслуживанием программного обеспечения.
Связь между разработкой и эксплуатацией повышает видимость, точность требований, удобство общения и скорость выхода на рынок.
-
DevOps преодолевает разрыв между командой разработчиков и эксплуатационной группой, значительно повышая эффективность разработки и развертывания программного обеспечения. В DevOps особое внимание уделяется автоматизации, что помогает сократить общее количество ошибок.
-
Философия DevOps — полная ответственность за все аспекты проекта. В отличие от более традиционных способов разработки программного обеспечения, DevOps позволяет преодолеть разрыв между командой разработчиков и эксплуатационной группой, который часто является серьезной проблемой и может существенно замедлить поставку программного обеспечения.
Позволяя создать полноценную платформу для разработки и выпуска программного обеспечения, DevOps обеспечивает связь между командой разработчиков и эксплуатационной группой, помогая устранить проблемы и повысить эффективность поставки программного обеспечения.
-
И DevOps, и гибкая разработка являются методиками разработки программного обеспечения, но их назначения немного отличаются. DevOps — это культура, призванная в первую очередь повысить эффективность работы всех заинтересованных лиц, участвующих в разработке, развертывании и обслуживании программного обеспечения. Гибкая разработка — это процесс бережливого производства, который помогает составить производственный план разработки программного обеспечения. Гибкая разработка часто касается определенной команды разработчиков, в то время как DevOps распространяется на всех заинтересованных лиц, участвующих в производстве и обслуживании программного обеспечения. DevOps и гибкую разработку можно совмещать для создания эффективной среды разработки программного обеспечения.
Углубите свои знания о DevOps, выполнив следующие задачи
Каждый раздел этого руководства по DevOps содержит несколько задач, которые помогут вам приступить к реализации методики DevOps. Дайте ответы на следующие вопросы:
- С какими проблемами вы сталкивались при разработке и развертывании программного обеспечения?
- В каких областях вы хотели бы повысить эффективность при разработке и развертывании программного обеспечения?
Основы методики DevOps
Далее в этом руководстве по DevOps мы рассмотрим основные концепции, связанные с методикой DevOps. В этом разделе подробно рассматриваются основные компоненты.
-
Гибкая разработка — часто используемый в командах разработчиков программного обеспечения подход к поставке, связанный с бережливым производством. Разработка выполняется поэтапно (предполагает выполнение небольших шагов). Данный метод отличается от DevOps, но эти два подхода не являются взаимоисключающими. Гибкие методики и инструменты помогут повысить эффективность команды разработчиков, что способствует формированию общей культуры DevOps.
Приступите к гибкому планированию с использованием Azure Boards
-
При командной работе управление версиями является неотъемлемой составляющей точной и эффективной разработки программного обеспечения. Система управления версиями (например, Git) создает моментальный снимок файлов, позволяя в любой момент вернуться к любой версии. Благодаря системе управления версиями вы можете быть уверены в отсутствии конфликтов с изменениями, над которыми вы работаете.
-
Непрерывная интеграция — это процесс автоматизации сборки и тестирования, выполняемых по мере готовности кода и его фиксации в системе. После фиксации кода выполняется автоматизированный процесс проверки, после чего только испытанный и проверенный код фиксируется в основном исходном коде, который часто называют основной ветвью разработки. Непрерывная интеграция автоматизирует этот процесс, значительно повышая эффективность. Все ошибки обнаруживаются заранее, до слияния кода с основной ветвью разработки.
Приступите к реализации непрерывной интеграции с использованием Azure Pipelines
-
Непрерывная поставка — это фундаментальная методика в рамках DevOps, позволяющая поставлять быстрое и надежное программное обеспечение. Этот процесс напоминает общую концепцию DevOps, но непрерывная поставка формирует платформу, на которой каждый компонент кода тестируется, проверяется и фиксируется по мере готовности, что позволяет поставлять программное обеспечение в любой момент. Непрерывная интеграция — это процесс в рамках непрерывной поставки.
Приступите к реализации непрерывной поставки с использованием Azure Pipelines
-
Подготовка и настройка ресурсов являются ключевыми составляющими процесса эксплуатации как в локальной среде, так и в облаке. Благодаря автоматизации процессов и использованию средств, обеспечивающих декларативное определение инфраструктуры (например, текстовых файлов определений), рабочие группы могут развертывать и настраивать ресурсы надежным и легко повторяемым способом. Текстовыми файлами определений можно управлять как кодом с управлением версиями, что обеспечивает удобство отката, воссоздания и удаления сложных сред. Для реализации модели "инфраструктура как код" часто используются такие технологии, как Terraform и Ansible.
-
DevOps распространяется не только на разработку, помогая нести ответственность за программное обеспечение (в том числе его производительность) в ходе поставки. Полный процесс DevOps образует цикл обратной связи, в конечном итоге предоставляя точки данных, которые помогут вам усовершенствовать будущие проекты, а также проверить целесообразность развертывания программного обеспечения. Мониторинг и ведение журналов — ключевые компоненты, способствующие обучению с подтверждением прогресса, которое в свою очередь способствует постоянному повышению эффективности разработки и поставки программного обеспечения.
Узнайте, как собирать и анализировать данные телеметрии с помощью Azure Monitor
-
В течение жизненного цикла собираются отзывы и данные телеметрии, которые помогут принимать решения в ходе следующего цикла. Этот процесс называется обучением с подтверждением прогресса. Обучение с подтверждением прогресса помогает находить новые способы сокращения времени цикла. Затем собранные данные используются для поиска способов автоматизации, совершенствования процессов и подготовки к более быстрому и эффективному развертыванию.
Углубите свои знания о DevOps, выполнив следующие задачи
Теперь, когда вы изучили основные концепции, связанные с методикой DevOps, дайте ответы на следующие вопросы:
- Какие этапы процесса разработки выполняются вручную и могут быть автоматизированы?
- Есть ли возможность реализовать непрерывную интеграцию в процессе сборки?
- Как ваша рабочая группа управляет инфраструктурой в настоящее время? Можно ли повторять этот процесс, надежен ли он, можно ли улучшить его с помощью модели "инфраструктура как код"?
- Какие данные телеметрии помогли бы вам в работе?
- Какие еще точки данных будут полезны для обучения с подтверждением прогресса?
Формирование культуры DevOps
В следующем разделе этого руководства по DevOps рассматривается формирование культуры DevOps. По мере подготовки к внедрению DevOps в компании вы наверняка обнаружите отличия этой методики от вашего текущего подхода к поставке программного обеспечения.
Новая культура не формируется за один день, и для этого не достаточно просто купить новый набор инструментов. Чтобы рабочая группа могла освоить и применять методику DevOps, вам может потребоваться внести изменения в ее текущие структуры, рабочие процессы и привычки.
Узнайте, как корпорация Майкрософт сформировала культуру DevOps
Углубите свои знания о DevOps, выполнив следующие задачи
Каждый раздел этого руководства по DevOps содержит несколько задач, которые помогут вам приступить к реализации методики DevOps. Дайте ответы на следующие вопросы:
- С какими проблемами вы сталкивались при разработке и развертывании программного обеспечения?
- В каких областях вы хотели бы повысить эффективность при разработке и развертывании программного обеспечения?
Дополнительные руководства по DevOps
Начало работы с Azure DevOps
Современный набор служб разработки позволяет быстрее и надежнее предоставлять программное обеспечение. Обеспечьте более эффективное планирование, улучшенную совместную работу и быстроту поставки, используя все или подходящие только вам функции DevOps.