Well, no, I disagree. Having to create, maintain and monitor your own infrastructure is a very big time cost which has very real consequences when you are in a business. As a business you should be spending as much time as possible focusing on your product and not things that are extraneous to it. At this point the basic infrastructure for 99 % of small web applications is pretty much identical: a web service, a backend relational store, a load balancer, and probably a caching service. This basic set-up can accommodate a wide range of features. There is absolutely no need to spend time configuring these services and making sure they remain up and running. I see a lot of people who want to configure their own infrastructure because for some reason they believe their application is special. Invariably, if you look at their application more closely I've realized that, no, it tends not to be that special. Perhaps when/if they scale up the service requirements they will need to be become more specialized but even then, probably not. Even if it does end up that you have to change your application's structure during scaling, trying to make it ready for scaling too early is a premature optimization and will end up costing you.