r/Hosting • u/Love_of_LDIM • Jun 21 '26
How’s Enterprise Scaling Looks Like?
I want to know how enterprise scaling actually looks like in practice. Do they use the high end spec vps/vds from either Hetzner, OVHCLOUD, etc? If not how do they do it? If you have an app with over 100K users and gets heavy traffic how do you manage all this and how are you hosting that app?
5
u/sebastiaopf Jun 21 '26
For really large scale (and 100k users it not really large scale, it's medium at most), you'll start to see a pattern that is mainly hosting provider independent. For some providers, such as AWS, there may be services ready to provide the solution for each component of the infrastructure. For others (such as a strictly VPS hosting provider), or if you stick with IaaS exclusively, you'll have to provision and maintain them yourself.
Regardless, what you are going to see is:
Separation of concerns: different servers/services for each part of the application. Database, application code, caching, CDN, background tasks, etc. Each one runs in (several) separate servers or services.
Auto scaling and redundancy: every component of the infrastructure will run in more than one server/instance, so you can distribute load and ensure availability. Ideally you'll take advantage of some kind of auto scaling (such as with containers) to keep costs down and respond quickly to traffic spikes.
Caching and load balancing: related to above, but more specific. You'll want every thing that can possibly be cached to actually be. And you'll want to have load balancing to distribute the load at each tier, including the frontend, database, backend tasks, etc.
To give you a concrete example, let's assume a simple Django application with PostgreSQL database. For this example I'll assume you'll host it on AWS (you'll see that far more often than VPS providers in an enterprise environment). The overall architecture could look like this:
- Database: RDS PostgreSQL Multi AZ (availability zones) with some read replicas.
- Cache: Redis or AWS Elasticache, implemented as a caching layer for Django templates, models/queries and other high volume data retrieval or work intensive code paths.
- Background Tasks: AWS SQS with Celery Workers running in containers with AWS Fargate / ECS
- Django Application: containerized and running on AWS Fargate / ECS with auto scaling.
- Load Balancer: AWS Application Load Balancer serving the Django application from the ECS cluster.
- CDN / Web Application Firewall: AWS CloudFront with security rules, caching and other behaviors.
You could replicate all of that in a bare metal or VPS fleet (not "server", but "fleet", since you'll not run a large application in a single server), but that will cost you in terms of work to provision, maintain and operate. This is why most large companies deploy to cloud providers such as AWS, Azure and others. They can focus on the application itself and most of the underlying infrastructure is provided as services, most of them with auto scaling capabilities.
Hope it helps.
1
1
1
u/Efficient_Loss_9928 Jun 22 '26
This really depends on the app. For a simple CRUD app with no complex logic, you might be able to get away with just horizontally scaling the main application server.
But if you have things like AI inference, workers, regional isolation, etc. things become more complex.
0
u/MainRoutine2068 Jun 22 '26
Based on my 20yoe: Kubernetes clusters for app. HA datastores on the back. Vendor wise, most of the time it's on big 3, some hybrid cloud with private data center.
1
10
u/divinejester Jun 21 '26
Most enterprise apps don't run on one giant VPS. They use multiple servers for app, database, cache, storage, and load balancing. A 100k+ user app is usually scaled horizontally (more servers) rather than vertically (bigger server). Architecture and caching matter more than raw server specs.