Comparison
Infrastructure modulevsInfrastructure provider
Infrastructure module
the team's standard service takes six inputs and produces thirty resources, and nobody writes the thirty by hand any more.
A parameterised, reusable unit of infrastructure configuration with declared inputs and outputs. It is how a platform team encodes an opinionated default and how a golden path becomes a thing you can call rather than a document. The failure mode is the module with forty inputs, which is a leaky abstraction that has all the indirection of a module and none of the opinion.
Full entry →Infrastructure provider
the tool speaks to each cloud through a plugin, and upgrading that plugin can rewrite parts of your plan on its own.
The plugin that translates declared resources into a particular API's calls, owning the schema, the defaults and the update semantics for every resource type. Version pinning it matters as much as pinning any dependency, because a minor upgrade can change a default, add a required field or newly detect a difference that was previously invisible. It is also where the gap between what the API supports and what you can declare shows up.
Full entry →