Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

AWS Elastic Beanstalk: What is the difference between environment and application?

I have an application with two clients: web and mobile (both android and iOS).

Should I create:

  1. Two applications (web and mobile) with one environment each
  2. One application with two environments (web and mobile)

What is the best option?

like image 426
david Avatar asked Jan 26 '15 16:01

david


People also ask

WHAT IS environment in Elastic Beanstalk?

An AWS Elastic Beanstalk environment is a collection of AWS resources running an application version. You can deploy multiple environments when you need to run multiple versions of an application. For example, you might have development, integration, and production environments.

What is an application in Elastic Beanstalk?

Elastic Beanstalk is a service for deploying and scaling web applications and services. Upload your code and Elastic Beanstalk automatically handles the deployment—from capacity provisioning, load balancing, and auto scaling to application health monitoring.

What two types of environments can be created when using Elastic Beanstalk?

In AWS Elastic Beanstalk, you can create a load-balanced, scalable environment or a single-instance environment.

What kinds of applications are supported by AWS Elastic Beanstalk?

AWS Elastic Beanstalk supports Java, . NET, PHP, Node. js, Python, Ruby, Go, and Docker web applications.


2 Answers

Elastic Beanstalk (EB) is supposed to host one application. Therefore, if the different clients are two different applications (have different code, rather than just different "historical" version of the same code), they should be on two different EB applications, each with its own set of environments (you could have development, pre-production and produciton environments for example).

like image 59
demonicdaron Avatar answered Oct 03 '22 22:10

demonicdaron


Having been in this situation recently I think it's mostly personal preference. I prefer to separate them out as much as possible in the case that service impacting maintenance that involves only one role wont interfere with the other role.

Example: If you need to do maintenance on your web server role, you don't need to worry about your mobile app servers at all.

like image 38
Bryan Avatar answered Oct 03 '22 22:10

Bryan