I totally agree, the range in number of servers/services/technologies different companies use to solve similar problems are SO wide.
After 12 years of growth we are still happily on:
- 1 Ubuntu server
- 1 MySQL db
- 1 Django framework
- Ansible for deployment
And thats mostly it. Due to Hetzner missing the 27002 certification we moved from metal to Amazon EC2 instances which was pretty uneventful. We also moved to Aurora and the point-in-time restores actually makes me sleep better at night. Relative to Hetzner it's a lot more expensive. Not at all a problem in the absolute sense.
Some years back I had a chance to talk with the CTO of a company very similar to ours, and their landscape was 400+ microservices, 50 servers managed by k8s on Azure Cloud, Service bridges, Workflow engines, 5 different DB engines, etc. It sounded very fascinating, but also quite complicated.
Some of my worst decisions over the years has been not having the balls to say no to current best-practices. I've learned the hard way that even though the pressure of using shining-new-thingTM can be immense it's so important to realise that everything always has pros and cons. The most important thing is trying to really understand _my_ specific problem and _then_ using the simplest and most obvious solution that can work.
Obligatory "Programmers are also human" link: https://www.youtube.com/watch?v=Uo3cL4nrGOk