A lot of the more technical answers here are wrong.
It is possible.
An application can be coded so that it can more easily scale up based on load.
The modern form of doing this is through a concept called containerization.
A container is a little part of the application that performs a specific function.
For example, when you log in to Ticketmaster, you interact with the login container.
A container is controlled through something called an orchestrator. A common orchestrator is a software called Kubernetes.
The orchestrator knows how much load is on the container, and spins up more if the existing ones are overloaded.
For example, under normal load, there are 10 login containers running. Under high load, Kubernetes creates 100 login containers to handle that load.
The application is programmed so it can work whether there are 10 or 100 containers performing that login service.
A modern web application could have hundreds or thousands of these little components that each exist in a separate container. Each one of these components can scale to hundreds of containers as load increases.
The problem is that many web applications were created before this modern containerization architecture existed. These applications are called monoliths. They are much harder to scale up, but it is possible for them to scale.
Converting a monolith into a containerized application is expensive and takes a long time. Companies that don’t see the return on investment don’t do it. It’s possible that Ticketmaster is already doing it, but it also takes a long time.
Facebook, Snap, Airbnb, Instagram, Twitter, etc, are all using containerization, which is why they can handle peak loads better.
I work for an F500 that’s been around a long time (IE, monolithic applications). Just to build our containerization platform took years and hundreds of millions of dollars. Our first native containerized application took additional years and tens of millions to put into the public.
Tldr; it is easy to do so through modern application architecture, but it’s expensive to convert old apps to this new way of working that handles load better. It’s possible through legacy application architecture, but it’s not as responsive to fast capacity increases.
Latest Answers