The new COBOL program is the cloud formation template, it does not matter that it is an YAML/JSON.
Few years ago, the main drive for bringing JAVA/.NET framework into the shop was to de couple the giant multi thousand line COBOL programs. These programs had a library of key words. This could be used and the main logic for those programs were based of specific Boolean flags or at least the COBOL programs that I migrated were of this kind of as such.
Fast forward to my new world of writing cloud formation templates, these are the next set of monoliths that are a few thousand lines. The few keywords/logics that can be written are called intrinsic function.
There are different sections in a COBOL program, the same applies to a cloud formation template, for example you have a program, divisions, section etc. The same parallels can be applied to a cloud formation template, there is a section for declaring parameters, conditions, resources and the output.
The next item in a cloud formation are the conditions., this is the section where the parameters passed to the cloud formation templates are evaluated, so that right resources can be provisioned. If you have seen a COBOL program flag logic, this section is the same.
The resources section of the cloud formation template uses the conditions that you defined earlier to provision the resources that is needed.
The output section of the cloud formation stitches all these above sections so that there is an user friendly output.
All these sections are closely tied together, if one fails or errs out, then the entire stack is a dud.
Thinking about doing a cloud formation template, as an engineer it is a challenging feeling to support this development practice. Is this the correct thing to do for the modern world? Cheers.