VOOZH about

URL: https://www.coursera.org/learn/iac

⇱ IAC from Zero | Coursera


Keep adding new skills with 10,000+ programs for $239 (usually $399). Save now.

IAC from Zero

Included with

β€’

Learn more

Gain insight into a topic and learn the fundamentals.
Beginner level

Recommended experience

3 hours to complete
Flexible schedule
Learn at your own pace

Gain insight into a topic and learn the fundamentals.
Beginner level

Recommended experience

3 hours to complete
Flexible schedule
Learn at your own pace

What you'll learn

  • Build IAC solutions

  • Comprehend Rust binary advantages in IAC

Details to know

Shareable certificate

Add to your LinkedIn profile

Recently updated!

May 2026

Assessments

1 assignment

Taught in English

Build your subject-matter expertise

This course is part of the Rust for Data Engineering Specialization
When you enroll in this course, you'll also be enrolled in this Specialization.
  • Learn new concepts from industry experts
  • Gain a foundational understanding of a subject or tool
  • Develop job-relevant skills with hands-on projects
  • Earn a shareable career certificate

There are 5 modules in this course

You learn IAC fundamentals β€” plan, apply, saved plans, JSON plans, resource lifecycle, refactoring, drift detection, policy gates, cross-config sharing, testing, and state security β€” by walking ten OpenTofu features next to their forjar equivalents. Forjar is a single Rust binary with state in Git as BLAKE3-hashed YAML, 17 crate dependencies, and ten falsifiable C1-C10 contracts asserted on every apply. Each module compares one OpenTofu feature (`terraform plan -out`, `terraform show -json`, `lifecycle`, `moved`, `-target`, `refresh-only`, `check`, `terraform_remote_state`, `.tftest.hcl`, `state_encryption`) against the forjar approach so you finish knowing the industry default and a concrete second tool.

Imperative bash scripts drift the moment a sysadmin SSHs into a host and types a one-off `apt install`. Declarative IAC says "here is the end state" and the tool figures out the diff. The same config converges from any starting point. Plan-then-apply is the universal IAC contract: every tool from Terraform to forjar shows you what will change before it changes anything. forjar is a single Rust binary, and state lives in Git as BLAKE3-hashed YAML.

What's included

3 videos3 readings

3 videosβ€’Total 7 minutes
  • 1.1.1 Why Declarative Infrastructureβ€’2 minutes
  • 1.1.2 What Forjar Isβ€’2 minutes
  • 1.1.3 Your First Forjar Applyβ€’3 minutes
3 readingsβ€’Total 30 minutes
  • About This Courseβ€’10 minutes
  • Key Terms: Why Declarative Infrastructureβ€’10 minutes
  • Reflection: Why Declarative Infrastructureβ€’10 minutes

Terraform's remote state is a JSON file in an S3 bucket plus a Consul or DynamoDB lock; forjar writes state as a BLAKE3-hashed YAML file next to your config and commits it to Git. The operational consequence: Terraform needs a state-recovery runbook for the day someone deletes the S3 bucket; forjar's recovery is `git checkout`. OpenTofu's `terraform plan -out=plan.tfplan` writes a binary file that `terraform apply plan.tfplan` later consumes, and forjar's BLAKE3 lock file IS the saved plan. In this module you'll inspect where state lives, see saved plans in action, and read JSON plan output to understand what changes IAC will make before applying.

What's included

3 videos2 readings

3 videosβ€’Total 6 minutes
  • 2.1.1 Where State Livesβ€’2 minutes
  • 2.1.2 Saved Plansβ€’2 minutes
  • 2.1.3 JSON Plan Outputβ€’2 minutes
2 readingsβ€’Total 20 minutes
  • Key Terms: Where State Livesβ€’10 minutes
  • Reflection: Where State Livesβ€’10 minutes

Terraform 1.12 ships `lifecycle.ignore_changes` for fields the API mutates, `moved` blocks for refactor-without-destroy, and `removed` blocks for legitimate deletions. Forjar implements the same three primitives with one syntactic twist: it requires you to declare the destination resource exists in your config before a `moved` block resolves, which catches the move-to-a-rename-you-forgot bug at plan time. OpenTofu 1.8 added early evaluation of `for_each` keys so a `moved` block can target a dynamic key without hitting the partial-state error Terraform 1.5 throws. In this module you'll learn how lifecycle blocks rename, ignore, and remove resources without destroying them.

What's included

3 videos2 readings

3 videosβ€’Total 6 minutes
  • 3.1.1 Resource Lifecycleβ€’2 minutes
  • 3.1.2 Moved Blocksβ€’2 minutes
  • 3.1.3 Resource Targetingβ€’2 minutes
2 readingsβ€’Total 20 minutes
  • Key Terms: Resource Lifecycle Blocksβ€’10 minutes
  • Reflection: Resource Lifecycle Blocksβ€’10 minutes

Drift is what separates the diagram you drew from the cluster you have. This module contrasts Terraform's slow, expensive plan -refresh-only β€” which polls every cloud API for every resource β€” with forjar's local BLAKE3 hash compare against the lock file that catches drift in milliseconds with zero network calls. You will also see how OpenTofu 1.5 check blocks add post-apply health checks that warn (but do not block), while forjar's C1-C10 contracts are property tests asserted on every apply. The final piece is cross-stack imports: terraform_remote_state silently consumes whatever the upstream produced, but forjar pins the imported hash and refuses to apply on mismatch.

What's included

3 videos2 readings

3 videosβ€’Total 5 minutes
  • 4.1.1 Drift Detectionβ€’1 minute
  • 4.1.2 Check Blocksβ€’2 minutes
  • 4.1.3 Cross-Config Sharingβ€’2 minutes
2 readingsβ€’Total 20 minutes
  • Key Terms: Drift and Convergenceβ€’10 minutes
  • Reflection: Drift and Convergenceβ€’10 minutes

This capstone module ties testing, state encryption, and a live canary fleet into one production-grade picture. You will see Terraform's .tftest.hcl testing DSL with run blocks and assert conditions on plan/apply outputs as the unit-test layer for infrastructure configs, and how forjar's plan-test mode resolves the DAG and renders the YAML diff with zero apply and zero destroy. You will then contrast OpenTofu 1.7's state_encryption (AES-GCM at rest via AWS KMS) against forjar's BLAKE3-signed manifest where any mutation along plan-to-apply invalidates the signature and aborts. The capstone canary-fleet demo edits a managed greeting, runs apply, watches forjar restore content, and proves all 10 C1-C10 claims hold against a live primary-plus-canary fleet.

What's included

3 videos4 readings1 assignment

3 videosβ€’Total 8 minutes
  • 5.1.1 Testing DSLβ€’2 minutes
  • 5.1.2 State Encryptionβ€’2 minutes
  • 5.1.3 Capstone Canary Fleetβ€’4 minutes
4 readingsβ€’Total 40 minutes
  • Key Terms: Testing, Security, and a Capstone Fleetβ€’10 minutes
  • Reflection: Testing, Security, and a Capstone Fleetβ€’10 minutes
  • Before You Goβ€’10 minutes
  • Next Stepsβ€’10 minutes
1 assignmentβ€’Total 30 minutes
  • Final Graded Quiz: IAC from Zeroβ€’30 minutes

Earn a career certificate

Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.

Instructor

Pragmatic AI Labs
61 Coursesβ€’6,738 learners

Explore more from Software Development

Why people choose Coursera for their career

πŸ‘ Image

Felipe M.

Learner since 2018
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
πŸ‘ Image

Jennifer J.

Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
πŸ‘ Image

Larry W.

Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
πŸ‘ Image

Chaitanya A.

"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."

Frequently asked questions

To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.

When you enroll in the course, you get access to all of the courses in the Specialization, and you earn a certificate when you complete the work. Your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.

Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.

Financial aid available,