By using general purpose languages for infrastructure as code,
you get all the benefits of real languages -- IDEs, abstractions and
reuse thanks to functions, classes, and packages, debugging, testability,
and more. The result is far less copy and paste and greater productivity,
and it works the same way no matter which cloud you're targeting.