Непрерывная интеграция и непрерывная поставка (создание облачных приложений в реальном мире с помощью Azure)

Майк Уоссон, Рик Андерсон (, том Dykstra)

Скачивание решения ИТ-проекта или Загрузка электронной книги

Создание реальных облачных приложений с помощью электронной книги Azure основано на презентации, разработанной Скотт Гатри (. В нем объясняются 13 шаблонов и методик, которые могут помочь в успешной разработке веб-приложений для облака. Сведения о электронной книге см. в первой главе.

Первые два рекомендуемых шаблона процесса разработки автоматизируют все и система управления версиями, а третий шаблон процесса объединяет их. Непрерывная интеграция (CI) означает, что каждый раз, когда разработчик проверяет код в исходном репозитории, сборка запускается автоматически. Непрерывная поставка (CD) выполняет этот шаг дальше. После успешного выполнения сборки и автоматизированного модульного тестирования приложение автоматически развертывается в среде, где можно выполнить более глубокое тестирование.

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

Рабочий процесс непрерывной интеграции и непрерывной поставки

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

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

Рабочий процесс непрерывной поставки

Как облако обеспечивает экономичное НЕПРЕРЫВное развертывание и компакт-диск

Автоматизация этих процессов в Azure проста. Так как вы используете все компоненты в облаке, вам не нужно покупать или администрировать серверы для ваших сборок или тестовых сред. И вам не нужно ждать, пока сервер будет доступен для тестирования. При каждой выполняемой сборке вы можете запустить тестовую среду в Azure с помощью скрипта автоматизации, выполнить приемочные тесты или более глубокое тестирование по сравнению с ним, а затем, когда все будет сделано, просто разорвать его. И если вы запустили этот сервер только в течение 2 часов или 8 часов или день, необходимо платить за него минимально, так как вы платите только за время фактического выполнения компьютера. Например, при переходе на один уровень с бесплатного уровня среда, требуемая для решения ИТ в ИТ, по сути требует затрат на 1 цент в час. В течение месяца, если вы запускали среду только в течение часа, ваша среда тестирования, скорее всего, будет стоить меньше, чем латте, приобретенную в Starbucks.

Azure DevOps Services

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

  • Он поддерживает как Git (распределенные), так и TFVC (централизованные) системы управления версиями.
  • Она предлагает службу эластичных сборок, которая означает, что она динамически создает серверы сборки, когда они необходимы, и принимает их после завершения. Вы можете автоматически запускать сборку, когда кто-то проверяет изменения исходного кода, и вам не нужно выделять и платить за собственные серверы сборки, которые находятся в неактивном состоянии в большинстве случаев. Служба сборок предоставляется бесплатно, пока не будет превышено определенное количество сборок. Если вы планируете выполнить большое количество сборок, вы можете заплатить немного подробнее для зарезервированных серверов сборки.
  • Она поддерживает непрерывную доставку в Azure.
  • Он поддерживает автоматическое нагрузочное тестирование. Нагрузочное тестирование является критически важным для облачного приложения, но часто не выполняется до тех пор, пока оно не будет слишком поздно. Нагрузочное тестирование имитирует интенсивное использование приложения тысячами пользователей, что позволяет находить узкие места и повышать пропускную способность, прежде чем выпускать приложение в рабочую среду.
  • Он поддерживает совместную работу в комнате группы, что упрощает обмен данными и совместную работу в режиме реального времени для небольших гибких команд.
  • Он поддерживает гибкое управление проектами.

Дополнительные сведения о функциях непрерывной интеграции и доставки Azure DevOps Services см. в документации по Azure DevOps.

Если вы ищете возможности управления проектом, совместной работы группы и решения для управления версиями, ознакомьтесь с Azure DevOps Services. Зарегистрируйтесь по адресу Azure DevOps Services.

Сводка

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

Ресурсы

Дополнительные сведения см. в статье Развертывание веб-приложения в службе приложений Azure.

См. также следующие ресурсы: