| > Or a barebones box from Vultr or Linode then log errors out to stdout So instead of talking with customers and growing your business you are busy wasting your time installing a web server, database server, configuring build tools, etc? Getting root access to a barebones linux install is conceptually "not complex". But that is only because it pushed all the actual complex stuff up the food chain and into your head. A head that needs to be thinking about everything but how to configure apache or the load balancer or postgresql. > keep it simple and boring Installing a web server from a package manager and configuring it in a repeatable way is not simple and boring. A single person startup doesn't have the bandwidth to do that. |
And then, every 4 to 8 months you'll spend some 2 hours making sure everything is working right and up to date. If you get into another user-base class (like, from 100 to 1000, or from 1000 to 10000), you will spend all those 3 days again.
Compare that with cloud services, where you'll spend a week up-front, and 2 days at random when something changes. But well, that comes with the bonus of a much higher price and a slower development speed.
There is the safety to know that you can move between user-base classes without any cost. You'll just be taken by surprise when it actually happens and you discover that those 3 days are a rounding error compared to what it costs to update your software.