Small servers, long lives
What a single modest machine can do when you stop over-engineering.
A one-core virtual machine can serve a surprising amount of traffic when most of the content is static and the dynamic part is honest about what it needs.
Our setup is deliberately plain: a web server for files, a small Python process for the handful of endpoints, and a log file we actually read.
Fewer layers mean fewer things to patch. Unattended upgrades, a firewall with a short allow-list and automated certificate renewal cover most of the risk.
The best infrastructure is the kind you forget about until you need to change it — and then it is small enough to understand in an afternoon.