AWS CodeBuild vs AWS CodeDeploy: What are the differences?
AWS CodeBuild: Build and test code with continuous scaling. AWS CodeBuild is a fully managed build service that compiles source code, runs tests, and produces software packages that are ready to deploy. With CodeBuild, you don’t need to provision, manage, and scale your own build servers; AWS CodeDeploy: Coordinate application deployments to Amazon EC2 instances. AWS CodeDeploy is a service that automates code deployments to Amazon EC2 instances. AWS CodeDeploy makes it easier for you to rapidly release new features, helps you avoid downtime during deployment, and handles the complexity of updating your applications.
AWS CodeBuild belongs to "Continuous Integration" category of the tech stack, while AWS CodeDeploy can be primarily classified under "Deployment as a Service".
Some of the features offered by AWS CodeBuild are:
- Fully Managed Build Service
- Continuous Scaling
- Enables Continuous Integration
On the other hand, AWS CodeDeploy provides the following key features:
- AWS CodeDeploy fully automates your code deployments, allowing you to deploy reliably and rapidly
- AWS CodeDeploy helps maximize your application availability by performing rolling updates across your Amazon EC2 instances and tracking application health according to configurable rules
- AWS CodeDeploy allows you to easily launch and track the status of your deployments through the AWS Management Console or the AWS CLI
"Pay per minute" is the primary reason why developers consider AWS CodeBuild over the competitors, whereas "Automates code deployments" was stated as the key factor in picking AWS CodeDeploy.
According to the StackShare community, AWS CodeDeploy has a broader approval, being mentioned in 58 company stacks & 15 developers stacks; compared to AWS CodeBuild, which is listed in 21 company stacks and 14 developer stacks.
What is AWS CodeBuild?
What is AWS CodeDeploy?
Need advice about which tool to choose?Ask the StackShare community!
Sign up to add, upvote and see more prosMake informed product decisions
What are the cons of using AWS CodeBuild?
What are the cons of using AWS CodeDeploy?
Sign up to get full access to all the companiesMake informed product decisions
Sign up to get full access to all the tool integrationsMake informed product decisions
The recent move of our CI/CD tooling to AWS CodeBuild / AWS CodeDeploy (with GitHub ) as well as moving to Amazon EC2 Container Service / AWS Lambda for our deployment architecture for most of our services has helped us significantly reduce our deployment times while improving both feature velocity and overall reliability. In one extreme case, we got one service down from 90 minutes to a very reasonable 15 minutes. Container-based build and deployments have made so many things simpler and easier and the integration between the tools has been helpful. There is still some work to do on our service mesh & API proxy approach to further simplify our environment.
The open-source Convox Platform-as-a-Service is built entirely on AWS cloud services.
Through this lens, it's been obvious that AWS has been missing a managed build service. For the past year we've had to work around this by building our own build service on ECS and ECR. You can read more on my AWS Missing Parts: Build Service blog post.
So I'm excited to finally have this service. After a quick weekend prototype, the service works as expected and will unlock Cheaper, Faster and Safer Builds for our systems.
This is a classic AWS service. It's tricky to figure out all the options. I recommend jumping straight to the Docker example docs:
You'll need to figure IAM, Build Project JSON, and Build Spec YAML to get it all working.
But once you do, you've unlocked managed builds on small, medium or large compute types. No instances required!