Production Twitter on one machine? 100Gbps NICs and NVMe are fast
Most projects I encounter these days instantly reach for kubernetes, containers and microservices or cloud functions.I find it much more appealing to just make the whole thing run on one fast machine.  When you suggest this tend to people say "but scaling!", without understanding how much capacity there is in vertical.The thing most appealing about single server configs is the simplicity.  The more simple a system easy, likely the more reliable and easy to understand.The software thing most people are building these days can easily run lock stock and barrel on one machine.I wrote a prototype for an in-memory message queue in Rust and ran it on the fastest EC2 instance I could and it was able to process nearly 8 million messages a second.You could be forgiven for believing the only way to write software is is a giant kablooie of containers, microservices, cloud functions and kubernetes, because that's what the cloud vendors want you to do, and it's also because it seems to be the primary approach discussed.  Every layer of such stuff add complexity, development, devops, maintenance, support, deployment, testing and (un)reliability.  Single server systems can be dramatically mnore simple because you can trim is as close as possible down to just the code and the storage.