SlideShare a Scribd company logo
7
Most read
8
Most read
11
Most read
#GlobalAzureAthens
May13th, 2023
#GlobalAzure
#GlobalAzureAthens
#GlobalAzure
#GlobalAzureAthens
Dear Global Azure Athens
2023 sponsors,
your support made all the
difference — thank you!
➢ Infrastructure as Code (IaC)
• Infrastructure as Code (IaC) Tools
➢ Terraform
• What is Terraform?
• Terraform Deployment Tools
• Terraform Workflow
• Main Terraform Commands
• Terraform Benefits
• Terraform Terminology
• Architecture diagram
➢ How the Terraform code looks
➢ Demo
• What is Infrastructure as Code (IaC)
#GlobalAzure
#GlobalAzureAthens
Infrastructure as
Code (IaC)
#GlobalAzure
#GlobalAzureAthens
“ With infrastructure as code (IaC), infrastructure, such as
networks, virtual machines, load balancers, and connection
topologies, is defined and deployed using DevOps
methodologies and versioning. ”
Deploy  resources on Azure using IaC (Azure Terraform)
#GlobalAzure
#GlobalAzureAthens
Terraform
Terraform creates and manages resources on cloud platforms and other
services through their application programming Interfaces (APIs).
Providers enable Terraform to work with virtually any platform or service
with an accessible API.
Visual Studio Code
Azure PowerShell
Windows CMD
Bash
Windows Terminal
Azure Cloud Shell
Azure DevOps pipelines
Write
Define infrastructure in
configuration files
Plan
Review the changes Terraform
will make to your infrastructure
Apply
Terraform provisions
your infrastructure and
updates the state files
1000+
PROVIDERS
Write
Terraform configuration files define the
infrastructure resources to be created or
managed with Terraform.
Plan
The "terraform plan" command lets you
see how Terraform will modify your
infrastructure after it is initialized.
Apply
With "terraform apply", you can apply the
changes to your infrastructure once the
plan has been reviewed and approved.
terraform init
Main Terraform Commands
It downloads and installs any necessary plugins and modules to initialize a Terraform
working directory.
terraform plan
terraform apply
terraform validate
terraform destroy
>
>
>
>
>
This command, generates an execution plan showing what will happen when you apply
your configuration. In other words, it is a preview of the changes to your infrastructure
without having to make them.
It applies the changes to an infrastructure. Depending on the desired state, resources are
created, updated, or deleted.
It validates the terraform configuration files to check for any syntax errors.
This command, destroys the infrastructure resources managed by terraform.
Terraform Benefits
• Cloud platform agnostic
• Agentless
• Ease deployment
• Cost Estimation
It doesn’t require additional software. Nothing is needed to install. The
agentless approach in Terraform simplifies the infrastructure management
process, increases flexibility, improves security, and reduces costs.
Being agnostic cloud platform terraform means it can be used to manage
infrastructure resources across multiple cloud providers, such as Microsoft
Azure, Google Cloud, AWS, and others.
Organizations can deploy infrastructure resources faster, more efficiently, and
consistently while reducing errors and automating infrastructure deployments.
The cost estimation benefits of Terraform can help organizations better manage
their infrastructure spending, create more accurate budgets, optimize resource
usage, and choose the most cost-effective cloud provider for their needs.
Terraform Terminology
Resource: Resources are the most important element in the Terraform language. Each resource block describes one or
more infrastructure objects, such as virtual networks, compute instances, or higher-level components such as
DNS records.
Provider: A plugin that defines the APIs and resources available for a specific cloud platform or service. For Azure, the
provider is the "azurerm" provider.
Module: Modules are containers for multiple resources that are used together. A module consists of a collection of .tf
and/or .tf.json files kept together in a directory.
Input variable: Input variables let you customize aspects of Terraform modules without altering the module's own
source code.
Output variable: Output values make information about your infrastructure available on the command line and can
expose information for other Terraform configurations to use. Output values are similar to return values
in programming languages.
Data Source: Data sources allow Terraform to use information defined outside of Terraform, defined by another
separate Terraform configuration, or modified by functions.
State: Terraform must store state about your managed infrastructure and configuration. This state is used by
Terraform to map real world resources to your configuration, keep track of metadata, and to improve
performance for large infrastructures. This state is stored by default in a local file named "terraform.
Architecture Diagram
TF Configuration File (.tf)
Dev/IT Terraform Core Terraform Azure Provider
> terraform init
How the terraform code looks?
terraform{
required_providers {
azurerm = {
source = "hashicorp/azurerm"
}
}
}
provider "azurerm" {
features {}
}
resource "azurerm_resource_group" "{resource group}" {
name="{resource group}"
location = "westeurope"
}
resource "azurerm_storage_account" "{storage account}" {
name = "{storage account}"
resource_group_name = azurerm_resource_group.{resource group}.name
location = azurerm_resource_group.{resource group}.location
account_tier = "Standard"
account_replication_type = "LRS"
}
resource "azurerm_storage_container" "images" {
name = "images"
storage_account_name = azurerm_storage_account.{storage account}.name
container_access_type = "private"
}
#GlobalAzure
#GlobalAzureAthens
#GlobalAzure
#GlobalAzureAthens
• https://github.com/topics/terraform-cost-estimation
• https://developer.hashicorp.com/terraform/cloud-docs/cost-estimation/azure
• https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs
• https://github.com/hashicorp/terraform-provider-azurerm
• https://learn.microsoft.com/en-us/azure/developer/terraform/
#GlobalAzure
#GlobalAzureAthens
• Azure Batch Shipyard @
https://github.com/Azure/batch-shipyard
• Cognitive toolkit @ https://cntk.ai
• Learn more about Azure N-Series on Channel 9
• Re-visit Connect on Channel 9.
A big thank you to our
sponsors!
https://bit.ly/GA23Evaluation
Please evaluate !

More Related Content

What's hot (20)

PPTX
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
Simplilearn
 
PPT
presentation on Docker
Virendra Ruhela
 
PPTX
Getting started with Docker
Ravindu Fernando
 
PPTX
Introduction to Docker - 2017
Docker, Inc.
 
PDF
Introduction to docker
Instruqt
 
PPTX
Docker Basics
DuckDuckGo
 
PDF
Running Apache Spark on Kubernetes: Best Practices and Pitfalls
Databricks
 
PDF
Docker vs VM | | Containerization or Virtualization - The Differences | DevOp...
Edureka!
 
PDF
Terraform introduction
Jason Vance
 
PDF
Introduction to Docker - VIT Campus
Ajeet Singh Raina
 
PPTX
Docker.pptx
balaji257
 
PPTX
Docker intro
Oleg Z
 
PDF
Building infrastructure as code using Terraform - DevOps Krakow
Anton Babenko
 
PPTX
Docker introduction
dotCloud
 
PPT
Monitoring using Prometheus and Grafana
Arvind Kumar G.S
 
PPTX
Terraform
Phil Wilkins
 
PDF
Introduction to IAC and Terraform
Venkat NaveenKashyap Devulapally
 
PDF
Docker and Go: why did we decide to write Docker in Go?
Jérôme Petazzoni
 
PDF
Containers: The What, Why, and How
Sneha Inguva
 
PDF
Terraform
Marcelo Serpa
 
What Is A Docker Container? | Docker Container Tutorial For Beginners| Docker...
Simplilearn
 
presentation on Docker
Virendra Ruhela
 
Getting started with Docker
Ravindu Fernando
 
Introduction to Docker - 2017
Docker, Inc.
 
Introduction to docker
Instruqt
 
Docker Basics
DuckDuckGo
 
Running Apache Spark on Kubernetes: Best Practices and Pitfalls
Databricks
 
Docker vs VM | | Containerization or Virtualization - The Differences | DevOp...
Edureka!
 
Terraform introduction
Jason Vance
 
Introduction to Docker - VIT Campus
Ajeet Singh Raina
 
Docker.pptx
balaji257
 
Docker intro
Oleg Z
 
Building infrastructure as code using Terraform - DevOps Krakow
Anton Babenko
 
Docker introduction
dotCloud
 
Monitoring using Prometheus and Grafana
Arvind Kumar G.S
 
Terraform
Phil Wilkins
 
Introduction to IAC and Terraform
Venkat NaveenKashyap Devulapally
 
Docker and Go: why did we decide to write Docker in Go?
Jérôme Petazzoni
 
Containers: The What, Why, and How
Sneha Inguva
 
Terraform
Marcelo Serpa
 

Similar to Deploy resources on Azure using IaC (Azure Terraform) (20)

PDF
Terraform Definition, Working and Challenges it Overcomes
Eyeglass Repair USA
 
PPTX
Terraform Basics
Mohammed Fazuluddin
 
PPTX
Infrastructure as Code with Terraform.pptx
Samuel862293
 
PPTX
Linode_eBook_Declarative_Cloud_Infrastructure_Management_with_Terraform.pptx
AkwasiBoateng6
 
PPTX
Terraform Automation in Azure Cloud Online Training in Hyderabad.pptx
sivavisualpath
 
PDF
Azure Day Rome 2019 Reloaded - Effettuare il provisioning su Azure utilizzand...
azuredayit
 
PDF
Provisioning with Terraform - AzureDay Reloaded
Giorgio Lasala
 
PPTX
Terraform Automation in Azure Online Training Institute in Hyderabad.pptx
sivavisualpath
 
PDF
What is the Benefit of Using Terraform?
Ravendra Singh
 
PDF
Why Learn Terraform?
Ravendra Singh
 
PDF
DevOps Online Training
Visualpath Training
 
PDF
Infrastructure as Code for Azure: ARM or Terraform?
Katherine Golovinova
 
PDF
Terraform Interview Questions By Scholarhat.pdf
Scholarhat
 
PPTX
A brief introduction to IaC with Terraform by Kenton Robbins (codeHarbour May...
Alex Cachia
 
PDF
Terraform vs Kubernetes, Key Differences and Comparison.pdf
EIT Academy
 
PPTX
Terraform vs Kubernetes, Key Differences and Comparison.pptx
EIT Academy
 
PDF
What are the Benefits of Using Terraform?
Ravendra Singh
 
PPTX
Terraform
Harish Kumar
 
PPTX
Terraform
An Nguyen
 
PDF
Configuration management II - Terraform
Xavier Serrat Bordas
 
Terraform Definition, Working and Challenges it Overcomes
Eyeglass Repair USA
 
Terraform Basics
Mohammed Fazuluddin
 
Infrastructure as Code with Terraform.pptx
Samuel862293
 
Linode_eBook_Declarative_Cloud_Infrastructure_Management_with_Terraform.pptx
AkwasiBoateng6
 
Terraform Automation in Azure Cloud Online Training in Hyderabad.pptx
sivavisualpath
 
Azure Day Rome 2019 Reloaded - Effettuare il provisioning su Azure utilizzand...
azuredayit
 
Provisioning with Terraform - AzureDay Reloaded
Giorgio Lasala
 
Terraform Automation in Azure Online Training Institute in Hyderabad.pptx
sivavisualpath
 
What is the Benefit of Using Terraform?
Ravendra Singh
 
Why Learn Terraform?
Ravendra Singh
 
DevOps Online Training
Visualpath Training
 
Infrastructure as Code for Azure: ARM or Terraform?
Katherine Golovinova
 
Terraform Interview Questions By Scholarhat.pdf
Scholarhat
 
A brief introduction to IaC with Terraform by Kenton Robbins (codeHarbour May...
Alex Cachia
 
Terraform vs Kubernetes, Key Differences and Comparison.pdf
EIT Academy
 
Terraform vs Kubernetes, Key Differences and Comparison.pptx
EIT Academy
 
What are the Benefits of Using Terraform?
Ravendra Singh
 
Terraform
Harish Kumar
 
Terraform
An Nguyen
 
Configuration management II - Terraform
Xavier Serrat Bordas
 
Ad

More from George Grammatikos (7)

PDF
Land your data safely and accurately with Power Platform and Azure.pdf
George Grammatikos
 
PDF
Working with MS Endpoint Manager
George Grammatikos
 
PDF
IT PRO | Connections 2020 : Introduction to Logic Apps and automation solutio...
George Grammatikos
 
PPTX
Intro to Azure Service Bus
George Grammatikos
 
PPTX
Introduction to Azure logic apps
George Grammatikos
 
PPTX
Azure Batch Service Meetup Presentation
George Grammatikos
 
PDF
SQL or NoSQL, is this the question? - George Grammatikos
George Grammatikos
 
Land your data safely and accurately with Power Platform and Azure.pdf
George Grammatikos
 
Working with MS Endpoint Manager
George Grammatikos
 
IT PRO | Connections 2020 : Introduction to Logic Apps and automation solutio...
George Grammatikos
 
Intro to Azure Service Bus
George Grammatikos
 
Introduction to Azure logic apps
George Grammatikos
 
Azure Batch Service Meetup Presentation
George Grammatikos
 
SQL or NoSQL, is this the question? - George Grammatikos
George Grammatikos
 
Ad

Recently uploaded (20)

PDF
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
PDF
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
PDF
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
PPTX
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
PDF
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
PDF
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
PDF
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
PDF
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
PDF
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
PDF
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
PDF
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
PDF
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
PDF
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
PDF
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
PDF
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
PDF
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
PDF
Timothy Rottach - Ramp up on AI Use Cases, from Vector Search to AI Agents wi...
AWS Chicago
 
PPTX
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
PPTX
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
PDF
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 
HubSpot Main Hub: A Unified Growth Platform
Jaswinder Singh
 
SWEBOK Guide and Software Services Engineering Education
Hironori Washizaki
 
Reverse Engineering of Security Products: Developing an Advanced Microsoft De...
nwbxhhcyjv
 
OpenID AuthZEN - Analyst Briefing July 2025
David Brossard
 
New from BookNet Canada for 2025: BNC BiblioShare - Tech Forum 2025
BookNet Canada
 
CIFDAQ Token Spotlight for 9th July 2025
CIFDAQ
 
Fl Studio 24.2.2 Build 4597 Crack for Windows Free Download 2025
faizk77g
 
Smart Trailers 2025 Update with History and Overview
Paul Menig
 
LLMs.txt: Easily Control How AI Crawls Your Site
Keploy
 
Building Real-Time Digital Twins with IBM Maximo & ArcGIS Indoors
Safe Software
 
Achieving Consistent and Reliable AI Code Generation - Medusa AI
medusaaico
 
Newgen Beyond Frankenstein_Build vs Buy_Digital_version.pdf
darshakparmar
 
Newgen 2022-Forrester Newgen TEI_13 05 2022-The-Total-Economic-Impact-Newgen-...
darshakparmar
 
CIFDAQ Market Insights for July 7th 2025
CIFDAQ
 
"Beyond English: Navigating the Challenges of Building a Ukrainian-language R...
Fwdays
 
[Newgen] NewgenONE Marvin Brochure 1.pdf
darshakparmar
 
Timothy Rottach - Ramp up on AI Use Cases, from Vector Search to AI Agents wi...
AWS Chicago
 
Building Search Using OpenSearch: Limitations and Workarounds
Sease
 
Q2 FY26 Tableau User Group Leader Quarterly Call
lward7
 
Agentic AI lifecycle for Enterprise Hyper-Automation
Debmalya Biswas
 

Deploy resources on Azure using IaC (Azure Terraform)

  • 4. Dear Global Azure Athens 2023 sponsors, your support made all the difference — thank you!
  • 5. ➢ Infrastructure as Code (IaC) • Infrastructure as Code (IaC) Tools ➢ Terraform • What is Terraform? • Terraform Deployment Tools • Terraform Workflow • Main Terraform Commands • Terraform Benefits • Terraform Terminology • Architecture diagram ➢ How the Terraform code looks ➢ Demo • What is Infrastructure as Code (IaC)
  • 7. #GlobalAzure #GlobalAzureAthens “ With infrastructure as code (IaC), infrastructure, such as networks, virtual machines, load balancers, and connection topologies, is defined and deployed using DevOps methodologies and versioning. ”
  • 10. Terraform creates and manages resources on cloud platforms and other services through their application programming Interfaces (APIs). Providers enable Terraform to work with virtually any platform or service with an accessible API.
  • 11. Visual Studio Code Azure PowerShell Windows CMD Bash Windows Terminal Azure Cloud Shell Azure DevOps pipelines
  • 12. Write Define infrastructure in configuration files Plan Review the changes Terraform will make to your infrastructure Apply Terraform provisions your infrastructure and updates the state files 1000+ PROVIDERS Write Terraform configuration files define the infrastructure resources to be created or managed with Terraform. Plan The "terraform plan" command lets you see how Terraform will modify your infrastructure after it is initialized. Apply With "terraform apply", you can apply the changes to your infrastructure once the plan has been reviewed and approved.
  • 13. terraform init Main Terraform Commands It downloads and installs any necessary plugins and modules to initialize a Terraform working directory. terraform plan terraform apply terraform validate terraform destroy > > > > > This command, generates an execution plan showing what will happen when you apply your configuration. In other words, it is a preview of the changes to your infrastructure without having to make them. It applies the changes to an infrastructure. Depending on the desired state, resources are created, updated, or deleted. It validates the terraform configuration files to check for any syntax errors. This command, destroys the infrastructure resources managed by terraform.
  • 14. Terraform Benefits • Cloud platform agnostic • Agentless • Ease deployment • Cost Estimation It doesn’t require additional software. Nothing is needed to install. The agentless approach in Terraform simplifies the infrastructure management process, increases flexibility, improves security, and reduces costs. Being agnostic cloud platform terraform means it can be used to manage infrastructure resources across multiple cloud providers, such as Microsoft Azure, Google Cloud, AWS, and others. Organizations can deploy infrastructure resources faster, more efficiently, and consistently while reducing errors and automating infrastructure deployments. The cost estimation benefits of Terraform can help organizations better manage their infrastructure spending, create more accurate budgets, optimize resource usage, and choose the most cost-effective cloud provider for their needs.
  • 15. Terraform Terminology Resource: Resources are the most important element in the Terraform language. Each resource block describes one or more infrastructure objects, such as virtual networks, compute instances, or higher-level components such as DNS records. Provider: A plugin that defines the APIs and resources available for a specific cloud platform or service. For Azure, the provider is the "azurerm" provider. Module: Modules are containers for multiple resources that are used together. A module consists of a collection of .tf and/or .tf.json files kept together in a directory. Input variable: Input variables let you customize aspects of Terraform modules without altering the module's own source code. Output variable: Output values make information about your infrastructure available on the command line and can expose information for other Terraform configurations to use. Output values are similar to return values in programming languages. Data Source: Data sources allow Terraform to use information defined outside of Terraform, defined by another separate Terraform configuration, or modified by functions. State: Terraform must store state about your managed infrastructure and configuration. This state is used by Terraform to map real world resources to your configuration, keep track of metadata, and to improve performance for large infrastructures. This state is stored by default in a local file named "terraform.
  • 16. Architecture Diagram TF Configuration File (.tf) Dev/IT Terraform Core Terraform Azure Provider > terraform init
  • 17. How the terraform code looks? terraform{ required_providers { azurerm = { source = "hashicorp/azurerm" } } } provider "azurerm" { features {} } resource "azurerm_resource_group" "{resource group}" { name="{resource group}" location = "westeurope" } resource "azurerm_storage_account" "{storage account}" { name = "{storage account}" resource_group_name = azurerm_resource_group.{resource group}.name location = azurerm_resource_group.{resource group}.location account_tier = "Standard" account_replication_type = "LRS" } resource "azurerm_storage_container" "images" { name = "images" storage_account_name = azurerm_storage_account.{storage account}.name container_access_type = "private" }
  • 19. #GlobalAzure #GlobalAzureAthens • https://github.com/topics/terraform-cost-estimation • https://developer.hashicorp.com/terraform/cloud-docs/cost-estimation/azure • https://registry.terraform.io/providers/hashicorp/azurerm/latest/docs • https://github.com/hashicorp/terraform-provider-azurerm • https://learn.microsoft.com/en-us/azure/developer/terraform/
  • 21. • Azure Batch Shipyard @ https://github.com/Azure/batch-shipyard • Cognitive toolkit @ https://cntk.ai • Learn more about Azure N-Series on Channel 9 • Re-visit Connect on Channel 9.
  • 22. A big thank you to our sponsors! https://bit.ly/GA23Evaluation Please evaluate !