Microservices are here to stay
Breaking a complex set of operations (aka monolithic architecture*) down into discrete and small parts** has lots of advantages:
*Aka monolithic architecture
**Discrete and small parts
But all these benefits don’t come alone, microservices architecture have their own disadvantages:
And to solve all this count on…
Linux containers can help mitigate many of these challenges:
Containers make use of kernel interfaces which allow multiple containers to share the same kernel while running in complete isolation from one another. This isolation makes deploying microservice code developed using different languages and frameworks very easy.
The portability of containers makes deployment of microservices a breeze. To push out a new version of a service is as simple as stopping the running container and starting a new one based on a Docker image using the latest version of the service code. All the other containers running on the host will be unaffected by this change.
If a given service isn’t using all the resources (CPU, RAM) on a host, additional services can be launched in containers on that server that make use of the idle resources, helping with the efficient utilization of resources in your platform.