3 ms·
Because OP example is very simplistic and left on the table very important details, you would base 250M on a single machine? What about backups, obervability, h
by Thaxll 4y ago
Because OP example is very simplistic and left on the table very important details, you would base 250M on a single machine? What about backups, obervability, how do you update that stack without bringing down everything ... Also this is napkin maths, this could be off by 10 or 100x which would change everything.
It's very simple to make a PoC on a very powerful machine, make it ready from production serving hunderd of millions of users is completely different.
- jupp0r 4y agoIn addition, you should worry about what happens to your app if a hardware error, network problem or natural disaster makes your machine unavailable.
- eddsh1994 4y agoSplit the DB from the app and replicate with a load balancer?
- jupp0r 4y agoNow you have "Production Twitter on three machines". Follow the rabbit and you end up with something like what Twitter looks like today.
- threeseed 4y agoThat database is going to need to be clustered as well for resiliency. Sounds like you already have quite a number of different containers already.
- eddsh1994 4y agoFour vms isn’t too bad to manage, I was the first dev at a startup that went prelaunch to acquisition from 2 App/DB servers in EC2 for a mobile app that hit #1 on both stores with a fairly high user tx rate and some ML stuff.
- pixl97 4y agoHeh, also praying that everything stays in the fast path. If a small portion of the workload uses a higher portion of machine resources then the moment an attacker figures it out they have a great way of DDOSing your service resources.
- raverbashing 4y ago> What about backups Several ways of doing this without relying on k8s > observability This doesn't require k8s neither and it's more on your app. Systemd can restart systems by itself > how do you update that stack without bringing down everything That's probably where redundancy helps the most. I wouldn't run a big service without it (but again it found be at server level)
- threeseed 4y ago> but again it found be at server level Can you educate us on how to have a resilient app with no-downtime updates at the server level. Because if you're doing this via software then it's no different to Kubernetes.
- raverbashing 4y agoWhat I meant there is 2 servers + load balancer in front. Yeah, k8s might be the easiest way of doing this today if you want only 1 physical server
- PragmaticPulp 4y agoIt’s worth noting that the author’s example doesn’t do anything like HTTP. It was purely an algorithmic benchmark. Nobody should be looking at this and thinking that it’s realistic to actually serve a functional website at this scale on a single machine with actual real world requirements.
- mpoteat 4y agoAs well, you should be creating regional servers to minimize latency for folks in other geographic regions. Can't beat c!
- sitkack 4y agoIt is a BoE system design. How is it off by 100x?