But for everything else just start adding APIs and Services and see how your costs balloon out of control.
But for everything else just start adding APIs and Services and see how your costs balloon out of control.
Cloud is way more expensive than other options, but I'm serving 5,000 customers for less than $100 a month, so spending more time to get that price down is definitely not the best use of my time.
When you have a simple stack and reduced uptime requirements, getting something like 3 servers from a provider like Hetzner (https://www.hetzner.com/dedicated-rootserver/matrix-px) can give you a lote of compute power for little money.
Of course building something on top of GAE or AWS EBS / Lambda is a lot easier on the OPS side and gives you much more confidence, but at a much higher price.
You have to sacrifice a lot though, like with python there are tons of libraries that are unusable because the have native code which is only allowed with the flex runtime which can never be free.
Think about it this way. When you use appengine Google has an sre making sure your application is up and running. It makes sure it auto scales up and down. Deals with zero day security updates. And gives you a release rollout procedure. Logging is hooked in as well.
Sure you can do all of that, but at most companies it's not unheard of to cost about 50-100$/hour of SWE work.
I’d argue if cloud is convenient for you and cheap as hell, no reason not to try. However, it is not cheap because you would need to setup your own cloudfoundry or kubernetes in AWS and whatnot (or the cloud provider’s native container solution), which often means renting a machine.
So that’s why most people don’t do development in the cloud. They test their “just committed to my feature git branch” latest version in the cloud by means of automatic (Jenkins etc) or by pushing to the cloud manually.