Do one job with two tools and argue for one
Task
Take a single task and accomplish it with a configuration-management tool and with an infrastructure-as-code tool, then write the honest argument for where the boundary between them belongs.
Steps
- Define the task precisely: a host exists, with a package installed, a service running, a configuration file present and a user created.
- Do it with infrastructure as code: create the host and pass a bootstrap that configures it. Record the definition and its length in
lab/tools/compare.md. - Do it with configuration management: create the host minimally, then bring the inside to the desired state with a playbook or equivalent. Record that definition.
- Change one detail -- a different package version -- and apply both again. Record which handled the CHANGE more gracefully and why.
- Write the boundary argument: where you would draw the line between the two, and how the answer changes under immutable infrastructure where configuration management moves into image build.
Verify
grep -Eci 'infrastructure as code|provisioning' lab/tools/compare.md
grep -Eci 'configuration management' lab/tools/compare.md
grep -Eci 'immutable' lab/tools/compare.md
grep -Eci 'boundary|line' lab/tools/compare.md
All four non-zero. The immutable case is the one that matters for this course: under it the configuration step moves into the build, and configuring a running instance becomes a change that disappears at the next replacement.
This is an independent study companion for CompTIA Cloud+ CV0-004 and is not produced by or endorsed by CompTIA.