Knowledge silos and expertise are two sides of the same coin. From full stack engineering to DevOps practitioner, our industry loves to pretend everyone can do everything. We’re an industry of hobbyists. We love to tinker. I don’t know if we are fooling ourselves or if the industry has been exploiting our hobby-driven nature, but it’s time for DevOps to get thrown out of an airlock.
You just need Terraform. 🤭
On a serious note, Docker is brilliant for many reasons, some of which you mentioned. I think K8s is great too. With that said, running K8s just because is mindbogglingly stupid. I’ve seen this done in corpos I’ve worked exactly as you said it. In addition, one doesn’t have to run K8s on AWS. Or any other public cloud. Or anywhere where it doesn’t make sense. You make pretty good points about AWS. If it’s better in some way to run on metal, you run on metal. And if it makes sense for an application to be deployed on K8s, that might also be run on top of the metal you have. But here’s another and I think potentially more significant point against AWS and the likes. They introduce lock-in. Every public cloud has its own services with their own APIs and features. The moment you buy into those, e.g. Cloudwatch automation, you can no longer move the workload to a place that doesn’t have Cloudwatch. And no place other than AWS has it. And you’re locked in. 👏 Developers (me) find 10 easy solutions in some marketing wank from AWS, all of them proprietary, stitch them together to implement some service and bam, that service forever belongs to AWS. You pay per fly fart from here on out, until you rewrite it.
In fairness to Terraform, it does indeed make life easier if you have to juggle workloads across public clouds.