Because massive json files with pseudo-invocation syntax and a ton of gaping issues that aren't readily solved by pre-existing template solutions pauses for breath and just bizarre decisions about holding and fielding and really poor integration with new services (you can tie ECS clusters in a knot with CF trivially) and API call limit hits KOing CF provisioning jobs and...
I mean, what it's doing is hard and I use it over, say, Chef... but it's not a "good" product. Heck, you cannot even truly validate CF templates without running them. The CLI and builder just do a crude structural check pass. Got a case error in a nested structure? Too bad, the entire job is rolling back.
I am on the opposite fence. I also comment on the recent Terraform discussion. Basically the abstraction layer is too complex; why not template JSON and build the cloudformation stack? In the end, nested CF stack is still, a hard problem.
Why do you think the abstraction layer is too complex? I found terraform was essentially designed with AWS as a first-class citizen (if not for AWS in the first place), which means everything maps really well.
I strongly dislike HCL, but that's essentially what it is - templated JSON.
I mean, what it's doing is hard and I use it over, say, Chef... but it's not a "good" product. Heck, you cannot even truly validate CF templates without running them. The CLI and builder just do a crude structural check pass. Got a case error in a nested structure? Too bad, the entire job is rolling back.