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.
Before you can start…
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:
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…
Technical Lead of Navigation Cloud Services Group at Preh Car Connect GmbH.