Need advice about which tool to choose?Ask the StackShare community!
AWS Elastic Beanstalk vs Docker: What are the differences?
What is AWS Elastic Beanstalk? Quickly deploy and manage applications in the AWS cloud. Once you upload your application, Elastic Beanstalk automatically handles the deployment details of capacity provisioning, load balancing, auto-scaling, and application health monitoring.
What is Docker? Enterprise Container Platform for High-Velocity Innovation. The Docker Platform is the industry-leading container platform for continuous, high-velocity innovation, enabling organizations to seamlessly build and share any application — from legacy to what comes next — and securely run them anywhere.
AWS Elastic Beanstalk and Docker are primarily classified as "Platform as a Service" and "Virtual Machine Platforms & Containers" tools respectively.
Some of the features offered by AWS Elastic Beanstalk are:
- Elastic Beanstalk is built using familiar software stacks such as the Apache HTTP Server for Node.js, PHP and Python, Passenger for Ruby, IIS 7.5 for .NET, and Apache Tomcat for Java
- There is no additional charge for Elastic Beanstalk - you pay only for the AWS resources needed to store and run your applications.
- Easy to begin – Elastic Beanstalk is a quick and simple way to deploy your application to AWS. You simply use the AWS Management Console, Git deployment, or an integrated development environment (IDE) such as Eclipse or Visual Studio to upload your application
On the other hand, Docker provides the following key features:
- Integrated developer tools
- open, portable images
- shareable, reusable apps
"Integrates with other aws services" is the top reason why over 74 developers like AWS Elastic Beanstalk, while over 816 developers mention "Rapid integration and build up" as the leading cause for choosing Docker.
Docker is an open source tool with 54K GitHub stars and 15.6K GitHub forks. Here's a link to Docker's open source repository on GitHub.
According to the StackShare community, Docker has a broader approval, being mentioned in 3527 company stacks & 3449 developers stacks; compared to AWS Elastic Beanstalk, which is listed in 374 company stacks and 119 developer stacks.
lxd/lxc and Docker aren't congruent so this comparison needs a more detailed look; but in short I can say: the lxd-integrated administration of storage including zfs with its snapshot capabilities as well as the system container (multi-process) approach of lxc vs. the limited single-process container approach of Docker is the main reason I chose lxd over Docker.
Pros of AWS Elastic Beanstalk
- Integrates with other aws services77
- Simple deployment65
- Fast44
- Painless28
- Free16
- Independend app container3
- Well-documented3
- Ability to be customized2
- Postgres hosting2
Pros of Docker
- Rapid integration and build up823
- Isolation688
- Open source518
- Testability and reproducibility505
- Lightweight459
- Standardization217
- Scalable184
- Upgrading / downgrading / application versions105
- Security87
- Private paas environments84
- Portability33
- Limit resource usage25
- Game changer16
- I love the way docker has changed virtualization15
- Fast13
- Concurrency11
- Docker's Compose tools7
- Easy setup5
- Fast and Portable5
- Because its fun4
- Makes shipping to production very simple3
- It's dope2
- Highly useful2
- Very easy to setup integrate and build1
- Package the environment with the application1
- Does a nice job hogging memory1
- Open source and highly configurable1
- Simplicity, isolation, resource effective1
- MacOS support FAKE1
- Its cool1
- Docker hub for the FTW1
- HIgh Throughput1
Sign up to add or upvote prosMake informed product decisions
Cons of AWS Elastic Beanstalk
- Charges appear automatically after exceeding free quota2
- Lots of moving parts and config1
- Slow deployments0
Cons of Docker
- New versions == broken features8
- Unreliable networking6
- Documentation not always in sync6
- Moves quickly4
- Not Secure3