Docker Small Hints #1: High Level Concepts Elastic Beanstalk
Cloud Platforms are normally highly generic and configurable and it’s easy to loose overview, what can be configured or modified where. So I assembled some of the main high level concepts for AWS Elastic Beanstalk.
Level 0: Concepts
Elastic Beanstalk is structured around the 3 high level concepts.
A
Version
of an (
Docker)
Application
is running in one
Environment
Elastic Beanstalk allows you to run in parallel
Multiple Versions
of
multiple (Docker) Applications
in
multiple Environments
The Dashboard will show you all deployed
Applications which can be running in multiple
Environments.
In the screenshot below we have one Docker Application „
curationApp“ which has to two environments „
curationApp-prod“ and „
curationApp-test"
Environments.
An Environment may run one of your released docker Application Versions. You could now „ Deploy“ one of your versions to one of your Environments.
Level 1: Concepts
Configuration.
It’s exposed to the Internet via a
Domain Name Endpoint,
<EnvironmentName>-<Id>.elasticbeanstalk.com.
It’s processing can be checked via
Logs,
Realtime Monitors, Events or
Alarms.
Tags.
An
Environment maps to a
EC2 Instance (orange box) which is running an Amazon Linux version, on a Docker container infrastructure.
Main Workflow
The Main Workflow consists of the following step:
- Baseline your Docker Application Directory (e.g. checkin to git)
- Create an new Application Version ZIP File of your baselined Docker Application
- Transfer the Application Version ZIP File to your Amazon S3
- Configure an Beanstalk Application Version item
- Deploy the new Beanstalk Application Version to a Beanstalk Environment
- The Deploy will Restart and Reconfigure the Environment
comments powered by Disqus