What is our primary use case?
AWS CodeDeploy is a deployment service that automates application deployments to various compute services. My main use cases include automated application deployments to Amazon EC2 instances, on-premises servers, AWS Lambda, and Amazon ECS.
In my projects, I have deployed backend services through AWS CodeDeploy to EC2 instances. For every release and pre-development release planned for production, I use AWS CodeDeploy to deploy to all four AWS EC2 instances, which allows me to achieve the desired output.
The primary use case for AWS CodeDeploy is automatic application deployment, which I consider the best aspect of the service.
What is most valuable?
AWS CodeDeploy offers several valuable features, including deployment to fleets of EC2 servers, on-premises servers deployed to data center infrastructure, AWS Lambda for serverless function updates, and Amazon ECS for containerized applications.
The feature I use most frequently is deployment to Amazon EC2 instances, where I deploy backend services to EC2 servers, enabling zero-downtime deployment. AWS CodeDeploy supports rolling updates, blue-green deployments, and canary deployments to minimize or eliminate downtime. Additional standout features include consistent deployments across environments, the ability to deploy to development, staging, and production environments, centralized control, integration with CI/CD pipelines, and automatic rollback.
AWS CodeDeploy has positively impacted my organization by significantly reducing deployment times to achieve zero downtime during deployments. Generally, it takes very little time for backend services to be deployed to EC2 instances.
What needs improvement?
AWS CodeDeploy can be improved by optimizing deployment strategies using blue-green deployments, configuring appropriate minimum health hosts to balance speed with reliability, enhancing the AppSpec file, keeping lifecycle hooks efficient and lightweight, improving monitoring and feedback, speeding up deployments, strengthening CI/CD integrations, and improving reliability while using best security practices.
Deployments can be accelerated much more by reducing artifact size through excluding unnecessary files, using S3 Transfer Acceleration for large deployment packages, pre-installing dependencies in AMIs rather than during deployment, and running deployment scripts in parallel where possible.
For how long have I used the solution?
I have been using AWS CodeDeploy for the past six years.
What do I think about the stability of the solution?
AWS CodeDeploy is quite stable.
What do I think about the scalability of the solution?
AWS CodeDeploy's scalability is quite good. I can definitely scale it to a much higher extent whenever required and can downgrade when needed, as its features support scalability with infrastructure.
How are customer service and support?
The customer support has been excellent. I have faced some issues and they were resolved very quickly.
How would you rate customer service and support?
Which solution did I use previously and why did I switch?
Previously, I was using Azure for deployments, but I switched to AWS CodeDeploy because of the pricing, features, and performance it provides, including improved monitoring and feedback available in AWS CloudWatch.
What was our ROI?
I have definitely seen a return on investment. The time saved is the main advantage, and I can realize many benefits such as accelerated deployments and reasonable costs overall.
The time saved is the main advantage of AWS CodeDeploy, and the costs have been quite reasonable.
What's my experience with pricing, setup cost, and licensing?
The pricing for AWS CodeDeploy has been quite reasonable. It is better compared to peers like Azure, and the licensing cost and setup cost are both quite good for AWS.
Which other solutions did I evaluate?
Before choosing AWS CodeDeploy, I evaluated Azure as an alternative. However, AWS CodeDeploy's performance and its features, including best practices for security, reliability, and CI/CD integration as well as deployment speed and strategies, have been quite strong.
What other advice do I have?
My advice to others looking into using AWS CodeDeploy is to use it to maximize capabilities in terms of reducing deployment times. It scales with infrastructure so you can deploy to one instance or thousands without issues.
I have already explained numerous features and aspects of AWS CodeDeploy, including scalability benefits, multi-environment support, concurrent deployments, blue-green deployment at scale, autoscaling integration, and core scalability features. I would rate this product a 9 out of 10.
Which deployment model are you using for this solution?
Private Cloud
If public cloud, private cloud, or hybrid cloud, which cloud provider do you use?
Amazon Web Services (AWS)
Disclosure: My company does not have a business relationship with this vendor other than being a customer.