Перейти к главному контенту

Возможности AWS CodeDeploy

Почему именно CodeDeploy?

AWS CodeDeploy – это сервис автоматизации развертывания приложений в различных вычислительных сервисах, включая Amazon Elastic Compute Cloud (Amazon EC2), AWS Fargate, AWS Lambda и локальные инстансы. CodeDeploy полностью автоматизирует развертывание приложений, устраняя необходимость в ручных операциях. CodeDeploy использует последовательные обновления и контроль работоспособности развертываемых приложений, что предотвращает простои во время развертывания. CodeDeploy предоставляет централизованный контроль развертывания через Консоль управления AWS, Интерфейс командной строки AWS (AWS CLI), SDK или API, что позволяет запускать, контролировать и отслеживать выполняемые развертывания. Ход развертывания можно контролировать вплоть до отдельных событий. CodeDeploy записывает и сохраняет журнал всех развертываний, поэтому всегда можно изучить хронологию и историю изменений при прошлых развертываниях.

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

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

Открыть все

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

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

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

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

Открыть все

CodeDeploy позволяет обновлять приложения до новых версий без возникновения времени простоя. AWS CodeDeploy может выполнять голубое/зеленые развертывания на инстансах Amazon EC2, сервисе Amazon Elastic Container Service (Amazon ECS) (типы запуска Amazon EC2 и Fargate) или функции Lambda. При сине‑зеленом развертывании новая версия приложения запускается параллельно с предыдущей. Когда новая версия успешно пройдет тестирование и будет признана готовой к использованию, CodeDeploy перенаправит трафик от предыдущей версии приложения к новой в соответствии с заданными настройками.

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

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

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

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

Открыть все

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

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

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

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

Открыть все

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

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

Получение оповещений

Открыть все

Можно создавать оповещения о событиях, затрагивающих ваши развертывания. Уведомления будут приходить в виде оповещений Amazon SNS. Каждое оповещение включает в себя сообщение о состоянии и ссылку на ресурсы, где возникло событие, ставшее причиной оповещения.