[email protected]

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"


An Environment may run one of your released docker Application Versions. You could now „ Deploy“ one of your versions to one of your Environments.

In the example below the environment “ curationApp-prod” is running Version 0.0.5.


Level 1: Concepts

By selecting an Environment you will see the Dashboard of the running Application Version which is configured on a AWS Solution Stack.

In our example below this a Docker solution running on Amazon Linux.

A running Environment has a Health Status and an associated
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.

Furthermore an Environment may be complemented with
Tags.

Configuration, Alarms and Tags may be maintained a set according to your needs.

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