Automation using AWS Elastic Beanstalk vs AWS CodeDeploy Automation using AWS Elastic Beanstalk vs AWS CodeDeploy jenkins jenkins

Automation using AWS Elastic Beanstalk vs AWS CodeDeploy


The biggest difference is, that:

  • CodeDeploy is the service that deploys your application to the existing EC2 instance(s). It does not take into account LoadBalancing or scaling etc.
  • ElasticBeanstalk is more of the PaaS service, that provides you all the wrapping you need to scale your application so you don't need to worry about the DevOps aspect. Like monitoring, scaling etc.

I found this image to describe the differences nicely. Including as well OpsWorks:aws-cloud-deployment

If you want to read more about differences of CodeDeploy, Elastic Beanstalk or OpsWorks, check out AWS own document: https://d0.awsstatic.com/whitepapers/overview-of-deployment-options-on-aws.pdf


The answer is very simple. ElasticBeanstalk offers cookie-cutter automated deployments based on a set of AWS common practices. CodeDeploy is broadly configurable and customizable.

You should use ElasticBeanstalk until you find a use case that cannot be resolved without using CodeDeploy (two use cases suggested by the AWS Documentation posted by Maksim Luzik are deploying to EC2 instances managed internally by your organization and deploying to EC2 instances for third-party integration).


Use the second option instead of using third party tools as AWS platform is supporting to deploy your app using git or bitbucket using python based scripts.