This is a well written piece. However IMHO, one cannot lay down a path for success. Moderate success, yes - but huge success no (which is what this alludes to). Success doesn't refer to a rule book before manifesting. There are lot of great nuggets one could take from the article and apply - but I see them as little breadcrumbs that might lead to success. Even if it did, we have no way to prove or disprove success factors.
Best thing is to take the learnings, enjoy the journey towards potential success and try not to become emotionally invested into the end goal. It's super hard I know.
If you're simply bootstrapping a single app on a single vm, then fine, have at it.
* As soon as you go down the route of making that reproducable, it can as easily be mostly done by a Dockerfile than a bash or Ansible (or any other configuration management) script.
* Then you want failover or have it active on another server? Okay, you can just run you ansible against, maybe you put it in cloud-init and an autoscaling group, or maybe you can have something like a kubernetes framework take care of that.
* You want health checking? Sure, have it configuring nagios or something similar, or you can have a ELB check an endpoint, or you can have kubernetes do it?
* Want some storage? Let me add a PVC, or I can play about with managing EBSs and other block storage myself.
Once you start digging a bit deeper, realising that many of the things your apps will probably want you either need to build yourself, or will lock you into AWS, going to google and clicking the GKE button doesn't seem a terrible prospect. There are other ways to do things, but once you've learnt this way, you can reuse it almost anywhere.
Our industry is really faddish so I don't blame you for being skeptical, but the second you start hosting 3-4 apps, I'd rather have just bootstrapped kubernetes (or went to a managed service provider) and have all the primitives avaiable to me.
Which is not a bad call, looking modern helps recruit.
It's great that technology x lets you build something in 1 month, but if it takes 6 months to find someone willing to do it, then you could have written it faster in almost any other technology.
Best thing is to take the learnings, enjoy the journey towards potential success and try not to become emotionally invested into the end goal. It's super hard I know.