There are lots of options. A few things to consider:
- Is it a dedicated individual or group responsible for the IaC? What are they comfortable with? - Details about the running app will need to find their way into the infra somehow (env vars at least), if it's a separate group or individual, what will be the most obvious process to perform that exchange of information?
I wrote a short piece about point two [1]. Disclosure: I work at a company building a platform with its own opinionated IaC.