4

I've been very interested in Service Oriented Architecture, and Microservices. Many resources talk about having services in containers.

To me, one of the big benefits of seperating an application into services is performance. I can have each service live on a seperate server and if some services are using more resources I can scale, and load balance, when required. As opposed to a monolithic approach where you would have to load balance the entire application.

I keep reading that services should be in containers. What is the benefit of this? If I have multiple services on 1 server using containers then how is that different to a service in a monolithic application? Isn't this going to cause potential problems when the time comes to move those services onto seperate servers? And would it not be more ideal to have them on different servers?

This book (page 6) https://www.nginx.com/wp-content/uploads/2015/01/Building_Microservices_Nginx.pdf talks of instances. I assume these are Amazon instances.

Personally, it feels wrong to be having multiple services on a single server. Or am I missing something?

4

Having services in containers does not mean that they all have to be on the same server. Instead it makes it very easy to have them all on the same server some on different or all on different. You can start with containers sharing a server but then scale out with fast start up (development / light loads).

The guidance for using containers is to help isolate the services from one and another. But with a lighter approach than a full VM or separate physical servers. In the VM case this means that the same host server can likely support more containers than it can VMs.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.