Configuration Management vs Orchestration: Mutable or Immutable?
Short answer
Configuration Management: mutable infrastructure and designed to install and manage software on existing servers; Orchestration: immutable infrastructure and designed to provision the servers.
Question
Drag and drop the characteristics from the left onto the orchestration tool classifications on the right.

Key Takeaways
The item tests whether you can tie the mutable/immutable labels and the install-on-existing-servers vs provision-the-servers wording to the right tool family, and the trap is simply swapping the two pairs.
Configuration management tools such as Ansible, Puppet, and Chef change servers that already exist, making them the mutable-infrastructure classification, while orchestration tools such as Terraform provision and replace servers as immutable infrastructure. This page fixes the exact drag-and-drop pairing of each characteristic for the 350-401 item.
Common mistake: Candidates reverse the pairs, assuming orchestration is the ongoing mutable operating layer and configuration management is the build-time layer, which contradicts how Ansible/Puppet/Chef converge live hosts versus how Terraform/CloudFormation create and replace resources.
Expert Analysis
Why the Answer Is Correct
Configuration management tools — Ansible, Puppet, Chef, and SaltStack — assume a host already exists and converge its running configuration toward a desired state, rewriting packages, files, and services in place; that is precisely mutable infrastructure plus "designed to install and manage software on existing servers". Orchestration/provisioning tools such as Terraform and CloudFormation create the compute, network, and storage resources themselves, and standard practice is to destroy and rebuild rather than patch a running box, which is immutable infrastructure plus "designed to provision the servers". The pairing therefore follows from what each family operates on: a live operating system versus the resource that hosts that operating system.
Why Other Candidate Answers Are Wrong
Reversing the two pairs is the only realistic alternative, and it fails on both halves. If configuration management were immutable, every Ansible or Puppet run would have to rebuild the server, which directly contradicts idempotent convergence on a live system. Likewise, calling orchestration the mutable classification ignores that Terraform's state-and-plan model treats infrastructure as replaceable and expects a create/replace cycle rather than in-place drift correction. Assigning "designed to provision the servers" to configuration management confuses bootstrapping a resource with day-2 configuration of that resource.
Community Comment Notes
DavideDL grounded the answer in IBM's and Gruntwork's write-ups, pointing out that Chef, Puppet, and Ansible "typically default to a mutable infrastructure paradigm". Hosein and JackDRipper reached the same split from first principles, with JackDRipper conceding he had no link but that "it does make a lot of sense". Leoveil's "should be other way round" and Dv123456's open doubt show that the swap is the tempting error, yet the cited vendor sources and the literal wording of the four characteristics both favour configuration management = mutable and orchestration = immutable.
Official Reference
- https://www.ibm.com/cloud/blog/chef-ansible-puppet-terraform
- https://blog.gruntwork.io/why-we-use-terraform-and-not-chef-puppet-ansible-saltstack-or-cloudformation-7989dad2865c#b264
These links open the official vendor documentation in a new tab.
Exam Strategy
Anchor on the verb in the characteristic: "install and manage software on existing servers" describes post-provisioning state convergence, while "provision the servers" describes creating the resource itself. Mutable pairs with the first, immutable with the second — decide from the wording, not from whether the tool name sounds like automation.
Frequently Asked Questions
Why is configuration management tied to mutable infrastructure rather than immutable?
Which characteristics belong under Orchestration in this 350-401 drag-and-drop?
Discussion 13 contributions
Compiled from public community threads and reader submissions, lightly edited for clarity. Handles and vote tallies are shown as recorded, and comments reflect the views of individual contributors.
From public community threads 13
-
DavideDL 👍 27According to: https://www.ibm.com/cloud/blog/chef-ansible-puppet-terraform and https://blog.gruntwork.io/why-we-use-terraform-and-not-chef-puppet-ansible-saltstack-or-cloudformation-7989dad2865c#b264 They write about: Configuration management tools such as Chef, Puppet, and Ansible typically default to a mutable infrastructure paradigm. and Generally, Ansible, Puppet, SaltStack, and Chef are considered to be configuration management (CM) tools and were created to install and manage software on existing server instances So I would say: Configuration Management Tool - mutable infrastructure - design to install and manage softwareon existing servers My 0,02 cents
-
Hosein 👍 13Mutable infrastructure refers to infrastructure that can be modified or changed after it is provisioned. In mutable infrastructure, configuration management tools are commonly employed to automate and manage the configuration, deployment, and maintenance of the infrastructure components. These tools help ensure consistency, enforce desired configurations, and facilitate updates or changes to the infrastructure over time. For immutable infrastructure, while the focus is on building and deploying new instances rather than modifying existing ones, orchestration tools can still play a role. In this context, orchestration tools are often used to automate the creation, deployment, and scaling of immutable infrastructure instances. These tools enable the streamlined provisioning of pre-configured and consistent instances, ensuring the rapid deployment of identical infrastructure components. So, Configuration Management: - Mutable - Designed to install and manage software on existing servers Orchestration: - Immutable - Designed to provision the servers
-
JackDRipper 👍 7My vote. I don't have a link to prove it, but it does make a lot of sense. Configuration Management: - Mutable - Designed to install and manage software on existing servers Orchestration: - Immutable - Designed to provision the servers
-
Leoveil 👍 3should be other way round
-
Shri_Fcb10 👍 2Configuration Management: Mutable infrastructure Designed to install and manage software on existing servers Orchestration: Immutable infrastructure Designed to provision the servers
Show 8 more comments
-
KZM 👍 2I agree with you.
-
supershysherlock 👍 1Mutable infrastructure is often associated with Configuration Management tools, as these are designed to manage and apply changes to existing systems, updating their state over time. Immutable infrastructure typically aligns with Orchestration tools, which are used to provision servers and often to replace entire server instances rather than update them in place. The characteristic "designed to provision the servers" suggests a focus on creating and managing the lifecycle of servers and thus also aligns with Orchestration tools. The characteristic "designed to install and manage software on existing servers" indicates a function of Configuration Management tools, as they are used to maintain and manage software states on existing infrastructure.
-
x3rox 👍 1Incorrect: Orchestration ....In this blog we’ll discuss Terraform’s paradigm of immutable deployment Configuration Management .....We will also demonstrate how Ansible – with its mutable approach to managing infrastructure and applications – masterfully manages configuration management and application software provisioning for initial and ongoing deployments. ....*Configuration management tools such as Chef, Puppet, and Ansible typically default to a mutable infrastructure paradigm. https://blogs.cisco.com/developer/choosingtools01
-
RGRVG 👍 1Agree: Configuration Management (CM) Definition: Configuration Management tools are used to automate the setup, configuration, and maintenance of systems (usually servers). Popular tools include Ansible, Puppet, Chef, and SaltStack. Purpose: Install and configure software Manage dependencies and services Ensure systems stay in a defined state over time (idempotence) Traditional Use: Mostly used in mutable infrastructure, where servers are modified after creation.
-
Dv123456 👍 1In the end i don't know why configuration management should be linked to immutable infrastructure
-
Nmk3216 👍 1designed to install and manage software on existing servers is Configuration management.
-
snarkymark 👍 1thx for the correction
-
snarkymark 👍 1Correct
Reader comments & corrections
No reader corrections yet — spotted an error or have a note? Share it below.
Related Analysis
Practice All 350-401 Questions
Access 218 questions with complete answers and detailed explanations.
View Full 350-401 Practice Test →