My understanding of Cloudformation is it predates all the other infra as code tools so it's just a legacy thing at this point, one Amazon will probably have a hard time switching away from. I never got too familiar with Terraform or the alternatives to form an opinion but I always thought they were using CFN underneath and it looks like that's not true:
If you are familiar with Terraform you might be wondering, isn’t Terraform like CloudFormation templates in that you write JSON or HCL. When you deploy these templates through the Terraform engine, it translates these to calls to the Terraform Go providers for those resources.
Do any of the other cloud providers do this infra as code thing better, having learned from Amazon?
The provider model is fairly common. Some projects, like Pulumi (ew) even re-use terraform providers. Others, like Crossplane, have their own provider spec. A provider is basically an interface to a cloud provider API, so in theory it should be relatively easy to port one that’s already written for another tool.
reply