Bird
Raised Fist0
Terraformcloud~20 mins

Why the workflow matters in Terraform - Challenge Your Understanding

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Challenge - 5 Problems
🎖️
Terraform Workflow Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
2:00remaining
Why is the Terraform workflow important?

Terraform has a specific workflow: write configuration, plan changes, and apply them. Why does following this workflow matter?

AIt requires manual editing of cloud provider consoles to sync with Terraform state.
BIt allows Terraform to skip the planning phase and apply changes immediately for speed.
CIt automatically deletes all resources before creating new ones to avoid conflicts.
DIt ensures changes are previewed before applying, preventing unexpected infrastructure updates.
Attempts:
2 left
💡 Hint

Think about how seeing changes before applying helps avoid mistakes.

❓ service_behavior
intermediate
2:00remaining
What happens if you skip 'terraform plan'?

You run terraform apply directly without running terraform plan first. What is the likely result?

ATerraform deletes the state file to reset infrastructure tracking.
BTerraform applies changes immediately, which may cause unexpected resource modifications.
CTerraform automatically creates a plan and applies it without showing details.
DTerraform refuses to apply changes and shows an error requiring a plan first.
Attempts:
2 left
💡 Hint

Consider what happens when you don't preview changes.

❓ Architecture
advanced
2:30remaining
How does remote state storage improve Terraform workflow?

Terraform can store its state file locally or remotely. How does using remote state storage improve the workflow in a team environment?

AIt disables the need for <code>terraform plan</code> by syncing changes instantly.
BIt automatically encrypts all Terraform code to prevent unauthorized access.
CIt allows multiple team members to share and lock the state file, preventing conflicts during concurrent changes.
DIt forces Terraform to recreate all resources on every apply to ensure consistency.
Attempts:
2 left
💡 Hint

Think about how teams avoid overwriting each other's work.

❓ security
advanced
2:30remaining
Why should Terraform state files be secured?

Terraform state files contain detailed information about your infrastructure. Why is it important to secure these files?

ABecause state files may contain sensitive data like passwords, keys, or resource details that could be exploited if exposed.
BBecause unsecured state files cause Terraform to crash during apply.
CBecause state files are automatically deleted if not secured, causing loss of infrastructure tracking.
DBecause securing state files speeds up Terraform plan execution.
Attempts:
2 left
💡 Hint

Consider what kind of information Terraform stores about your resources.

✅ Best Practice
expert
3:00remaining
What is the best practice for managing Terraform workflow in a CI/CD pipeline?

In a continuous integration/continuous deployment (CI/CD) pipeline, what is the best practice to handle Terraform workflow steps?

ARun <code>terraform plan</code> to generate a plan, review it manually, then run <code>terraform apply</code> automatically only after approval.
BSkip Terraform commands and manually update cloud resources in the console during deployment.
CRun <code>terraform apply</code> directly on every code push to speed up deployments.
DStore Terraform state locally on the CI server and delete it after each run.
Attempts:
2 left
💡 Hint

Think about safety and automation balance in pipelines.

Practice

(1/5)
1. Why is it important to run terraform plan before terraform apply?
easy
A. It shows the changes Terraform will make before applying them
B. It automatically applies changes without confirmation
C. It deletes all existing resources immediately
D. It skips validation of the configuration files

Solution

  1. Step 1: Understand the purpose of terraform plan

    This command previews the changes Terraform will make to your infrastructure without applying them.
  2. Step 2: Compare with terraform apply

    terraform apply actually makes the changes, so planning first helps avoid mistakes.
  3. Final Answer:

    It shows the changes Terraform will make before applying them -> Option A
  4. Quick Check:

    Plan previews changes = D [OK]
Hint: Plan first to preview changes, avoid surprises [OK]
Common Mistakes:
  • Skipping plan and applying directly
  • Thinking plan applies changes
  • Confusing plan with destroy
2. Which command correctly initializes a Terraform working directory before planning or applying?
easy
A. terraform init
B. terraform start
C. terraform deploy
D. terraform configure

Solution

  1. Step 1: Identify the initialization command

    terraform init sets up the working directory by downloading providers and preparing backend.
  2. Step 2: Check other options

    Commands like terraform start, deploy, or configure do not exist in Terraform.
  3. Final Answer:

    terraform init -> Option A
  4. Quick Check:

    Initialize with init = B [OK]
Hint: Init first to prepare your workspace [OK]
Common Mistakes:
  • Using non-existent commands
  • Trying to apply before init
  • Confusing init with plan
3. Given this Terraform workflow:
terraform init
tf plan
tf apply

What will happen if you run terraform apply without running terraform plan first?
medium
A. Terraform will apply changes immediately without preview
B. Terraform will show an error and stop
C. Terraform will automatically run plan before apply
D. Terraform will delete all resources

Solution

  1. Step 1: Understand terraform apply behavior

    Terraform always performs an internal plan, shows the execution plan (preview of changes), and prompts for confirmation before applying.
  2. Step 2: Check if plan is mandatory

    Running terraform plan first is recommended for detailed review and saving plans, but terraform apply automatically runs the plan step.
  3. Final Answer:

    Terraform will automatically run plan before apply -> Option C
  4. Quick Check:

    Apply auto-runs plan [OK]
Hint: Apply always plans first internally [OK]
Common Mistakes:
  • Assuming apply always errors without plan
  • Thinking apply auto-runs plan silently
  • Believing apply deletes resources by default
4. You ran terraform apply but noticed unexpected resource deletions. What is the most likely cause related to workflow?
medium
A. Running terraform init twice
B. Skipping terraform plan and not reviewing changes
C. Using an outdated Terraform version
D. Not setting environment variables

Solution

  1. Step 1: Identify workflow mistake

    Skipping terraform plan means you miss previewing changes, leading to surprises like deletions.
  2. Step 2: Evaluate other options

    Running init twice, outdated version, or missing env vars usually cause errors, not unexpected deletions.
  3. Final Answer:

    Skipping terraform plan and not reviewing changes -> Option B
  4. Quick Check:

    Skip plan = risk of unwanted deletions [OK]
Hint: Always plan and review before applying [OK]
Common Mistakes:
  • Ignoring plan output
  • Blaming init for deletions
  • Assuming version causes deletions
5. You want to safely update your cloud infrastructure with Terraform. Which workflow sequence best prevents downtime and mistakes?
hard
A. terraform plan -> terraform apply -> terraform init
B. terraform apply -> terraform plan -> terraform init
C. terraform apply -> terraform init -> terraform plan
D. terraform init -> terraform plan -> review plan -> terraform apply

Solution

  1. Step 1: Understand the correct workflow order

    First, terraform init prepares the workspace, then terraform plan previews changes, followed by reviewing the plan carefully.
  2. Step 2: Apply changes only after review

    Applying changes after review ensures safety and avoids downtime or mistakes.
  3. Final Answer:

    terraform init -> terraform plan -> review plan -> terraform apply -> Option D
  4. Quick Check:

    Init, plan, review, apply = C [OK]
Hint: Init, plan, review, then apply for safe updates [OK]
Common Mistakes:
  • Applying before planning
  • Skipping plan review
  • Running commands in wrong order