Amazon CodeDeploy
AWS CodeDeploy is a fully managed deployment service that automates software deployments to various compute services such as Amazon EC2, AWS Fargate, AWS Lambda, and on-premises servers. CodeDeploy makes it easier to rapidly release new features, helps avoid downtime during application deployment, and handles the complexity of updating your applications with in-place, blue/green, and canary deployment strategies.
APIs
Amazon CodeDeploy API
The Amazon CodeDeploy REST API enables programmatic management of applications, deployment groups, deployment configurations, and deployments. Create and update deployment group...
Capabilities
Amazon CodeDeploy Deployment Automation
Unified workflow for DevOps teams to create deployment groups, deploy revisions to EC2, Lambda, and ECS targets, and monitor deployment status.
Run with NaftikoFeatures
Support for in-place, blue/green, and canary deployment strategies across EC2, Lambda, ECS, and on-premises targets to minimize downtime and risk.
Automatically roll back deployments if a specified number of instances fail health checks or if CloudWatch alarms are triggered during deployment.
Define custom lifecycle event hooks (BeforeInstall, AfterInstall, ApplicationStart, etc.) using scripts or Lambda functions for fine-grained deployment control.
Implement canary and linear traffic shifting for Lambda function updates and ECS service deployments with configurable traffic weights and bake times.
Organize deployment targets using deployment groups with EC2 instance tags, Auto Scaling groups, ECS clusters, or on-premises instance tags.
Install the CodeDeploy agent on EC2 or on-premises instances to enable deployment target registration and lifecycle hook execution.
Integrate with Application Load Balancers and Network Load Balancers for blue/green deployments that shift traffic between original and replacement instances.
Use Cases
Use blue/green deployments to update applications without downtime by routing traffic to a new environment while keeping the original environment available for rollback.
Deploy new Lambda function versions with canary or linear traffic shifting to gradually migrate traffic from the current version to the updated function version.
Deploy updated container tasks to ECS services with blue/green deployments and configurable traffic shifting through an Application Load Balancer.
Extend cloud-based deployment automation to on-premises servers using the CodeDeploy agent and on-premises instance registration.
Use CodeDeploy as the deployment stage in an AWS CodePipeline for fully automated continuous delivery from source code to production.
Integrations
Use CodeDeploy as the deployment stage in CodePipeline CD pipelines.
Trigger CodeDeploy deployments from build artifacts produced by CodeBuild.
Deploy Lambda function updates with traffic shifting strategies.
Deploy ECS service updates with blue/green deployments.
Trigger automatic rollbacks based on CloudWatch alarm states.
Integrate with ALB and NLB for blue/green traffic shifting.
Deploy to Auto Scaling groups with automatic instance health checking.
Use SSM Run Command and State Manager for deployment automation.
Deploy application revisions stored in GitHub repositories.
Store and retrieve application deployment bundles from S3.