Пропустить навигацию

Руководство по 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. В этом разделе подробно рассматриваются основные компоненты.
  • Гибкая разработка — часто используемый в командах разработчиков программного обеспечения подход к поставке, связанный с бережливым производством. Разработка выполняется поэтапно (предполагает выполнение небольших шагов). Данный метод отличается от DevOps, но эти два подхода не являются взаимоисключающими. Гибкие методики и инструменты помогут повысить эффективность команды разработчиков, что способствует формированию общей культуры DevOps.

    Приступите к гибкому планированию с использованием Azure Boards

  • При командной работе управление версиями является неотъемлемой составляющей точной и эффективной разработки программного обеспечения. Система управления версиями (например, Git) создает моментальный снимок файлов, позволяя в любой момент вернуться к любой версии. Благодаря системе управления версиями вы можете быть уверены в отсутствии конфликтов с изменениями, над которыми вы работаете.

    Начните управлять версиями с использованием Azure Repos

  • Непрерывная интеграция — это процесс автоматизации сборки и тестирования, выполняемых по мере готовности кода и его фиксации в системе. После фиксации кода выполняется автоматизированный процесс проверки, после чего только испытанный и проверенный код фиксируется в основном исходном коде, который часто называют основной ветвью разработки. Непрерывная интеграция автоматизирует этот процесс, значительно повышая эффективность. Все ошибки обнаруживаются заранее, до слияния кода с основной ветвью разработки.

    Приступите к реализации непрерывной интеграции с использованием Azure Pipelines

  • Непрерывная поставка — это фундаментальная методика в рамках DevOps, позволяющая поставлять быстрое и надежное программное обеспечение. Этот процесс напоминает общую концепцию DevOps, но непрерывная поставка формирует платформу, на которой каждый компонент кода тестируется, проверяется и фиксируется по мере готовности, что позволяет поставлять программное обеспечение в любой момент. Непрерывная интеграция — это процесс в рамках непрерывной поставки.

    Приступите к реализации непрерывной поставки с использованием Azure Pipelines

  • Подготовка и настройка ресурсов являются ключевыми составляющими процесса эксплуатации как в локальной среде, так и в облаке. Благодаря автоматизации процессов и использованию средств, обеспечивающих декларативное определение инфраструктуры (например, текстовых файлов определений), рабочие группы могут развертывать и настраивать ресурсы надежным и легко повторяемым способом. Текстовыми файлами определений можно управлять как кодом с управлением версиями, что обеспечивает удобство отката, воссоздания и удаления сложных сред. Для реализации модели “инфраструктура как код” часто используются такие технологии, как Terraform и Ansible.

    Создание инфраструктуры в Azure с помощью Terraform

    Дополнительные сведения об использовании Ansible с Azure

  • DevOps распространяется не только на разработку, помогая нести ответственность за программное обеспечение (в том числе его производительность) в ходе поставки. Полный процесс DevOps образует цикл обратной связи, в конечном итоге предоставляя точки данных, которые помогут вам усовершенствовать будущие проекты, а также проверить целесообразность развертывания программного обеспечения. Мониторинг и ведение журналов — ключевые компоненты, способствующие обучению с подтверждением прогресса, которое в свою очередь способствует постоянному повышению эффективности разработки и поставки программного обеспечения.

    Узнайте, как собирать и анализировать данные телеметрии с помощью Azure Monitor

  • В течение жизненного цикла собираются отзывы и данные телеметрии, которые помогут принимать решения в ходе следующего цикла. Этот процесс называется обучением с подтверждением прогресса. Обучение с подтверждением прогресса помогает находить новые способы сокращения времени цикла. Затем собранные данные используются для поиска способов автоматизации, совершенствования процессов и подготовки к более быстрому и эффективному развертыванию.

Углубите свои знания о DevOps, выполнив эти задачи

Теперь, когда вы изучили основные концепции, связанные с методикой DevOps, дайте ответы на следующие вопросы:

  • Какие этапы процесса разработки выполняются вручную и могут быть автоматизированы?
  • Есть ли возможность реализовать непрерывную интеграцию в процессе сборки?
  • Как ваша рабочая группа управляет инфраструктурой в настоящее время? Можно ли повторять этот процесс, надежен ли он, можно ли улучшить его с помощью модели “инфраструктура как код”?
  • Какие данные телеметрии помогли бы вам в работе?
  • Какие еще точки данных будут полезны для обучения с подтверждением прогресса?

Формирование культуры DevOps

В следующем разделе этого руководства по DevOps рассматривается формирование культуры DevOps. По мере подготовки к внедрению DevOps в компании вы наверняка обнаружите отличия этой методики от вашего текущего подхода к поставке программного обеспечения.

Новая культура не формируется за один день, и для этого не достаточно просто купить новый набор инструментов. Чтобы рабочая группа могла освоить и применять методику DevOps, вам может потребоваться внести изменения в ее текущие структуры, рабочие процессы и привычки.

Узнайте, как корпорация Майкрософт сформировала культуру DevOps

Углубите свои знания о DevOps, выполнив эти задачи

Планируя формирование культуры DevOps в компании, дайте ответы на следующие вопросы:

  • DevOps помогает координировать работу всех заинтересованных лиц в ходе разработки, поставки и обслуживания программного обеспечения. Какие сотрудники вашей организации относятся к этой категории? Составьте список всех людей, которые будут работать совместно.
  • Каким образом вы можете улучшить связь между командой разработчиков и эксплуатационной группой? Придумайте несколько способов улучшить совместную работу заинтересованных лиц.

Начало работы с Azure DevOps

Современный набор служб разработки позволяет быстрее и надежнее предоставлять программное обеспечение. Обеспечьте более эффективное планирование, улучшенную совместную работу и быстроту поставки, используя все или подходящие только вам функции DevOps.