SlideShare a Scribd company logo
Terraform & Pulumi
Comparing Key Differences
About us Nguyen Viet Hung
Role: DevOps Engineer
Phone: 0968 454 512
Gmail: hungvietnguyen6241@gmail.com
Nguyen Hoai Nam
Role: DevOps Consultant Engineer
Phone: 0986 166 571
Gmail: namnh568@gmail.com
Terraform overview
• What is Terraform?
• How does Terraform work?
• Why Terraform?
01.
Copyright by DevOps Services Center 2022
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 2022
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 2022
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 2022
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 2022
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 2022
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 2022
Pulumi components
• Programs reside in a project, which is a directory that contains source code for the program and metadata
on how to run the program.
• Stacks are similar to different deployment environments that you use when testing and rolling out
application updates.
Copyright by DevOps Services Center 2022
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
03.
Copyright by DevOps Services Center 2022
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 2022
Terraform vs. Pulumi/ Syntax
HashiCorp's Language with .tf extension
Copyright by DevOps Services Center 2022
Terraform vs. Pulumi/ Syntax
dotNet ( C#, F#), Python, JS, Golang
Regular Python Python Programming Language
with .py extension
Copyright by DevOps Services Center 2022
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 2022
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 2022
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 2022
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
• Terraform plan/appy
Command:
Copyright by DevOps Services Center 2022
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 2022
Terraform VS. Pulumi
Other Features Terraform Pulumi
Embedded within Application code No Yes
Import/ Convert other template to
Terraform/ Pulumi tools
No Yes
Best practices
04.
Copyright by DevOps Services Center 2022
Best practices
1. Define format before stating
• Coding structure
• Naming convention: resource block label, variable name,
• Follow your language code
Copyright by DevOps Services Center 2022
Best practices
1. Define format before stating
• Coding structure
• Naming convention: resource
block label, variable name,
• Follow your language code
Copyright by DevOps Services Center 2022
Best practices/Terraform
2. Operations
• Always plan first
• Use service principal credentials for CI
• Don’t modify state manually
3. Security
• Use remote state and encrypt state
• Don’t store secrets in state
• Make sensitive outputs
Copyright by DevOps Services Center 2022
Best practices/Terraform
1. Use for_each for iterated resources
Copyright by DevOps Services Center 2022
Demo
Q&A
Copyright by DevOps Services Center 2022
akaWORK solution
Copyright by DevOps Services Center 2022
References
- https://cloud.google.com/docs/terraform/best-practices-for-terraform#general-style
- https://www.pulumi.com/blog/pulumi-recommended-patterns-the-basics/
- https://phoenixnap.com/blog/pulumi-vs-terraform
- DevOps series and more
THANK YOU!

More Related Content

What's hot

CI/CD trên Cloud OpenStack tại Viettel Networks | Hà Minh Công, Phạm Tường Chiến
CI/CD trên Cloud OpenStack tại Viettel Networks | Hà Minh Công, Phạm Tường ChiếnCI/CD trên Cloud OpenStack tại Viettel Networks | Hà Minh Công, Phạm Tường Chiến
CI/CD trên Cloud OpenStack tại Viettel Networks | Hà Minh Công, Phạm Tường Chiến
Vietnam Open Infrastructure User Group
 
Room 3 - 2 - Trần Tuấn Anh - Defending Software Supply Chain Security in Bank...
Room 3 - 2 - Trần Tuấn Anh - Defending Software Supply Chain Security in Bank...Room 3 - 2 - Trần Tuấn Anh - Defending Software Supply Chain Security in Bank...
Room 3 - 2 - Trần Tuấn Anh - Defending Software Supply Chain Security in Bank...
Vietnam Open Infrastructure User Group
 
Microservices Network Architecture 101
Microservices Network Architecture 101Microservices Network Architecture 101
Microservices Network Architecture 101
Cumulus Networks
 
Infrastructure-as-Code with Pulumi - Better than all the others (like Ansible)?
Infrastructure-as-Code with Pulumi- Better than all the others (like Ansible)?Infrastructure-as-Code with Pulumi- Better than all the others (like Ansible)?
Infrastructure-as-Code with Pulumi - Better than all the others (like Ansible)?
Jonas Hecht
 
Introduction to Docker Compose
Introduction to Docker ComposeIntroduction to Docker Compose
Introduction to Docker Compose
Ajeet Singh Raina
 
Room 1 - 7 - Lê Quốc Đạt - Upgrading network of Openstack to SDN with Tungste...
Room 1 - 7 - Lê Quốc Đạt - Upgrading network of Openstack to SDN with Tungste...Room 1 - 7 - Lê Quốc Đạt - Upgrading network of Openstack to SDN with Tungste...
Room 1 - 7 - Lê Quốc Đạt - Upgrading network of Openstack to SDN with Tungste...
Vietnam Open Infrastructure User Group
 
Room 1 - 6 - Trần Quốc Sang - Autoscaling for multi cloud platform based on S...
Room 1 - 6 - Trần Quốc Sang - Autoscaling for multi cloud platform based on S...Room 1 - 6 - Trần Quốc Sang - Autoscaling for multi cloud platform based on S...
Room 1 - 6 - Trần Quốc Sang - Autoscaling for multi cloud platform based on S...
Vietnam Open Infrastructure User Group
 
Introduction to Kubernetes Workshop
Introduction to Kubernetes WorkshopIntroduction to Kubernetes Workshop
Introduction to Kubernetes Workshop
Bob Killen
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetes
Raffaele Di Fazio
 
Docker 101 : Introduction to Docker and Containers
Docker 101 : Introduction to Docker and ContainersDocker 101 : Introduction to Docker and Containers
Docker 101 : Introduction to Docker and Containers
Yajushi Srivastava
 
Room 1 - 2 - Nguyễn Văn Thắng & Dzung Nguyen - Proxmox VE và ZFS over iscsi
Room 1 - 2 - Nguyễn Văn Thắng & Dzung Nguyen - Proxmox VE và ZFS over iscsiRoom 1 - 2 - Nguyễn Văn Thắng & Dzung Nguyen - Proxmox VE và ZFS over iscsi
Room 1 - 2 - Nguyễn Văn Thắng & Dzung Nguyen - Proxmox VE và ZFS over iscsi
Vietnam Open Infrastructure User Group
 
An Introduction to Kubernetes
An Introduction to KubernetesAn Introduction to Kubernetes
An Introduction to Kubernetes
Imesh Gunaratne
 
Kubernetes #6 advanced scheduling
Kubernetes #6   advanced schedulingKubernetes #6   advanced scheduling
Kubernetes #6 advanced scheduling
Terry Cho
 
The Log of All Logs: Raft-based Consensus Inside Kafka | Guozhang Wang, Confl...
The Log of All Logs: Raft-based Consensus Inside Kafka | Guozhang Wang, Confl...The Log of All Logs: Raft-based Consensus Inside Kafka | Guozhang Wang, Confl...
The Log of All Logs: Raft-based Consensus Inside Kafka | Guozhang Wang, Confl...
HostedbyConfluent
 
OpenShift-Technical-Overview.pdf
OpenShift-Technical-Overview.pdfOpenShift-Technical-Overview.pdf
OpenShift-Technical-Overview.pdf
JuanSalinas593459
 
Kubernetes
KubernetesKubernetes
Kubernetes
erialc_w
 
Jenkins tutorial
Jenkins tutorialJenkins tutorial
Jenkins tutorial
HarikaReddy115
 
Comparing Next-Generation Container Image Building Tools
 Comparing Next-Generation Container Image Building Tools Comparing Next-Generation Container Image Building Tools
Comparing Next-Generation Container Image Building Tools
Akihiro Suda
 
Containers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red HatContainers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red Hat
Amazon Web Services
 
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation SlidesKubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
SlideTeam
 

What's hot (20)

CI/CD trên Cloud OpenStack tại Viettel Networks | Hà Minh Công, Phạm Tường Chiến
CI/CD trên Cloud OpenStack tại Viettel Networks | Hà Minh Công, Phạm Tường ChiếnCI/CD trên Cloud OpenStack tại Viettel Networks | Hà Minh Công, Phạm Tường Chiến
CI/CD trên Cloud OpenStack tại Viettel Networks | Hà Minh Công, Phạm Tường Chiến
 
Room 3 - 2 - Trần Tuấn Anh - Defending Software Supply Chain Security in Bank...
Room 3 - 2 - Trần Tuấn Anh - Defending Software Supply Chain Security in Bank...Room 3 - 2 - Trần Tuấn Anh - Defending Software Supply Chain Security in Bank...
Room 3 - 2 - Trần Tuấn Anh - Defending Software Supply Chain Security in Bank...
 
Microservices Network Architecture 101
Microservices Network Architecture 101Microservices Network Architecture 101
Microservices Network Architecture 101
 
Infrastructure-as-Code with Pulumi - Better than all the others (like Ansible)?
Infrastructure-as-Code with Pulumi- Better than all the others (like Ansible)?Infrastructure-as-Code with Pulumi- Better than all the others (like Ansible)?
Infrastructure-as-Code with Pulumi - Better than all the others (like Ansible)?
 
Introduction to Docker Compose
Introduction to Docker ComposeIntroduction to Docker Compose
Introduction to Docker Compose
 
Room 1 - 7 - Lê Quốc Đạt - Upgrading network of Openstack to SDN with Tungste...
Room 1 - 7 - Lê Quốc Đạt - Upgrading network of Openstack to SDN with Tungste...Room 1 - 7 - Lê Quốc Đạt - Upgrading network of Openstack to SDN with Tungste...
Room 1 - 7 - Lê Quốc Đạt - Upgrading network of Openstack to SDN with Tungste...
 
Room 1 - 6 - Trần Quốc Sang - Autoscaling for multi cloud platform based on S...
Room 1 - 6 - Trần Quốc Sang - Autoscaling for multi cloud platform based on S...Room 1 - 6 - Trần Quốc Sang - Autoscaling for multi cloud platform based on S...
Room 1 - 6 - Trần Quốc Sang - Autoscaling for multi cloud platform based on S...
 
Introduction to Kubernetes Workshop
Introduction to Kubernetes WorkshopIntroduction to Kubernetes Workshop
Introduction to Kubernetes Workshop
 
Introduction to kubernetes
Introduction to kubernetesIntroduction to kubernetes
Introduction to kubernetes
 
Docker 101 : Introduction to Docker and Containers
Docker 101 : Introduction to Docker and ContainersDocker 101 : Introduction to Docker and Containers
Docker 101 : Introduction to Docker and Containers
 
Room 1 - 2 - Nguyễn Văn Thắng & Dzung Nguyen - Proxmox VE và ZFS over iscsi
Room 1 - 2 - Nguyễn Văn Thắng & Dzung Nguyen - Proxmox VE và ZFS over iscsiRoom 1 - 2 - Nguyễn Văn Thắng & Dzung Nguyen - Proxmox VE và ZFS over iscsi
Room 1 - 2 - Nguyễn Văn Thắng & Dzung Nguyen - Proxmox VE và ZFS over iscsi
 
An Introduction to Kubernetes
An Introduction to KubernetesAn Introduction to Kubernetes
An Introduction to Kubernetes
 
Kubernetes #6 advanced scheduling
Kubernetes #6   advanced schedulingKubernetes #6   advanced scheduling
Kubernetes #6 advanced scheduling
 
The Log of All Logs: Raft-based Consensus Inside Kafka | Guozhang Wang, Confl...
The Log of All Logs: Raft-based Consensus Inside Kafka | Guozhang Wang, Confl...The Log of All Logs: Raft-based Consensus Inside Kafka | Guozhang Wang, Confl...
The Log of All Logs: Raft-based Consensus Inside Kafka | Guozhang Wang, Confl...
 
OpenShift-Technical-Overview.pdf
OpenShift-Technical-Overview.pdfOpenShift-Technical-Overview.pdf
OpenShift-Technical-Overview.pdf
 
Kubernetes
KubernetesKubernetes
Kubernetes
 
Jenkins tutorial
Jenkins tutorialJenkins tutorial
Jenkins tutorial
 
Comparing Next-Generation Container Image Building Tools
 Comparing Next-Generation Container Image Building Tools Comparing Next-Generation Container Image Building Tools
Comparing Next-Generation Container Image Building Tools
 
Containers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red HatContainers Anywhere with OpenShift by Red Hat
Containers Anywhere with OpenShift by Red Hat
 
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation SlidesKubernetes Concepts And Architecture Powerpoint Presentation Slides
Kubernetes Concepts And Architecture Powerpoint Presentation Slides
 

Similar to Room 2 - 3 - Nguyễn Hoài Nam & Nguyễn Việt Hùng - Terraform & Pulumi Comparing Key Differences

Terraform vs Pulumi
Terraform vs PulumiTerraform vs Pulumi
Terraform vs Pulumi
HoaiNam307
 
Ian huston getting started with cloud foundry
Ian huston   getting started with cloud foundryIan huston   getting started with cloud foundry
Ian huston getting started with cloud foundry
Jessica Willis
 
Ian Huston - "Deploying your data driven web app on Cloud Foundry"
Ian Huston - "Deploying your data driven web app on Cloud Foundry" Ian Huston - "Deploying your data driven web app on Cloud Foundry"
Ian Huston - "Deploying your data driven web app on Cloud Foundry"
Sheamus McGovern
 
Cloud Foundry Roadmap Update - OSCON - May 2017
Cloud Foundry Roadmap Update - OSCON - May 2017Cloud Foundry Roadmap Update - OSCON - May 2017
Cloud Foundry Roadmap Update - OSCON - May 2017
Chip Childers
 
Hitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as Code
Hitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as CodeHitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as Code
Hitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as Code
Robert van Mölken
 
Azure enterprise integration platform
Azure enterprise integration platformAzure enterprise integration platform
Azure enterprise integration platform
Michael Stephenson
 
What's New in Docker - February 2017
What's New in Docker - February 2017What's New in Docker - February 2017
What's New in Docker - February 2017
Patrick Chanezon
 
GDG Cloud Southlake #8 Steve Cravens: Infrastructure as-Code (IaC) in 2022: ...
GDG Cloud Southlake #8  Steve Cravens: Infrastructure as-Code (IaC) in 2022: ...GDG Cloud Southlake #8  Steve Cravens: Infrastructure as-Code (IaC) in 2022: ...
GDG Cloud Southlake #8 Steve Cravens: Infrastructure as-Code (IaC) in 2022: ...
James Anderson
 
A case study why Zoominfo uses Terraform Cloud in high-scale environment.
A case study why Zoominfo uses Terraform Cloud in high-scale environment. A case study why Zoominfo uses Terraform Cloud in high-scale environment.
A case study why Zoominfo uses Terraform Cloud in high-scale environment.
Tal Hibner
 
CICD with SharePoint SPFx A useful overview
CICD with SharePoint SPFx A useful overviewCICD with SharePoint SPFx A useful overview
CICD with SharePoint SPFx A useful overview
pdalian
 
Breaking the Monolith
Breaking the MonolithBreaking the Monolith
Breaking the Monolith
VMware Tanzu
 
DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2
Docker, Inc.
 
Reproducibility in artificial intelligence
Reproducibility in artificial intelligenceReproducibility in artificial intelligence
Reproducibility in artificial intelligence
Carlos Toxtli
 
Introduction to IAC and Terraform
Introduction to IAC and Terraform Introduction to IAC and Terraform
Introduction to IAC and Terraform
Venkat NaveenKashyap Devulapally
 
PuppetConf 2016: Using Puppet with Kubernetes and OpenShift – Diane Mueller, ...
PuppetConf 2016: Using Puppet with Kubernetes and OpenShift – Diane Mueller, ...PuppetConf 2016: Using Puppet with Kubernetes and OpenShift – Diane Mueller, ...
PuppetConf 2016: Using Puppet with Kubernetes and OpenShift – Diane Mueller, ...
Puppet
 
Solum - OpenStack PaaS / ALM
Solum - OpenStack PaaS / ALMSolum - OpenStack PaaS / ALM
Solum - OpenStack PaaS / ALM
devkulkarni
 
Get over the Cloud with Bluemix
Get over the Cloud with BluemixGet over the Cloud with Bluemix
Get over the Cloud with Bluemix
Codemotion
 
.NET Cloud-Native Bootcamp
.NET Cloud-Native Bootcamp.NET Cloud-Native Bootcamp
.NET Cloud-Native Bootcamp
VMware Tanzu
 
Introduction to Code Composer Studio 4
Introduction to Code Composer Studio 4Introduction to Code Composer Studio 4
Introduction to Code Composer Studio 4
Pantech ProLabs India Pvt Ltd
 

Similar to Room 2 - 3 - Nguyễn Hoài Nam & Nguyễn Việt Hùng - Terraform & Pulumi Comparing Key Differences (20)

Terraform vs Pulumi
Terraform vs PulumiTerraform vs Pulumi
Terraform vs Pulumi
 
Ian huston getting started with cloud foundry
Ian huston   getting started with cloud foundryIan huston   getting started with cloud foundry
Ian huston getting started with cloud foundry
 
Ian Huston - "Deploying your data driven web app on Cloud Foundry"
Ian Huston - "Deploying your data driven web app on Cloud Foundry" Ian Huston - "Deploying your data driven web app on Cloud Foundry"
Ian Huston - "Deploying your data driven web app on Cloud Foundry"
 
Cloud Foundry Roadmap Update - OSCON - May 2017
Cloud Foundry Roadmap Update - OSCON - May 2017Cloud Foundry Roadmap Update - OSCON - May 2017
Cloud Foundry Roadmap Update - OSCON - May 2017
 
Hitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as Code
Hitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as CodeHitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as Code
Hitchhiker's guide to Cloud-Native Build Pipelines and Infrastructure as Code
 
Azure enterprise integration platform
Azure enterprise integration platformAzure enterprise integration platform
Azure enterprise integration platform
 
What's New in Docker - February 2017
What's New in Docker - February 2017What's New in Docker - February 2017
What's New in Docker - February 2017
 
GDG Cloud Southlake #8 Steve Cravens: Infrastructure as-Code (IaC) in 2022: ...
GDG Cloud Southlake #8  Steve Cravens: Infrastructure as-Code (IaC) in 2022: ...GDG Cloud Southlake #8  Steve Cravens: Infrastructure as-Code (IaC) in 2022: ...
GDG Cloud Southlake #8 Steve Cravens: Infrastructure as-Code (IaC) in 2022: ...
 
A case study why Zoominfo uses Terraform Cloud in high-scale environment.
A case study why Zoominfo uses Terraform Cloud in high-scale environment. A case study why Zoominfo uses Terraform Cloud in high-scale environment.
A case study why Zoominfo uses Terraform Cloud in high-scale environment.
 
CICD with SharePoint SPFx A useful overview
CICD with SharePoint SPFx A useful overviewCICD with SharePoint SPFx A useful overview
CICD with SharePoint SPFx A useful overview
 
Breaking the Monolith
Breaking the MonolithBreaking the Monolith
Breaking the Monolith
 
DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2DockerCon 15 Keynote - Day 2
DockerCon 15 Keynote - Day 2
 
Reproducibility in artificial intelligence
Reproducibility in artificial intelligenceReproducibility in artificial intelligence
Reproducibility in artificial intelligence
 
Introduction to IAC and Terraform
Introduction to IAC and Terraform Introduction to IAC and Terraform
Introduction to IAC and Terraform
 
Mannu_Kumar_CV
Mannu_Kumar_CVMannu_Kumar_CV
Mannu_Kumar_CV
 
PuppetConf 2016: Using Puppet with Kubernetes and OpenShift – Diane Mueller, ...
PuppetConf 2016: Using Puppet with Kubernetes and OpenShift – Diane Mueller, ...PuppetConf 2016: Using Puppet with Kubernetes and OpenShift – Diane Mueller, ...
PuppetConf 2016: Using Puppet with Kubernetes and OpenShift – Diane Mueller, ...
 
Solum - OpenStack PaaS / ALM
Solum - OpenStack PaaS / ALMSolum - OpenStack PaaS / ALM
Solum - OpenStack PaaS / ALM
 
Get over the Cloud with Bluemix
Get over the Cloud with BluemixGet over the Cloud with Bluemix
Get over the Cloud with Bluemix
 
.NET Cloud-Native Bootcamp
.NET Cloud-Native Bootcamp.NET Cloud-Native Bootcamp
.NET Cloud-Native Bootcamp
 
Introduction to Code Composer Studio 4
Introduction to Code Composer Studio 4Introduction to Code Composer Studio 4
Introduction to Code Composer Studio 4
 

More from Vietnam Open Infrastructure User Group

Room 3 - 5 - Nguyễn Văn Hoàn - 101 Bugs, issues when I work with Ceph
Room 3 - 5 - Nguyễn Văn Hoàn - 101 Bugs, issues when I work with CephRoom 3 - 5 - Nguyễn Văn Hoàn - 101 Bugs, issues when I work with Ceph
Room 3 - 5 - Nguyễn Văn Hoàn - 101 Bugs, issues when I work with Ceph
Vietnam Open Infrastructure User Group
 
Room 2 - 2 - Giang Thiên Phú - Kinh nghiệm tối ưu mongodb với database hơn 10...
Room 2 - 2 - Giang Thiên Phú - Kinh nghiệm tối ưu mongodb với database hơn 10...Room 2 - 2 - Giang Thiên Phú - Kinh nghiệm tối ưu mongodb với database hơn 10...
Room 2 - 2 - Giang Thiên Phú - Kinh nghiệm tối ưu mongodb với database hơn 10...
Vietnam Open Infrastructure User Group
 
Room 2 - 7 - Lã Mạnh Hà - Agile + DevOps = A great combination
Room 2 - 7 - Lã Mạnh Hà - Agile + DevOps = A great combinationRoom 2 - 7 - Lã Mạnh Hà - Agile + DevOps = A great combination
Room 2 - 7 - Lã Mạnh Hà - Agile + DevOps = A great combination
Vietnam Open Infrastructure User Group
 
Room 2 - 5 - Seong Soo - NHN Cloud - Upstream contribution mentoring program ...
Room 2 - 5 - Seong Soo - NHN Cloud - Upstream contribution mentoring program ...Room 2 - 5 - Seong Soo - NHN Cloud - Upstream contribution mentoring program ...
Room 2 - 5 - Seong Soo - NHN Cloud - Upstream contribution mentoring program ...
Vietnam Open Infrastructure User Group
 
Room 1 - 3 - Lê Anh Tuấn - Build a High Performance Identification at GHTK wi...
Room 1 - 3 - Lê Anh Tuấn - Build a High Performance Identification at GHTK wi...Room 1 - 3 - Lê Anh Tuấn - Build a High Performance Identification at GHTK wi...
Room 1 - 3 - Lê Anh Tuấn - Build a High Performance Identification at GHTK wi...
Vietnam Open Infrastructure User Group
 
Room 1 - 5 - Thủy Đặng - Load balancing k8s services on baremetal with Cilium...
Room 1 - 5 - Thủy Đặng - Load balancing k8s services on baremetal with Cilium...Room 1 - 5 - Thủy Đặng - Load balancing k8s services on baremetal with Cilium...
Room 1 - 5 - Thủy Đặng - Load balancing k8s services on baremetal with Cilium...
Vietnam Open Infrastructure User Group
 
Room 1 - 1 - Benoit TELLIER - On premise email inbound service with Apache James
Room 1 - 1 - Benoit TELLIER - On premise email inbound service with Apache JamesRoom 1 - 1 - Benoit TELLIER - On premise email inbound service with Apache James
Room 1 - 1 - Benoit TELLIER - On premise email inbound service with Apache James
Vietnam Open Infrastructure User Group
 
Phiên sáng - 05 - Chia sẻ về Open Infrastructure trên thế giới
Phiên sáng - 05 - Chia sẻ về Open Infrastructure trên thế giớiPhiên sáng - 05 - Chia sẻ về Open Infrastructure trên thế giới
Phiên sáng - 05 - Chia sẻ về Open Infrastructure trên thế giới
Vietnam Open Infrastructure User Group
 
Phiên sáng - 06 - Thúc đẩy phát triển với Hệ sinh thái Cloud mở
Phiên sáng - 06 - Thúc đẩy phát triển với Hệ sinh thái Cloud mởPhiên sáng - 06 - Thúc đẩy phát triển với Hệ sinh thái Cloud mở
Phiên sáng - 06 - Thúc đẩy phát triển với Hệ sinh thái Cloud mở
Vietnam Open Infrastructure User Group
 
Phiên sáng - 02 - Khai mạc và phát biểu của VIA và VietOpenInfra
Phiên sáng - 02 - Khai mạc và phát biểu của VIA và VietOpenInfraPhiên sáng - 02 - Khai mạc và phát biểu của VIA và VietOpenInfra
Phiên sáng - 02 - Khai mạc và phát biểu của VIA và VietOpenInfra
Vietnam Open Infrastructure User Group
 
Packaging Strategy for Community Openstack and Implementation Reference | Hoj...
Packaging Strategy for Community Openstack and Implementation Reference | Hoj...Packaging Strategy for Community Openstack and Implementation Reference | Hoj...
Packaging Strategy for Community Openstack and Implementation Reference | Hoj...
Vietnam Open Infrastructure User Group
 
Unrevealed Story Behind Viettel Network Cloud Hotpot | Đặng Văn Đại, Hà Mạnh ...
Unrevealed Story Behind Viettel Network Cloud Hotpot | Đặng Văn Đại, Hà Mạnh ...Unrevealed Story Behind Viettel Network Cloud Hotpot | Đặng Văn Đại, Hà Mạnh ...
Unrevealed Story Behind Viettel Network Cloud Hotpot | Đặng Văn Đại, Hà Mạnh ...
Vietnam Open Infrastructure User Group
 
Quick and Solid - Baremetal on OpenStack | Rico Lin
Quick and Solid - Baremetal on OpenStack | Rico LinQuick and Solid - Baremetal on OpenStack | Rico Lin
Quick and Solid - Baremetal on OpenStack | Rico Lin
Vietnam Open Infrastructure User Group
 
Zero Touch 5G Slicing Infrastructure Management | Thủy Đặng, Trinh Nguyen
Zero Touch 5G Slicing Infrastructure Management | Thủy Đặng, Trinh NguyenZero Touch 5G Slicing Infrastructure Management | Thủy Đặng, Trinh Nguyen
Zero Touch 5G Slicing Infrastructure Management | Thủy Đặng, Trinh Nguyen
Vietnam Open Infrastructure User Group
 
More Than An "API" | Jae Lee
More Than An "API" | Jae LeeMore Than An "API" | Jae Lee
More Than An "API" | Jae Lee
Vietnam Open Infrastructure User Group
 
Microservices: AutoScaling in Hyper-Microservice Architecture | Nguyễn Trung ...
Microservices: AutoScaling in Hyper-Microservice Architecture | Nguyễn Trung ...Microservices: AutoScaling in Hyper-Microservice Architecture | Nguyễn Trung ...
Microservices: AutoScaling in Hyper-Microservice Architecture | Nguyễn Trung ...
Vietnam Open Infrastructure User Group
 
Ansible Automation - Enterprise Use Cases | Juncheng Anthony Lin
Ansible Automation - Enterprise Use Cases | Juncheng Anthony LinAnsible Automation - Enterprise Use Cases | Juncheng Anthony Lin
Ansible Automation - Enterprise Use Cases | Juncheng Anthony Lin
Vietnam Open Infrastructure User Group
 
Self Healing Trong Cloud Infrastructure với TICK Stack, Vitrage và Mistral | ...
Self Healing Trong Cloud Infrastructure với TICK Stack, Vitrage và Mistral | ...Self Healing Trong Cloud Infrastructure với TICK Stack, Vitrage và Mistral | ...
Self Healing Trong Cloud Infrastructure với TICK Stack, Vitrage và Mistral | ...
Vietnam Open Infrastructure User Group
 

More from Vietnam Open Infrastructure User Group (18)

Room 3 - 5 - Nguyễn Văn Hoàn - 101 Bugs, issues when I work with Ceph
Room 3 - 5 - Nguyễn Văn Hoàn - 101 Bugs, issues when I work with CephRoom 3 - 5 - Nguyễn Văn Hoàn - 101 Bugs, issues when I work with Ceph
Room 3 - 5 - Nguyễn Văn Hoàn - 101 Bugs, issues when I work with Ceph
 
Room 2 - 2 - Giang Thiên Phú - Kinh nghiệm tối ưu mongodb với database hơn 10...
Room 2 - 2 - Giang Thiên Phú - Kinh nghiệm tối ưu mongodb với database hơn 10...Room 2 - 2 - Giang Thiên Phú - Kinh nghiệm tối ưu mongodb với database hơn 10...
Room 2 - 2 - Giang Thiên Phú - Kinh nghiệm tối ưu mongodb với database hơn 10...
 
Room 2 - 7 - Lã Mạnh Hà - Agile + DevOps = A great combination
Room 2 - 7 - Lã Mạnh Hà - Agile + DevOps = A great combinationRoom 2 - 7 - Lã Mạnh Hà - Agile + DevOps = A great combination
Room 2 - 7 - Lã Mạnh Hà - Agile + DevOps = A great combination
 
Room 2 - 5 - Seong Soo - NHN Cloud - Upstream contribution mentoring program ...
Room 2 - 5 - Seong Soo - NHN Cloud - Upstream contribution mentoring program ...Room 2 - 5 - Seong Soo - NHN Cloud - Upstream contribution mentoring program ...
Room 2 - 5 - Seong Soo - NHN Cloud - Upstream contribution mentoring program ...
 
Room 1 - 3 - Lê Anh Tuấn - Build a High Performance Identification at GHTK wi...
Room 1 - 3 - Lê Anh Tuấn - Build a High Performance Identification at GHTK wi...Room 1 - 3 - Lê Anh Tuấn - Build a High Performance Identification at GHTK wi...
Room 1 - 3 - Lê Anh Tuấn - Build a High Performance Identification at GHTK wi...
 
Room 1 - 5 - Thủy Đặng - Load balancing k8s services on baremetal with Cilium...
Room 1 - 5 - Thủy Đặng - Load balancing k8s services on baremetal with Cilium...Room 1 - 5 - Thủy Đặng - Load balancing k8s services on baremetal with Cilium...
Room 1 - 5 - Thủy Đặng - Load balancing k8s services on baremetal with Cilium...
 
Room 1 - 1 - Benoit TELLIER - On premise email inbound service with Apache James
Room 1 - 1 - Benoit TELLIER - On premise email inbound service with Apache JamesRoom 1 - 1 - Benoit TELLIER - On premise email inbound service with Apache James
Room 1 - 1 - Benoit TELLIER - On premise email inbound service with Apache James
 
Phiên sáng - 05 - Chia sẻ về Open Infrastructure trên thế giới
Phiên sáng - 05 - Chia sẻ về Open Infrastructure trên thế giớiPhiên sáng - 05 - Chia sẻ về Open Infrastructure trên thế giới
Phiên sáng - 05 - Chia sẻ về Open Infrastructure trên thế giới
 
Phiên sáng - 06 - Thúc đẩy phát triển với Hệ sinh thái Cloud mở
Phiên sáng - 06 - Thúc đẩy phát triển với Hệ sinh thái Cloud mởPhiên sáng - 06 - Thúc đẩy phát triển với Hệ sinh thái Cloud mở
Phiên sáng - 06 - Thúc đẩy phát triển với Hệ sinh thái Cloud mở
 
Phiên sáng - 02 - Khai mạc và phát biểu của VIA và VietOpenInfra
Phiên sáng - 02 - Khai mạc và phát biểu của VIA và VietOpenInfraPhiên sáng - 02 - Khai mạc và phát biểu của VIA và VietOpenInfra
Phiên sáng - 02 - Khai mạc và phát biểu của VIA và VietOpenInfra
 
Packaging Strategy for Community Openstack and Implementation Reference | Hoj...
Packaging Strategy for Community Openstack and Implementation Reference | Hoj...Packaging Strategy for Community Openstack and Implementation Reference | Hoj...
Packaging Strategy for Community Openstack and Implementation Reference | Hoj...
 
Unrevealed Story Behind Viettel Network Cloud Hotpot | Đặng Văn Đại, Hà Mạnh ...
Unrevealed Story Behind Viettel Network Cloud Hotpot | Đặng Văn Đại, Hà Mạnh ...Unrevealed Story Behind Viettel Network Cloud Hotpot | Đặng Văn Đại, Hà Mạnh ...
Unrevealed Story Behind Viettel Network Cloud Hotpot | Đặng Văn Đại, Hà Mạnh ...
 
Quick and Solid - Baremetal on OpenStack | Rico Lin
Quick and Solid - Baremetal on OpenStack | Rico LinQuick and Solid - Baremetal on OpenStack | Rico Lin
Quick and Solid - Baremetal on OpenStack | Rico Lin
 
Zero Touch 5G Slicing Infrastructure Management | Thủy Đặng, Trinh Nguyen
Zero Touch 5G Slicing Infrastructure Management | Thủy Đặng, Trinh NguyenZero Touch 5G Slicing Infrastructure Management | Thủy Đặng, Trinh Nguyen
Zero Touch 5G Slicing Infrastructure Management | Thủy Đặng, Trinh Nguyen
 
More Than An "API" | Jae Lee
More Than An "API" | Jae LeeMore Than An "API" | Jae Lee
More Than An "API" | Jae Lee
 
Microservices: AutoScaling in Hyper-Microservice Architecture | Nguyễn Trung ...
Microservices: AutoScaling in Hyper-Microservice Architecture | Nguyễn Trung ...Microservices: AutoScaling in Hyper-Microservice Architecture | Nguyễn Trung ...
Microservices: AutoScaling in Hyper-Microservice Architecture | Nguyễn Trung ...
 
Ansible Automation - Enterprise Use Cases | Juncheng Anthony Lin
Ansible Automation - Enterprise Use Cases | Juncheng Anthony LinAnsible Automation - Enterprise Use Cases | Juncheng Anthony Lin
Ansible Automation - Enterprise Use Cases | Juncheng Anthony Lin
 
Self Healing Trong Cloud Infrastructure với TICK Stack, Vitrage và Mistral | ...
Self Healing Trong Cloud Infrastructure với TICK Stack, Vitrage và Mistral | ...Self Healing Trong Cloud Infrastructure với TICK Stack, Vitrage và Mistral | ...
Self Healing Trong Cloud Infrastructure với TICK Stack, Vitrage và Mistral | ...
 

Recently uploaded

IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
Abida Shariff
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
ThousandEyes
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
Bhaskar Mitra
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
DianaGray10
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
Product School
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
BookNet Canada
 

Recently uploaded (20)

IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptxIOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
IOS-PENTESTING-BEGINNERS-PRACTICAL-GUIDE-.pptx
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Assuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyesAssuring Contact Center Experiences for Your Customers With ThousandEyes
Assuring Contact Center Experiences for Your Customers With ThousandEyes
 
Search and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical FuturesSearch and Society: Reimagining Information Access for Radical Futures
Search and Society: Reimagining Information Access for Radical Futures
 
Connector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a buttonConnector Corner: Automate dynamic content and events by pushing a button
Connector Corner: Automate dynamic content and events by pushing a button
 
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
From Daily Decisions to Bottom Line: Connecting Product Work to Revenue by VP...
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...Transcript: Selling digital books in 2024: Insights from industry leaders - T...
Transcript: Selling digital books in 2024: Insights from industry leaders - T...
 

Room 2 - 3 - Nguyễn Hoài Nam & Nguyễn Việt Hùng - Terraform & Pulumi Comparing Key Differences

  • 2. About us Nguyen Viet Hung Role: DevOps Engineer Phone: 0968 454 512 Gmail: hungvietnguyen6241@gmail.com Nguyen Hoai Nam Role: DevOps Consultant Engineer Phone: 0986 166 571 Gmail: namnh568@gmail.com
  • 3. Terraform overview • What is Terraform? • How does Terraform work? • Why Terraform? 01.
  • 4. Copyright by DevOps Services Center 2022 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
  • 5. Copyright by DevOps Services Center 2022 How does Terraform work? Source: https://geekflare.com Terraform has two main components that make up its architecture: • Terraform Core • Providers
  • 6. Copyright by DevOps Services Center 2022 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
  • 7. Copyright by DevOps Services Center 2022 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.
  • 8. Pulumi overview • What is Pulumi? • How does Pulumi work? • Why Pulumi? 02.
  • 9. Copyright by DevOps Services Center 2022 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.
  • 10. Copyright by DevOps Services Center 2022 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.
  • 11. Copyright by DevOps Services Center 2022 Pulumi components • Programs reside in a project, which is a directory that contains source code for the program and metadata on how to run the program. • Stacks are similar to different deployment environments that you use when testing and rolling out application updates.
  • 12. Copyright by DevOps Services Center 2022 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.
  • 14. Copyright by DevOps Services Center 2022 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,...
  • 15. Copyright by DevOps Services Center 2022 Terraform vs. Pulumi/ Syntax HashiCorp's Language with .tf extension
  • 16. Copyright by DevOps Services Center 2022 Terraform vs. Pulumi/ Syntax dotNet ( C#, F#), Python, JS, Golang Regular Python Python Programming Language with .py extension
  • 17. Copyright by DevOps Services Center 2022 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
  • 18. Copyright by DevOps Services Center 2022 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,…
  • 19. Copyright by DevOps Services Center 2022 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.
  • 20. Copyright by DevOps Services Center 2022 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 • Terraform plan/appy Command:
  • 21. Copyright by DevOps Services Center 2022 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
  • 22. Copyright by DevOps Services Center 2022 Terraform VS. Pulumi Other Features Terraform Pulumi Embedded within Application code No Yes Import/ Convert other template to Terraform/ Pulumi tools No Yes
  • 24. Copyright by DevOps Services Center 2022 Best practices 1. Define format before stating • Coding structure • Naming convention: resource block label, variable name, • Follow your language code
  • 25. Copyright by DevOps Services Center 2022 Best practices 1. Define format before stating • Coding structure • Naming convention: resource block label, variable name, • Follow your language code
  • 26. Copyright by DevOps Services Center 2022 Best practices/Terraform 2. Operations • Always plan first • Use service principal credentials for CI • Don’t modify state manually 3. Security • Use remote state and encrypt state • Don’t store secrets in state • Make sensitive outputs
  • 27. Copyright by DevOps Services Center 2022 Best practices/Terraform 1. Use for_each for iterated resources
  • 28. Copyright by DevOps Services Center 2022 Demo
  • 29. Q&A
  • 30. Copyright by DevOps Services Center 2022 akaWORK solution
  • 31. Copyright by DevOps Services Center 2022 References - https://cloud.google.com/docs/terraform/best-practices-for-terraform#general-style - https://www.pulumi.com/blog/pulumi-recommended-patterns-the-basics/ - https://phoenixnap.com/blog/pulumi-vs-terraform - DevOps series and more