Right User, Right Server
Right User, Right Server
Our application is growing. Instead of one virtual machine, it's now running on five. All of them can access the same files. Everything seems perfect. Then a new user opens the application. Which virtual machine should respond? Should every user always go to the first machine? It would quickly become overloaded while the others remain idle. Should users choose a server themselves? That would be impossible. The engineering problem was clear. How do we distribute incoming users intelligently across multiple virtual machines? The engineering concept that solved this problem is Load Balancing. A Load Balancer sits in front of all the virtual machines. Every user first reaches the Load Balancer, which checks which machines are available and forwards the request to the most appropriate one. If one virtual machine fails, the Load Balancer simply stops sending users to it. The application remains available without users even noticing the failure. Amazon Web Services calls this Elastic Load Balancing (ELB). Microsoft Azure calls it Azure Load Balancer. Google Cloud calls it Cloud Load Balancing. Different names. One engineering concept. Now traffic could be distributed intelligently across multiple virtual machines. But another question immediately emerged. What happens when all the virtual machines become busy at the same time?
