You are watching: When more than one application is running on a server

This question does not satisfy Stack Overflow guidelines. That is not at this time accepting answers.
Want to improve this question? update the concern so it's on-topic because that Stack Overflow.

Closed 7 month ago.

When reading around docker, I came to know that previously IT companies used to run single app per server and since castle didn"t knew how large the application would scale, castle bought over performing servers which run at a fraction of their potential capacity causing waste of the resources and also money.

But ns wonder, what stopped them from running multiple application on the very same server? Why a server cannot run multiple applications v time share of its resources just like our an individual computers?

docker server containers virtual-machine virtualization
improve this question
inquiry Mar 9 at 5:36

5311 silver badge66 bronze title
include a comment |

1 prize 1

energetic oldest Votes
With docker, you frequently make smaller sized and an ext specific services. The containerization of them renders them simpler to scale, and you are sort of guided into designing systems differently to accommodate this properties.

It is not uncommon to compose several docker images and containers to change the function of a single old-school service.

The solutions of yesteryear were big, v a many moving parts, resource-hungry dependencies and you had actually to scale your hardware to serve the peak resource draw of her system. Meaning, if you had a details day that the month where you had to process millions of requests, also though you only had actually to offer a pair of hundred because that the continuing to be days, expected you had to run the service on hardware capable of serving at that top level at any kind of given time. Running several solutions on the very same node would put you at hazard of having an outage on the vital peak periods. I beg your pardon is one reason solitary responsibility servers would certainly be employed.

This is only one of the reasons, various other reasons that included to the advantage of running one application per node are maintenance, deployability, and also development. Because that instance, if you space running many applications top top one node when you have to take the node down for maintenance, well currently your whole system is down. And also you have actually lost your capability to handle that case gracefully. When it pertains to deployment, well configuring multiple applications on one an equipment can acquire pretty complex. You hazard disrupting the whole system if something goes wrong, and it is hard to automate. Due to the fact that you will need to make sure you room not corrupting the state of one more running applications on the exact same machine. Remember DLL-hell ~ above Windows? It was not uncommon for having actually two applications using the same component v a different version come disrupt each various other at runtime because of incompatibility between the two versions. A single application per box mitigates that risk. And if you are arising using lot of teams, well then you deserve to have them work individually of each other if the teams have actually separate infrastructures.

Now, something new came along and changed how we spread our applications throughout the network. Virtualization make it simpler to use the hardware more efficiently. Instead of dispersing our applications throughout multiple physics servers, us would version the same structure using virtual machines running on the very same machine. These devices would it is in true beasts compared to the ahead servers, but the merged cost would certainly be significantly less, no to point out the maintenance demands would be significantly lower.

See more: Bale Weight: How Big Is A Square Bale Of Hay Bale? How Much Does A Bale Of Hay Weigh

Now, v time this technique grew right into containers. Wherein you not just spread your applications throughout the same item of hardware, you spread out your tasks within that application as well. This combined with making use of the ceiling minimum of your runtime atmosphere resources favor you only lug the part of your OS that you need to function, well you can develop many supervisor light-weight purpose-built tiny applications. The separation of various applications on different machines drove this invention towards single-responsibility features that can be run, scaled, destroyed, developed, maintained, and life-cycled individually of each other.