Now, all this is nice, but how do you fit this into your own app? The answer, unfortunately, is that it’s still being worked out. But given that it will probably be in the same language as your application, it makes sense to keep everything in the same repo. It still requires a separate tool to run (Pulumi), but you can think of this like just another tool in the toolchain. If that is the case, other than using the same language for building my app and the cloud infrastructure that it uses, what’s the point? If I have to use a separate tool just for this, then it’s not all that different than using Terraform, for example. This is where the Pulumi automation api comes into place.
I remember a client strongly advocating for “self describing xml” years ago.