A team has been provisioning identical staging and production environments by clicking through the cloud console by hand, and the two environments keep ending up subtly different. They decide to define the whole environment once as Terraform configuration and apply it to each environment. Which advantage of IaC most directly addresses their problem?
- AFaster raw provisioning speed, because Terraform always creates cloud resources more quickly than the console does.
- BRepeatability, because applying the same configuration produces the same environment every time it is run. Correct
- CAutomatic cost reduction, because Terraform selects the cheapest resource sizes on the team's behalf.
- DElimination of the need for any cloud provider credentials during provisioning.
Why A is wrong: Speed can improve, but Terraform is not guaranteed to be faster than the console, and speed is not what fixes environments that differ from each other.
Why B is correct: Defining the environment as code and reapplying it gives a repeatable, reproducible build, which is exactly what removes the subtle differences between the two environments.
Why C is wrong: Terraform provisions whatever sizes the configuration specifies and does not choose cheaper options by itself, so this does not address inconsistency.
Why D is wrong: Terraform still authenticates to the provider with credentials to make changes, so this is factually wrong and unrelated to environment consistency.