Trusted answers to developer questions
Trusted Answers to Developer Questions

Related Tags


Microservices applications in container

Brandon Kang

Many developers wonder if Microservices should be in Container.

We can narrow this down to:

What is the best environment for the application?

A long time ago, we used a physical server running on any operating system like Unix, Linux, Windows Server, etc. In this environment, it was very hard/impossible to run multiple applications in a single server at the same run time.

It may have had conflicting libraries, component dependencies, and server resource allocation problem from an OS level.

The next choice would be to divide a single physical server up into many virtual machines(VM). Since VMs have an independent run time module thanks to the guest OS and run time, we can run multiple application executions on a virtualized single server.

Actually, modern cloud providers use this same virtualization mechanism. When cloud providers only rent VMs, we call it IaaS (Infrastructure as a Service). This environment enabled us to run Microservices on the Cloud.

However, this is still not enough to run Microservices when it comes to fast scalability, easy maintenance, and a self-healing perspective.

Let’s think about Container. Containers encapsulate a lightweight runtime environment for applications and provide a lot of consistency.

[Free Photo by Tom Fisk]

We can say that:

Container is a finer-grained execution environmental model for Microservices. It performs isolation execution at the OS level even though multiple containers are running on an OS.

Container gives us faster initialization and execution because the container itself is very light-weight and does not require OS spin upTo reach a sufficient spinning speed for reads and writes to take place.. It starts in seconds or even milliseconds, in some cases, and is much faster than VM.

Container-based microservice applications in production environments can better respond to erratic workloads.

As companies begin to move more of the way they do business over to digital offerings, shorter container initiation times can help:

  • increase user satisfaction
  • improve the financial performance of revenue-generating applications.

It’s definitely your choice, but it is important to understand when a Container is the best fit for your business requirements.



View all Courses

Keep Exploring