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

Начните работать с AWS бесплатно

Создать бесплатный аккаунт

Получите доступ к уровню бесплатного пользования AWS на год, включая преимущества базовой поддержки AWS Basic Support: круглосуточное обслуживание клиентов (без праздников и выходных), форумы и многое другое.
Сведения об уровне бесплатного пользования AWS »

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

CodeDeploy_Header

С помощью 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 для непрерывной интеграции и предоставления сервисов, что упрощает автоматическое развертывание обновленных версий приложений.