Self-hosted is not cheaper or better. Your options are pay Amazon insane markups or deal with a Platform as a Service built by the lowest bidder.

We often see posts on hacker news about how Amazon charges an insane markup for hosting or data transfer, or anything. Then someone will post a comparison where they price out an equivalent amount of hardware and show that it would cost 1/5th or 1/10th the cost. They then assume, obviously, hiring an IT department that can run this hardware is an achievable goal. 

Sorry, no it’s not achievable. Most companies cannot build a decent IT team that could run their own servers. They don’t have the ability to organize or hire the IT people needed. Not to mention they would never be willing to pay the salary costs. Quite simply, most businesses that try to run their own hardware will have a lower quality internal platform than if they just paid Microsoft. Whats the point of having faster hardware if your software stack is stuck in 2005 and managed by college drop outs?

Most companies are not overflowing with smart programmers who want to run bare metal hardware. Those people are moved to higher paying jobs programming the actual products of the company.