Elastic Beanstalk Flashcards
What is Elastic Beanstalk?
Is a managed platform as a service (PAAS) and a developer-centric view of managing End-to-end web applications on AWS.
Who is in full control over the configuration of Elastic Beanstalk?
You, not AWS
Is Elastic Beanstalk free?
yes, but you pay for the underlying instances
How is the deployment strategy of Elastic Beanstalk?
configurable but performed by Elastic Beanstalk
What are the 3 architecture models of Elastic Beanstalk?
- Single instance
- LB + ASG
- ASG only
What is good for Single instance architecture model of Elastic Beanstalk?
good for dev
What is good for LB + ASG architecture model of Elastic Beanstalk?
good for prod or pre-prod web apps
What is good for ASG only architecture model of Elastic Beanstalk?
for non-web apps in prod (workers, etc…)
What are the 3 components of Elastic Beanstalk?
- Application
- Application version: each deployment gets assigned a version
- Environment name (dev, test, prod…): free naming
Can you rollback to an old application version in Elastic Beanstalk?
yes
Is there a lifecycle of environments in Elastic Beanstalk?
yes, and you can fully control it
What technologies are supported by Elastic Beanstalk?
- Many programming languages
- Docker containers
- your custom written platform (advanced)
What is just the responsability of the developer in Elastic Beanstalk?
the code
Once you create your app in Elastic Beanstalk, what is created along with it?
- an environment
- a new application version
- all the underlying elements of your application i.e. S3 buckets, Security Groups, EC2 instances, EIPs, etc.
What is the Beanstalk Application code options?
upload your code as a zip or create a sample application
What is the main information provided in the Beanstalk environment?
- Configuration
- Logs
- Health
- Monitoring
- Alarms
- Events
What shows you what is going on in your Beanstalk environment?
The Events. There are several severity levels: o TRACE o DEBUG o INFO o WARN o ERROR o FATAL
What is available to you when you create a second Beanstalk environment?
To create a worker environment
What are the 5 configuration presets in Beanstalk apps?
o Single instance (free tier) o Single instance (using Spot instance) o High Availability o High Availability (using on demand and spot instances) o Custom configuration
What are the main aspects included in the Beanstalk App configuration?
- Presets
- Software (X-Ray, S3 log storage, CloudWatch logs, etc.)
- Instances (Root volume, Security groups, etc.)
- Capacity
- Rolling updates and deployments
- Security
- Monitoring
- Managed Updates
- Notifications
- Network
- Database
- Tags
What you should know about RDS databases in Beanstalk applications?
DS can be provisioned with Beanstalk, which is great for dev / test
• This is not great for prod as the database lifecycle is tied to the Beanstalk environment lifecycle and it is deleted with the environment
• The best for prod is to separately create an RDS database and provide our EB application with the connection string
What are the 4 Beanstalk Deployment options for updates?
- All at once
- Rolling
- Rolling with additional batches
- Immutable
What are the no cost Beanstalk Deployment options for updates?
- All at once
- Rolling
What Beanstalk Deployment option for updates has downtime?
All at once
What Beanstalk Deployment option for updates has the higher cost?
Immutable, double capacity
What is the order of Beanstalk Deployment options for updates in terms of deployment speed?
fastest to slowest:
- All at once
- Rolling
- Rolling with additional batches
- Immutable
What is great for Beanstalk Deployment option for updates All at once?
for quick iterations in development environment