- From Monolith to Microservices
- What are Containers
- Container Orchestrators
- Example of Container Orchestrators
Monolith - expensive hardware taste , 1000-line of codes , no documentation , downtime is active | passive , new challenges , not so modern programming language , outdated software architecture patterns & principles .
Microservices - can be deployed individually on separate servers , lesser compute resources expenses , developed & written in modern programming language , add complexity to architecture , greatest benefits in scalability , seamless upgrades & patches , no downtime , no service disruption , more productive , cost -efficient .
Microservices are like pebbles whereas monolith are 1000 ton of boulder , that are easier to carry . These pebbles are loosely coupled microservices , each performing a specific business .
Container Images :-A container image is a ready to run software package , containing everything to run an app : the code , runtimes , dependencies in a pre-defined format .
Container Runtimes :- It is the software that is responsible for running container .
Kubernetes Support :- docker , CRI-O , containerd .
Containers are an application - centric method to deliver high performing , scalable, application on any type infrastructure of your choice . Container are best suited to deliver micro-services .
To Learn more about Docker checkout this article (https://medium.com/code-for-cause/docker-made-easy-901b792bec7c)
Container encapsulate micro-services and their dependency but do-not run them directly , instead run container images .**
Container orchestrators are tools which group systems , together to form cluster where containers deployment is automated at scale while meeting the requirements .
- Amazon Elastic Container Service
- Azure Container Instances
- Docker Swarm
- Apache Mesos
There is variety of Deployment options for container orchestration .