Введение

Завершено

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

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

Процесс непрерывной поставки открывает новые возможности, позволяя выпускать для клиентов изменения, которые проходят через рабочие конвейеры.

Тем не менее, непрерывная поставка — это не только управление выпусками.

Непрерывная поставка объединяет все связанные с процессом, людьми и инструментами аспекты, которые необходимы, чтобы обеспечить поставку программного обеспечения по запросу.

Развертывание — это лишь один из этапов процесса непрерывной поставки. Чтобы иметь возможность выполнять развертывание по запросу или несколько раз в день, требуется соблюдать все необходимые условия.

Например:

Стратегия тестирования

У вас должна быть реализована стратегия тестирования. Если вам приходится вручную выполнять множество тестов для проверки программного обеспечения, это станет узким местом для процесса поставки по запросу.

Рекомендации по программированию

Если в вашем программном обеспечении есть проблемы с безопасностью и сопровождением, существует риск, что вы не сможете поддерживать высокий темп выпуска.

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

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

Архитектура

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

Для монолитного программного обеспечения с множеством тесных взаимозависимостей между различными компонентами обеспечить непрерывную поставку будет трудно.

В таких случаях любые изменения в его отдельной части могут повлиять на другие части, которые не были изменены. Автоматические тесты позволяют отследить множество таких непредвиденных зависимостей, но трудности все равно остаются.

Кроме того, при работе с разными командами встают вопросы эффективного управления временем. Если работа команды А зависит от результатов команды B, она не сможет выполнить поставку, пока команда B не завершит свою часть. Поэтому возникает еще одно ограничение, связанное с процессом поставки.

Непрерывная поставка крупных программных продуктов сложна.

Для небольших компонентов этот процесс становится проще. Таким образом, во многих случаях будет эффективнее разбить программное обеспечение на небольшие независимые части.

Одним из возможных подходов к решению таких проблем является реализация микрослужб.

Непрерывная интеграция является одним из основополагающих принципов методологии DevOps.

После создания кода в системе управления версиями вам потребуется автоматизированный способ для интеграции кода на постоянной основе.

Azure Pipelines можно использовать для создания полнофункциональной кроссплатформенной службы непрерывной интеграции и непрерывной поставки.

Эта служба работает с предпочитаемым вами поставщиком Git и обеспечивает развертывание в большинство основных облачных служб, включая Azure.

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

Цели обучения

По завершении этого модуля учащиеся и специалисты смогут:

  • Описание шаблонов развертывания.
  • Объяснение архитектуры микрослужб.
  • Общие сведения о классических и современных шаблонах развертывания.
  • Планирование и проектирование архитектуры.

Необходимые компоненты

  • Понимание подхода DevOps и его принципов.
  • Знание принципов управления версиями будет полезным, но не является обязательным.
  • Преимуществом будет опыт работы в организации, которая разрабатывает программное обеспечение.