Difference between Amazon EC2 and AWS Elastic Beanstalk

Amazon Web-ServicesAmazon Ec2HostingAmazon Elastic-Beanstalk

Amazon Web-Services Problem Overview


What is the difference between EC2 and Beanstalk? I want to know regarding SaaS, PaaS and IaaS.

To deploy a web application in Wordpress I need a scalable hosting service. If there anything better than my purpose, please let me know as well.

FYI - I want to host and deploy multiple Wordpress and Drupal sites.

I do not want to give more time for the server and focus on development. But the cloud hosting needs to be auto scalable.

Amazon Web-Services Solutions


Solution 1 - Amazon Web-Services

First off, EC2 and Elastic Compute Cloud are the same thing.

Next, AWS encompasses the range of Web Services that includes EC2 and Elastic Beanstalk. It also includes many others such as S3, RDS, DynamoDB, and all the others.

EC2

EC2 is Amazon's service that allows you to create a server (AWS calls these instances) in the AWS cloud. You pay by the hour and only what you use. You can do whatever you want with this instance as well as launch n number of instances.

Elastic Beanstalk

Elastic Beanstalk is one layer of abstraction away from the EC2 layer. Elastic Beanstalk will setup an "environment" for you that can contain a number of EC2 instances, an optional database, as well as a few other AWS components such as a Elastic Load Balancer, Auto-Scaling Group, Security Group. Then Elastic Beanstalk will manage these items for you whenever you want to update your software running in AWS. Elastic Beanstalk doesn't add any cost on top of these resources that it creates for you. If you have 10 hours of EC2 usage, then all you pay is 10 compute hours.

Running Wordpress

For running Wordpress, it is whatever you are most comfortable with. You could run it straight on a single EC2 instance, you could use a solution from the AWS Marketplace, or you could use Elastic Beanstalk.

What to pick?

In the case that you want to reduce system operations and just focus on the website, then Elastic Beanstalk would be the best choice for that. Elastic Beanstalk supports a PHP stack (as well as others). You can keep your site in version control and easily deploy to your environment whenever you make changes. It will also setup an Autoscaling group which can spawn up more EC2 instances if traffic is growing.

Here's the first result off of Google when searching for "elastic beanstalk wordpress": https://www.otreva.com/blog/deploying-wordpress-amazon-web-services-aws-ec2-rds-via-elasticbeanstalk/

Solution 2 - Amazon Web-Services

For a High level overview, EC2 Is an IaaS compute service; meaning the compute resources are generally managed by the cloud engineer that provisioned them

While Elastic Beanstalk is PaaS where you don't have to border too much about resource management. You just specify what you want and aws handles the task, by automation. For example provisioning a LAMP stack

Solution 3 - Amazon Web-Services

EC2

This service allows you to provision cloud instances. You can connect to the instance to run your workloads and is generally ideal for development work. Eg. You want to run a high end simulation which requires a powerful Gpu.

Elastic Beanstalk

This is a whole environment, meaning you can have multiple instances. It is ideal for hosting web applications. Beanstalk comes with autoscalers which can automatically scale according to the demand. Basically it gives all the advantages of cloud like scalability, security and reliability to your app.
The primary difference between the 2 services is Beanstalk will manage the instance for you. Eg. If you provision a g34x large, and you need a bigger instance cause your workload suddenly increased, beanstalk will scale accordingly. But with EC2 you have to manually modify the configuration. Similarly it can also scale down if there is less network traffic. These settings are configurable.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionAhmad IsmailView Question on Stackoverflow
Solution 1 - Amazon Web-ServicesJosh DavisView Answer on Stackoverflow
Solution 2 - Amazon Web-ServicesOsemenkhian GodstimeView Answer on Stackoverflow
Solution 3 - Amazon Web-ServicesHarsha ReddyView Answer on Stackoverflow