Архитектура Azure Pipelines для IaaS
Важно!
CI/CD для приложений IaaS — это вариант проектирования конвейера CI/CD с помощью Azure DevOps. В этой статье рассматриваются особенности развертывания веб-приложений в Azure Виртуальные машины.
Azure Виртуальные машины — это вариант размещения пользовательских приложений, если требуется гибкое и детальное управление вычислительными ресурсами. На виртуальных машинах должен применяться тот же уровень технической строгости, что и для предложений "платформа как услуга" (PaaS) на протяжении всего жизненного цикла разработки. Например, реализация автоматизированных конвейеров сборки и выпуска для отправки изменений на виртуальные машины.
В этой статье описывается высокоуровневый рабочий процесс DevOps для развертывания изменений приложений на виртуальных машинах с помощью методов непрерывной интеграции (CI) и непрерывного развертывания (CD) с помощью Azure Pipelines.
Архитектура
Скачайте файл Visio этой архитектуры.
Поток данных
В этом разделе предполагается, что вы ознакомились с базовой архитектурой Azure Pipelines и посвящены только особенностям развертывания рабочей нагрузки в Azure Виртуальные машины.
Конвейер - запроса на вытягиваниеТо же, что и базовый план
Конвейер CI — то же, что и базовый план, за исключением артефактов сборки, созданных для развертывания веб-приложения в IaaS, является пакетом веб-развертывания.
Триггер - конвейера CDТо же, что и базовый план
Выпуск компакт-диска для промежуточного хранения — то же, что и базовый план с 2 исключениями: 1) скачанный артефакт сборки является пакетом веб-развертывания и 2) пакет развертывается на промежуточной виртуальной машине Azure.
Выпуск компакт-диска в рабочую среду — то же, что и базовый план с 2 исключениями:
a. Выпуск в рабочую среду выполняется путем обновления диспетчера трафика Azure для замены промежуточной и рабочей среды. Эту стратегию можно реализовать, создав профиль диспетчера трафика с двумя конечными точками, где включена рабочая среда и отключено промежуточное хранение. Чтобы переключить промежуточную и рабочую среду, отключите рабочую среду и включите промежуточное хранение.
b. Откат можно выполнить, обновив диспетчер трафика Azure для переключения рабочей и промежуточной среды.Мониторинга - то же, что и базовый план
Компоненты
В этом разделе предполагается, что вы ознакомились с разделом Компоненты базовой архитектуры Azure Pipelines и посвящены только особенностям развертывания рабочей нагрузки в Azure Виртуальные машины.
Виртуальные машины Azure предоставляют доступную по требованию, масштабируемую, безопасную виртуализированную инфраструктуру с использованием серверов Windows или Linux. Виртуальные машины используются в этой архитектуре для размещения рабочих нагрузок.
Масштабируемые наборы виртуальных машин позволяет создавать группы идентичных виртуальных машин с балансировкой нагрузки и управлять ими. Число экземпляров виртуальных машин может автоматически увеличиваться или уменьшаться в зависимости от спроса или по определенному расписанию. Масштабируемые наборы также можно использовать для размещения рабочих нагрузок.
Диспетчер трафика Azure — это подсистема балансировки нагрузки трафика на основе DNS, которую можно использовать для распределения трафика между настроенными конечными точками. В этой архитектуре диспетчер трафика является единой точкой входа для клиентов и настраивается с несколькими конечными точками, представляющими рабочую виртуальную машину и промежуточную виртуальную машину. Конечная точка рабочей виртуальной машины включена, а промежуточное хранение отключено.
Альтернативные варианты
В этой статье основное внимание уделяется использованию диспетчера трафика Azure в качестве подсистемы балансировки нагрузки. Azure предлагает различные варианты балансировки нагрузки , которые можно рассмотреть.
Рекомендации
В этом разделе предполагается, что вы ознакомились с разделом "Рекомендации" в статье Базовая архитектура Azure Pipelines и посвящены только вопросам развертывания рабочей нагрузки в Azure Виртуальные машины.
Эффективность операционных процессов
Так как диспетчер трафика основан на DNS, кэширование IP-адресов клиента вызывает задержку. Несмотря на то, что вы можете включить одну конечную точку и отключить другую в диспетчере трафика, клиенты будут продолжать использовать кэшированные IP-адреса до истечения срока жизни DNS. Рассмотрите варианты балансировки нагрузки , которые действуют на уровне 4 или 7.
Рассмотрите возможность реализации сред, помимо простой промежуточной и рабочей среды, чтобы обеспечить такие возможности, как откаты, приемочное тестирование вручную и тестирование производительности. Использование промежуточного хранения в качестве среды отката не позволяет использовать эту среду для других целей.