It's time to reconsider going on-prem
I'm a huge believer in colocation/on-prem in the post-Kubernetes era.  I manage technical operations at a SaaS company and we migrated out of public cloud and into our own private, dedicated gear almost two years ago.  Kubernetes and--especially--CoreOS has been a game changer for us.  Our Kube environment achieves a density that simply isn't possible in a public cloud environment with individual app server instances.   We're running 150+ service containers on  each 12-core, 512 GB RAM server.  Our Kubernetes farm--six servers configured like this--is barely at 10% capacity and I suspect that we will continue to grow on this gear for quite some time.CoreOS, however, is the real game-changer for us.  The automatic updates and ease of management is what took us from a mess of 400+ ill-maintained OpenStack instances to a beautiful environment where servers automatically update themselves and everything "just works".  We've built automation around our CoreOS baremetal deployment, our Docker container building (Jenkins + custom Groovy), our monitoring (Datadog-based), and soon, our F5-based hardware load balancing.  I'm being completely serious when I say that this software has made it fun to be a sysadmin again.  It's disposed of the rote, shitty aspects of running infrastructure and replaced it with exciting engineering projects with high ROI, huge efficiency improvements and more satisfying work for the ops engineering team.