Автоматизированное развертывание

Воспроизводимое развертывание

С помощью AWS CodeDeploy можно просто повторять развертывание приложения в различных группах инстансов или в функциях AWS Lambda. CodeDeploy использует модель установки на основе файлов и команд, что позволяет развертывать любое приложение и при этом использовать существующий установочный код. Один и тот же установочный код может использоваться для обеспечения единообразия в ходе развертывания, тестирования и выпуска в рабочую среду обновлений для инстансов Amazon EC2 и функций Lambda. Устранение ручных операций при развертывании увеличивает как скорость, так и надежность процесса доставки ПО.

Автоматическое масштабирование

AWS CodeDeploy позволяет интегрировать развертывание ПО и процессы масштабирования для поддержания приложения в актуальном состоянии в динамических рабочих средах. Для инстансов Amazon EC2 сервис CodeDeploy интегрирован с Auto Scaling. Auto Scaling позволяет автоматически масштабировать ресурсы EC2 в соответствии с заданными условиями, например при резком возрастании трафика. Если в группе Auto Scaling запускается новый инстанс, CodeDeploy получает оповещение и автоматически развертывает приложение на новом инстансе, прежде чем этот инстанс добавится в балансировщик нагрузки Elastic Load Balancing. Для AWS Lambda функции автоматически масштабируются в соответствии с объемом трафика и интегрируются с CodeDeploy, что гарантирует использование актуальной версии кода.

Развертывание в локальной среде

AWS CodeDeploy можно использовать для автоматического развертывания программного обеспечения во всех инстансах, работающих в средах разработки и тестирования, а также в рабочей среде, включая инстансы локальных ЦОД (при этом инстансы должны иметь возможность подключаться к публичным адресам AWS). Это позволяет использовать один сервис для единообразного развертывания приложений по всей гибридной архитектуре.

Сокращение простоев

Последовательные и сине‑зеленые обновления

Когда приложения обновляются до новых версий с помощью AWS CodeDeploy, перерыв в их работе не требуется. CodeDeploy может осуществлять последовательные обновления в группе инстансов Amazon EC2, при этом в любой момент лишь часть инстансов находится в отключенном состоянии. CodeDeploy последовательно переходит от инстанса к инстансу, при этом приложения остаются доступными и продолжают обслуживать трафик. Для функций AWS Lambda входящий трафик последовательно направляется от старой версии к новой.

AWS CodeDeploy может также выполнять сине‑зеленые (динамические) развертывания, при которых для установки последней версии выделяется новая группа инстансов Amazon EC2. После того как на новые инстансы установлена последняя версия, CodeDeploy перенаправляет трафик с рабочих инстансов на новые. Все обновления AWS Lambda изначально сине‑зеленые, так как выделение новых инстансов не предусмотрено.

Контроль работоспособности развертываемых приложений

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

Остановка и возврат

Вы можете в любое время остановить процесс развертывания приложения с помощью Консоли управления AWS, интерфейса командной строки AWS или любого SDK AWS. Если остановленное развертывание требуется продолжить позднее, можно просто повторить развертывание этой версии. Кроме того, можно немедленно осуществить возврат, выполнив развертывание предыдущей версии.

Централизованный контроль

Мониторинг и контроль

Запускать, контролировать и отслеживать развертывание ПО можно непосредственно в Консоли управления AWS или с помощью интерфейса командной строки AWS, SDK или API. В случае ошибки можно без труда определить, какой конкретно скрипт ее вызвал. Дополнительно можно настроить push‑уведомления и контролировать состояние развертываний с помощью SMS‑сообщений или электронных писем с использованием Amazon Simple Notification Service.

Группы развертывания

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

Журнал развертываний

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

Простота настройки

Независимость от конкретных архитектур и языка программирования

AWS CodeDeploy использует модель установки на основе файлов и команд, что позволяет развертывать любое приложение и при этом использовать существующий установочный код. CodeDeploy использует единый файл конфигурации AppSpec для привязки файлов приложения или поиска конкретных функций AWS Lambda для обновления. Файл AppSpec можно также использовать для выполнения действий, тестов и проверок в рамках каждого события жизненного цикла (этапа развертывания). В качестве команд может использоваться любой программный код, например скрипт оболочки, настраиваемая программа или даже утилита управления конфигурацией.

Интеграция цепочки инструментов

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

Подробнее о ценах на AWS CodeDeploy

Перейти на страницу цен
Готовы приступить к разработке?
Начать работу с AWS CodeDeploy
Есть вопросы?
Свяжитесь с нами