DEV Community

Cover image for 📈 Scaling Web Applications to a Billion Users. It is Complicated... 😵‍💫

📈 Scaling Web Applications to a Billion Users. It is Complicated... 😵‍💫

Lukas Mauser on October 30, 2023

Did you ever think: "Instagram is just a photo sharing website, I could build something like that!" You can't. You can probably build a phot...
Collapse
 
dsaga profile image
Dusan Petkovic

I doubt that anyone considers these things from the start of the project, its very hard to at least and you need lots of expertise, so initially when building something its fine to just focus on building it to be a working product, then in the next phase when the app starts getting more traction then you start considering how to scale.

But it for sure doesn't hurt to implement good practices from the start like version control and some form of CI..

But anyways great point raised in the article!

Collapse
 
wimadev profile image
Lukas Mauser

The point I am trying to make here is, that building large scale apps is complicated.
But of course you are right, in 99% of cases it's unnecessary overhead to kick off a project like this. Except if you are a huge company like Google or Meta...

Collapse
 
dsaga profile image
Dusan Petkovic

Yea, you need lots of resources and talent to do it, but very interesting and worth considering when starting a project, to at least make the least worst decisions

Collapse
 
efpage profile image
Eckehard

Intresting insights, thank you very much!

How do you think different UI-frameworks have an effect, if applications start to grow? Talking of React, Svelte, Solid.js or even HTMX might give your very different load profiles.

Collapse
 
wimadev profile image
Lukas Mauser • Edited

I think the choice of UI framework is not that important... UI usually won't be the bottleneck and modern frameworks are all very similar in terms of performance (take a look at these benchmarks if you are interested: krausest.github.io/js-framework-be... ). The code you put inside the framework probably matters more than the framework itself.
When it comes to choosing a UI framework I would much rather go with what your team is good at and what DX you prefer.

Collapse
 
dsaga profile image
Dusan Petkovic

For any front-end or UI framework, as the application grows and a company grows and new features are build I think the main bottleneck will be technical debt that needs to be addressed and dev processes that need to be updated to account for a larger and larger codebase and more teams that need to work together without breaking things...

Collapse
 
dreamhollow4219 profile image
Ian

This, exactly.
Which is why it can be so frustrating when you see users say silly things like "build your own [insert website here] if you don't like [website to be replaced]!"

I have actually thought about the idea of what it would be like to create the next Twitter, Facebook, or Reddit. But the fact is that the people behind these companies have MASSIVE resources and can actually afford that kind of gambit.

You need servers, you need stable systems, you need people.
Now if you already have all of those things there might be a shot.

If you don't, you'd better have some solid investors.

Collapse
 
wimadev profile image
Lukas Mauser

Yeah, nowadays they truly have massive resources.
Still, I think no one should not be intimidated by that. You can reach significant scale with just a few talented engineers. IG now has 500 employees, but they grew to 14M users with only 3 engineers.

Here's an interesting read by their engineering team on the early stack instagram-engineering.com/what-pow...

Collapse
 
wimadev profile image
Lukas Mauser • Edited

You are welcome 🤠
Just to make it clear: In a startup, I would not spend too much time with hypothetical scaling scenarios.
Scale when you hit the ceiling and do it step by step ;-)

Collapse
 
kehoecj profile image
Clayton Kehoe

This was a fantastic read - thanks for sharing!

Collapse
 
wimadev profile image
Lukas Mauser

Thank you, glad you liked it!

Collapse
 
raulferreirasilva profile image
Raul Ferreira

I had never thought about it that way, I always thought I could do a big project, but looking at it from that side, thinking about the scale of the project was something I had never thought about, it was worth opening my mind to this factor 🦤.

Collapse
 
wimadev profile image
Lukas Mauser

You can start with a small project that grows big over time 😉

Collapse
 
jckodel profile image
J.C.Ködel

Actually, it is easy. Even a retard PHP programmer did it in an age where the cloud was way less common.

Some comments have been hidden by the post's author - find out more