Interesting article, I would strongly encourage people to look at Cloud solutions nowdays, you really don't want to compete with AWS / Google / Microsoft.
About competing with AWS etc. - of course, a game itself won't be able to compete (well, unless it is Riot or something), but huge hosting ISPs such as Leaseweb or SoftLayer/IBM easily can compete; also from quite a few cloud providers there are "bare-metal cloud servers" - which are essentially rented servers with per-hour billing.
Overall, the question "to cloud or not to cloud" was discussed at length in http://ithare.com/preparing-to-deploy-your-game-to-cloud-or-not-to-cloud/ : very shortly, it is usually hybrid rented+cloud solutions which make sense for games (even if latencies are not a problem, clouds are about 4x more expensive than rented servers for flat loads, and don't allow to customize hardware).
Except that games are very different from workload like Google and Facebook because your player base decrease the day your game releases so you need a lot of flexibility on that side. After 2 weeks you probably lost 30-50% of your PSU so good luck with your rent contract of 6 month. With all the cloud tech available you should really manage resources according to your player graph.
Yep - that's exactly why there are two parts of it - (a) stable load (which is about 4x cheaper to handle with monthly rentals) and (b) spike load (which is cheaper on cloud). It is nothing new - on GDC2016 there was a presentation discussing such hybrid stuff.
P.S. Doing what-is-now-known-as-DevOps since 2000, I never heard of 6-month server rental contract being required by a hosting ISP (well, ok - there were guys trying to push me there in 1998 IIRC, but they never succeeded). Sure, 6-month contract do exist (providing rather modest discounts) - but you can get that 4x price drop compared to cloud, with monthly contracts. In general - I agree that 6-month is way too long, but horizon of 1 month is pretty good for quite a few games out there.
No, you should do the math and calculate which one is better. If you can't determine your needs, cloud is better as you can just change it. If you have a pretty good idea of what you need hardware and network wise, you can create a sprrsheet comparing costs. There are a number of edge cases where cloud isn't great, particularly if you need a lot of bandwidth. And until recently, if you needed good GPUs for machine learning, cloud wasn't good either.
I never saw any AAA studios using GPU on the backend.
The author is extremely knowledgeable and experienced. I have been following all articles here, I couldn't find anything the author overlooked or missed.