Image for post
Image for post

A Container Orchestration System (COS) adds application life cycle management, scheduling and placement based on available resources and connectivity features to your cloud system. It takes away the responsibility from you to take care for these tasks. Thus it is possible, instead of implementing the mentioned features in each of your services, to reduce the complexity in the components you have to develop. When developing a web application, the first goal is to satisfy your customers. Beside good quality of content, a responsive UI and an appealing design of the application, the main goal is to have a resilient, fault…


In my previous post How a Container Orchestration System Could Look Like, I showed an architectural overview and discussed the most important components of such a system. It is based on Nomad as job scheduler, Consul for service discovery and fabio for request routing and load balancing.

In this post I will describe step by step how to set up this Container Orchestration System (COS) on an empty AWS account using terraform.

All steps described and scripts used in this post are tested with an ubuntu 16.04, but should also work on other linux based systems.

Image for post
Image for post

Prerequisites

Before you can start…


Image for post
Image for post
Photo by chuttersnap on Unsplash

If you jumped on the containerization train and dockerized (or rockitized) your application components (microservices) you are on a good way for a scalable and resilient system.

To really run such a system on production at scale the questions to be answered are:

  1. Scheduling: Where do these containers run?
  2. Management: Who manages their life cycle?
  3. Service Discovery: How do they find each other?
  4. Load Balancing: How to route requests?

After some research one quickly finds systems like kubernetes, DC/OS, AWS ECS, AWS EKS (managed kubernetes cluster), Docker Swarm, etc. Such systems are kind of orchestrating the containers placement, communication and…

Thomas Obenaus

Technical Lead of Navigation Cloud Services Group at Preh Car Connect GmbH.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store