Cloud Web App Architectures - Part 3

Continuing on from part 2 where we introduced the concept of container registries to distritbute immutable container images, in the article we are going a step further and introducing the concept of container orchestration.

In our small example application we have four containers but in real world applications, especially in microservice architectures, a lot more containers make up the application’s architecture. This is very difficult to manage using manual methods, instead container orchestration tools are used to deploy and manage these applications on top of a fleet of servers (usually virtual machines) on a cloud infractructure.

Examples of the most common container orchestration tools are Docker’s Swarm and Google’s Kubernetes which is now under Cloud Native Computing Foundation. Kubernetes allows you to describe your solution in terms of containers, how the interact with each other and how they are scaled (among other things) in a declarative format and it will manage the deployment and availability of your containers in the cluster automatically for you. Kubernetes’ architecture and ecosystem is a big topic on its own, here we will just look at a simple deployment of our example application on a Kubernetes cluster.

 
comments powered by Disqus