We already have structure + style + logic in the same file, now we want to add cloud provisioning and cloud configuration? At what point is it too much?
For example, instead of AWS client libraries, environment variables for ARNs, etc. existing in the code you instead have 1 line defining a resource using the SDK. That other code is separated into the provider, enabling testing in isolation and separation.