SlideShare a Scribd company logo
Terraform & Pulumi
Comparing Key Differences
Terraform overview
• What is Terraform?
• How does Terraform work?
• Why Terraform?
01.
Copyright by DevOps Services Center 2021
What is Terraform?
Terraform is an infrastructure as code tool that lets you define both cloud and on-premise
resources in human-readable configuration files.
Terraform facts:
- Created by HashiCorp
- Initial release: 28 July 2014
- Stable release v1.1.7 (March 02, 2022)
- Repository: https://github.com/hashicorp/terraform
- Written in Go
- License: Mozilla Public License v2.0
- Website: www.terraform.io
Copyright by DevOps Services Center 2021
How does Terraform work?
Source: https://geekflare.com
Terraform has two main components that make up its architecture:
• Terraform Core
• Providers
Copyright by DevOps Services Center 2021
How does Terraform work?
The core Terraform workflow has three
steps:
1. Write - Author infrastructure as code.
2. Plan - Preview changes before applying.
3. Apply - Provision reproducible
infrastructure.
Source: https://terraform.io
Copyright by DevOps Services Center 2021
Why Terraform?
• It’s a great tool that is easy to use.
• It has many providers, including AWS, GCP, Azure, Kubernetes.
• It allows you to create reusable modules.
Pulumi overview
• What is Pulumi?
• How does Pulumi work?
• Why Pulumi?
02.
Copyright by DevOps Services Center 2021
What is Pulumi?
Pulumi is an open source infrastructure as code
tool for creating, deploying, and managing
cloud infrastructure.
Pulumi was established at 2018 and able to works with traditional infrastructure like VMs, networks,
and databases, in addition to modern architectures, including containers, Kubernetes clusters, and
serverless functions.
Pulumi supports dozens of public, private, and hybrid cloud service providers.
Copyright by DevOps Services Center 2021
How does Pulumi work?
• You write a Pulumi Program which
is executed by a language host.
• You handover that Program to
the Engine (using the Pulumi CLI).
• The engine compares the desired
state of your infrastructure with
the stack's current state and
figures out the needed changes.
• The engine then uses resource
providers to manage the
resources.
Copyright by DevOps Services Center 2021
Why Pulumi?
• Using familiar languages (JS,TS, Python, Go, C#, F#) for infrastructure as code, you get
many benefits: IDEs, abstractions including functions, classes, and packages, existing
debugging and testing tools, and more.
• Greater productivity with far less copy and paste, and it works the same way no matter
which cloud you're targeting.
Terraform vs. Pulumi
02.
Copyright by DevOps Services Center 2021
Terraform vs. Pulumi/ Users and Providers
Users
Resource
support
Terraform
Suitable for many roles: Developers,
DevOps Engineers, System Admin,…
especially Developers with System admin
background who prefer to use because of
its easy-to-read, easy-to-write syntax.
1945 providers, 8673 modules & counting
Support:
• IaaS: AWS, Azure, GCP, Alibaba Cloud
• PaaS: K8S, heroku
• SaaS: Fastly, Clouldflare
• On-premise: Openstack, VMWare
vSphere
Pulumi
Suitable for Developers who have
working experiences with Cloud platform
and take advantage of working with
Cloud by API.
82 providers included: cloud, database,
infrastructure, monitoring, network,
utility, version control,...
Copyright by DevOps Services Center 2021
Terraform VS. Pulumi/ Testing source code
Unit test
Configuration parsing:
terraform fmt –check
terraform validate
Plan representation
terraform plan
Intergation test
• terratest
• kitchen-terraform
• inspec
Tool
Deploy/
Destroy
Validate Work with
Terratest Yes Yes
Terraform, K8S, Docker,
Packer, Server, Cloud APIs
kitchen-terraform Yes Yes Terraform
inspec No Yes Servers, Cloud APIs
Custome validation rule
Copyright by DevOps Services Center 2021
Terraform VS. Pulumi/ Testing source code
- Pulumi uses general
purpose programming
languages to provision
cloud resources.
- Pulumi provides
multiple testing styles
for cloud programs: UT,
IT, ST,…
Copyright by DevOps Services Center 2021
Terraform vs. Pulumi/ Syntax
HCL dotNet ( C#, F#), Python, JS, Golang
AWS Bucket Setup with Terraform
HashiCorp's Language with .tf extension
AWS Bucket Setup with Pulumi
Regular Python Python Programming Language
with .py extension
Copyright by DevOps Services Center 2021
Terraform VS. Pulumi/ Structuring Large Projects
- Organized into modules for reusability
- Separate each environment into its own folder
or even an entirely separate repository
Pulumi is written and used by API, and is not a
DSL, so the structure of the source code will
depend on the skill of the developers.
Copyright by DevOps Services Center 2021
Terraform VS. Pulumi/ State File Troubleshooting
- Local state : terraform.tfstate
- Remote state: Terraform
Cloud, HashiCorp Consul, Amazon S3,
Azure Blob Storage, Google Cloud
Storage, Alibaba Cloud OSS, and more.
• terraform refresh // Update the state to match remote systems
• terraform import / Associate existing infrastructure with a Terraform resource
• terraform state (rm, mv) // Advanced state management
Command:
Copyright by DevOps Services Center 2021
Terraform VS. Pulumi/ State File Troubleshooting
References: Pulumi CLI | Pulumi
Pulumi is controlled primarily using the command line interface (CLI).
It works in conjunction with the Pulumi service to deploy changes to your cloud apps and
infrastructure.
Common commands
pulumi new: creates a new project using a template
pulumi stack: manage your stacks (at least one is required to
perform an update)
pulumi config: configure variables such as keys, regions, and
so on
pulumi up: preview and deploy changes to your program
and/or infrastructure
pulumi preview: preview your changes explicitly before
deploying
pulumi destroy: destroy your program and its infrastructure
when you’re done
Some commands for file state
troubleshooting
pulumi preview - Show a preview of updates to a stack’s
resources
pulumi refresh - Refresh the resources in a stack
pulumi import - Import resources into an existing stack
Copyright by DevOps Services Center 2021
Terraform VS. Pulumi
Other Features Terraform Pulumi
Dynamic provider support No Yes
Embedded within Application code No Yes
Import/ Convert other template to
Terraform/ Pulumi tools
No Yes
THANK YOU!

More Related Content

PPTX
Terraform training 🎒 - Basic
PDF
Infrastructure as Code with Terraform and Ansible
PPTX
Pulumi. Modern Infrastructure as Code.
PDF
Lessons learned from writing over 300,000 lines of infrastructure code
PDF
Terraform 0.12 + Terragrunt
PDF
Unit 1: Apply the Twelve-Factor App to Microservices Architectures
PDF
Introduction to IAC and Terraform
PPTX
Effective terraform
Terraform training 🎒 - Basic
Infrastructure as Code with Terraform and Ansible
Pulumi. Modern Infrastructure as Code.
Lessons learned from writing over 300,000 lines of infrastructure code
Terraform 0.12 + Terragrunt
Unit 1: Apply the Twelve-Factor App to Microservices Architectures
Introduction to IAC and Terraform
Effective terraform

What's hot (20)

PDF
DevOps with Ansible
PDF
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
PDF
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
PPTX
GitLab for CI/CD process
PPTX
Terraform on Azure
ODP
ansible why ?
PDF
Terraform -- Infrastructure as Code
PPTX
PPTX
Automation with Packer and TerraForm
PDF
Room 2 - 3 - Nguyễn Hoài Nam & Nguyễn Việt Hùng - Terraform & Pulumi Comparin...
PDF
PPTX
What Is Ansible? | How Ansible Works? | Ansible Tutorial For Beginners | DevO...
PDF
Ansible
PPTX
Introduction to ansible
PDF
Ansible - Hands on Training
PPTX
Introduction to Ansible
PDF
OpenShift-Technical-Overview.pdf
PPTX
Introduction to helm
PPTX
A brief study on Kubernetes and its components
PDF
Infrastructure-as-Code with Pulumi - Better than all the others (like Ansible)?
DevOps with Ansible
[오픈소스컨설팅]쿠버네티스를 활용한 개발환경 구축
왜 쿠버네티스는 systemd로 cgroup을 관리하려고 할까요
GitLab for CI/CD process
Terraform on Azure
ansible why ?
Terraform -- Infrastructure as Code
Automation with Packer and TerraForm
Room 2 - 3 - Nguyễn Hoài Nam & Nguyễn Việt Hùng - Terraform & Pulumi Comparin...
What Is Ansible? | How Ansible Works? | Ansible Tutorial For Beginners | DevO...
Ansible
Introduction to ansible
Ansible - Hands on Training
Introduction to Ansible
OpenShift-Technical-Overview.pdf
Introduction to helm
A brief study on Kubernetes and its components
Infrastructure-as-Code with Pulumi - Better than all the others (like Ansible)?
Ad

Similar to Terraform vs Pulumi (20)

PDF
Next-Gen Infrastructure as Code: Scaling Smart with Pulumi
PDF
Is Pulumi Better Than Terraform? A Comparative Analysis
PPTX
SynergyTop - Comparing Terraform Vs. Pulumi Which Infrastructure-As-Code (IaC...
PPTX
usrbinkat-Pulumi-AIML-Talks-Orchestration.pptx
PPTX
Infrastructure automation with .NET
PDF
stackconf 2020 | Infrastructure as Software by Paul Stack
PPTX
Azure infra automation using pulumi
PPTX
Pulumi - IaC tool
PDF
Terraform in Depth (MEAP V01) Robert Hafner
PDF
Terraform in Depth (MEAP V01) Robert Hafner
PDF
Instant download Terraform in Depth (MEAP V01) Robert Hafner pdf all chapter
PDF
Infrastructure as (real) Code – Manage your K8s resources with Pulumi
PDF
Cluster-as-code. The Many Ways towards Kubernetes
PDF
Infraestructura como Codigo para Developers
PDF
Rise of the machines: Continuous Delivery at SEEK - YOW! Night Summary Slides
PDF
GDG Cloud Southlake #8 Steve Cravens: Infrastructure as-Code (IaC) in 2022: ...
PDF
Oracle Cloud - Infrastruktura jako kód
PDF
Hashicorp-Terraform-Deep-Dive-with-no-Fear-Victor-Turbinsky-Texuna.pdf
PDF
Terraform-2.pdf
PDF
Infrastructure as "Code" with Pulumi
Next-Gen Infrastructure as Code: Scaling Smart with Pulumi
Is Pulumi Better Than Terraform? A Comparative Analysis
SynergyTop - Comparing Terraform Vs. Pulumi Which Infrastructure-As-Code (IaC...
usrbinkat-Pulumi-AIML-Talks-Orchestration.pptx
Infrastructure automation with .NET
stackconf 2020 | Infrastructure as Software by Paul Stack
Azure infra automation using pulumi
Pulumi - IaC tool
Terraform in Depth (MEAP V01) Robert Hafner
Terraform in Depth (MEAP V01) Robert Hafner
Instant download Terraform in Depth (MEAP V01) Robert Hafner pdf all chapter
Infrastructure as (real) Code – Manage your K8s resources with Pulumi
Cluster-as-code. The Many Ways towards Kubernetes
Infraestructura como Codigo para Developers
Rise of the machines: Continuous Delivery at SEEK - YOW! Night Summary Slides
GDG Cloud Southlake #8 Steve Cravens: Infrastructure as-Code (IaC) in 2022: ...
Oracle Cloud - Infrastruktura jako kód
Hashicorp-Terraform-Deep-Dive-with-no-Fear-Victor-Turbinsky-Texuna.pdf
Terraform-2.pdf
Infrastructure as "Code" with Pulumi
Ad

Recently uploaded (20)

PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PDF
Cost to Outsource Software Development in 2025
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
top salesforce developer skills in 2025.pdf
PPTX
Operating system designcfffgfgggggggvggggggggg
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PPTX
Reimagine Home Health with the Power of Agentic AI​
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PPTX
Introduction to Artificial Intelligence
PPTX
Why Generative AI is the Future of Content, Code & Creativity?
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
Understanding Forklifts - TECH EHS Solution
PPTX
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PDF
PTS Company Brochure 2025 (1).pdf.......
PPTX
history of c programming in notes for students .pptx
PPTX
Transform Your Business with a Software ERP System
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
Odoo Companies in India – Driving Business Transformation.pdf
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Cost to Outsource Software Development in 2025
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
top salesforce developer skills in 2025.pdf
Operating system designcfffgfgggggggvggggggggg
Design an Analysis of Algorithms II-SECS-1021-03
Reimagine Home Health with the Power of Agentic AI​
Navsoft: AI-Powered Business Solutions & Custom Software Development
Adobe Premiere Pro 2025 (v24.5.0.057) Crack free
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Introduction to Artificial Intelligence
Why Generative AI is the Future of Content, Code & Creativity?
How to Choose the Right IT Partner for Your Business in Malaysia
Understanding Forklifts - TECH EHS Solution
Lecture 3: Operating Systems Introduction to Computer Hardware Systems
PTS Company Brochure 2025 (1).pdf.......
history of c programming in notes for students .pptx
Transform Your Business with a Software ERP System
Upgrade and Innovation Strategies for SAP ERP Customers

Terraform vs Pulumi

  • 2. Terraform overview • What is Terraform? • How does Terraform work? • Why Terraform? 01.
  • 3. Copyright by DevOps Services Center 2021 What is Terraform? Terraform is an infrastructure as code tool that lets you define both cloud and on-premise resources in human-readable configuration files. Terraform facts: - Created by HashiCorp - Initial release: 28 July 2014 - Stable release v1.1.7 (March 02, 2022) - Repository: https://github.com/hashicorp/terraform - Written in Go - License: Mozilla Public License v2.0 - Website: www.terraform.io
  • 4. Copyright by DevOps Services Center 2021 How does Terraform work? Source: https://geekflare.com Terraform has two main components that make up its architecture: • Terraform Core • Providers
  • 5. Copyright by DevOps Services Center 2021 How does Terraform work? The core Terraform workflow has three steps: 1. Write - Author infrastructure as code. 2. Plan - Preview changes before applying. 3. Apply - Provision reproducible infrastructure. Source: https://terraform.io
  • 6. Copyright by DevOps Services Center 2021 Why Terraform? • It’s a great tool that is easy to use. • It has many providers, including AWS, GCP, Azure, Kubernetes. • It allows you to create reusable modules.
  • 7. Pulumi overview • What is Pulumi? • How does Pulumi work? • Why Pulumi? 02.
  • 8. Copyright by DevOps Services Center 2021 What is Pulumi? Pulumi is an open source infrastructure as code tool for creating, deploying, and managing cloud infrastructure. Pulumi was established at 2018 and able to works with traditional infrastructure like VMs, networks, and databases, in addition to modern architectures, including containers, Kubernetes clusters, and serverless functions. Pulumi supports dozens of public, private, and hybrid cloud service providers.
  • 9. Copyright by DevOps Services Center 2021 How does Pulumi work? • You write a Pulumi Program which is executed by a language host. • You handover that Program to the Engine (using the Pulumi CLI). • The engine compares the desired state of your infrastructure with the stack's current state and figures out the needed changes. • The engine then uses resource providers to manage the resources.
  • 10. Copyright by DevOps Services Center 2021 Why Pulumi? • Using familiar languages (JS,TS, Python, Go, C#, F#) for infrastructure as code, you get many benefits: IDEs, abstractions including functions, classes, and packages, existing debugging and testing tools, and more. • Greater productivity with far less copy and paste, and it works the same way no matter which cloud you're targeting.
  • 12. Copyright by DevOps Services Center 2021 Terraform vs. Pulumi/ Users and Providers Users Resource support Terraform Suitable for many roles: Developers, DevOps Engineers, System Admin,… especially Developers with System admin background who prefer to use because of its easy-to-read, easy-to-write syntax. 1945 providers, 8673 modules & counting Support: • IaaS: AWS, Azure, GCP, Alibaba Cloud • PaaS: K8S, heroku • SaaS: Fastly, Clouldflare • On-premise: Openstack, VMWare vSphere Pulumi Suitable for Developers who have working experiences with Cloud platform and take advantage of working with Cloud by API. 82 providers included: cloud, database, infrastructure, monitoring, network, utility, version control,...
  • 13. Copyright by DevOps Services Center 2021 Terraform VS. Pulumi/ Testing source code Unit test Configuration parsing: terraform fmt –check terraform validate Plan representation terraform plan Intergation test • terratest • kitchen-terraform • inspec Tool Deploy/ Destroy Validate Work with Terratest Yes Yes Terraform, K8S, Docker, Packer, Server, Cloud APIs kitchen-terraform Yes Yes Terraform inspec No Yes Servers, Cloud APIs Custome validation rule
  • 14. Copyright by DevOps Services Center 2021 Terraform VS. Pulumi/ Testing source code - Pulumi uses general purpose programming languages to provision cloud resources. - Pulumi provides multiple testing styles for cloud programs: UT, IT, ST,…
  • 15. Copyright by DevOps Services Center 2021 Terraform vs. Pulumi/ Syntax HCL dotNet ( C#, F#), Python, JS, Golang AWS Bucket Setup with Terraform HashiCorp's Language with .tf extension AWS Bucket Setup with Pulumi Regular Python Python Programming Language with .py extension
  • 16. Copyright by DevOps Services Center 2021 Terraform VS. Pulumi/ Structuring Large Projects - Organized into modules for reusability - Separate each environment into its own folder or even an entirely separate repository Pulumi is written and used by API, and is not a DSL, so the structure of the source code will depend on the skill of the developers.
  • 17. Copyright by DevOps Services Center 2021 Terraform VS. Pulumi/ State File Troubleshooting - Local state : terraform.tfstate - Remote state: Terraform Cloud, HashiCorp Consul, Amazon S3, Azure Blob Storage, Google Cloud Storage, Alibaba Cloud OSS, and more. • terraform refresh // Update the state to match remote systems • terraform import / Associate existing infrastructure with a Terraform resource • terraform state (rm, mv) // Advanced state management Command:
  • 18. Copyright by DevOps Services Center 2021 Terraform VS. Pulumi/ State File Troubleshooting References: Pulumi CLI | Pulumi Pulumi is controlled primarily using the command line interface (CLI). It works in conjunction with the Pulumi service to deploy changes to your cloud apps and infrastructure. Common commands pulumi new: creates a new project using a template pulumi stack: manage your stacks (at least one is required to perform an update) pulumi config: configure variables such as keys, regions, and so on pulumi up: preview and deploy changes to your program and/or infrastructure pulumi preview: preview your changes explicitly before deploying pulumi destroy: destroy your program and its infrastructure when you’re done Some commands for file state troubleshooting pulumi preview - Show a preview of updates to a stack’s resources pulumi refresh - Refresh the resources in a stack pulumi import - Import resources into an existing stack
  • 19. Copyright by DevOps Services Center 2021 Terraform VS. Pulumi Other Features Terraform Pulumi Dynamic provider support No Yes Embedded within Application code No Yes Import/ Convert other template to Terraform/ Pulumi tools No Yes