Elastic Beanstalk Flashcards
This deck aims to help retain concepts related to the Elastic Beanstalk service.
What AWS service allows developers to deploy and manage applications without handling the underlying infrastructure, automatically managing provisioning, load balancing, scaling, and health monitoring?
AWS Elastic Beanstalk
What AWS services does Elastic Beanstalk use under the hood to manage application deployments?
- EC2, ECS
- ELB, Auto Scaling
- RDS, S3
- SQS
- CloudWatch
- IAM
and more
In AWS Elastic Beanstalk, what component defines the underlying technology stack used to run the application?
Platform
How is AWS Elastic Beanstalk billed?
Elastic Beanstalk is free of charge, but you charged for the underlying AWS resources it provisions, such as EC2, ELB, RDS, S3, and CloudWatch
What platforms does AWS Elastic Beanstalk support for deploying applications?
- Go
- Node.js
- PHP
- Python
- Ruby
- Java SE, Tomcat (Java SE runtime)
- .NET Core on Linux
- .NET on Windows Server
- Docker
- Single Container (EC2 instance)
- Multi-Container (ECS cluster)
- Preconfigured Docker (custom runtimes)
What file format are supported for an AWS Elastic Beanstalk source bundle?
ZIP and WAR
What is the maximum allowed size for an AWS Elastic Beanstalk source bundle?
500 MB
Can an AWS Elastic Beanstalk source bundle contain a top-level (parent) directory?
No, but it can contain subdirectories
Which AWS service does AWS Elastic Beanstalk use to manage infrastructure?
AWS CloudFormation
What AWS Elastic Beanstalk component represents a specific version of deployable code for an application?
Application Version
What AWS Elastic Beanstalk component represents a top-level architecture block that can contain multiple environments?
Application
What AWS Elastic Beanstalk component represents a container for infrastructure and configuration for a specific application version?
Environment, each having its own CNAME
What AWS Elastic Beanstalk feature allows to swap the CNAMEs of two environments?
CNAME Swap (switchover feature)
What AWS Elastic Beanstalk component defines the structure and function of an environment?
Environment Tiers
What types of environment tiers are supported in AWS Elastic Beanstalk?
- Web Server Environment Tier: applications that handle HTTP requests
- Worker Environment Tier: backend applications that pull tasks from an SQS queue
What are some ideal use cases for AWS Elastic Beanstalk?
- Small development teams without dedicated operations staff
- Simple projects with minimal infrastructure complexity
- Rapid prototyping or MVPs
Is it recommended to run a database within an AWS Elastic Beanstalk environment?
No, databases should be provisioned and managed outside of Elastic Beanstalk, typically using AWS RDS or other database services
What AWS Elastic Beanstalk platform should be used if the platform required by the application code is not directly supported?
Docker, as it allows for custom runtimes
What configuration file is required for deploying to AWS Elastic Beanstalk Single Container platform?
One of the following:
- Dockerfile: to build a Docker image and runs the container
- Dockerrun.aws.json (v1): to use existing image and configure ports, volumes, and environment variables
- docker-compose.yml: if Docker Compose is required for deployment
What configuration file is required for deploying to AWS Elastic Beanstalk Multi-Container platform?
Dockerrun.aws.json (v2): to defines multiple container configurations, including images, ports, volumes, environment variables, and ECS task definitions
What AWS Elastic Beanstalk feature controls how application versions are deployed to an environment?
Deployment Strategies (Policies)
What deployment strategies does AWS Elastic Beanstalk provide?
- All-at-once
- Rolling
- Rolling with additional batch
- Immutable
- Traffic Splitting
Which AWS Elastic Beanstalk deployment strategy performs an in-place deployment on all instances, causing a brief outage and is commonly used for development and test environments?
All-at-once
Which AWS Elastic Beanstalk deployment strategy divides instances into batches and deploys to one batch at a time, causing a temporary loss in capacity but no additional cost?
Rolling (batch size can be configured)