4. What is
Terraform
Developed in 2014 by Hashicorp
(http://Terraform.io)
Infrastructure as configuration
Build change and version control
infrastructure
Talk to multiple cloud and infrastructure
providers
5. Features/Process
Apply incremental changes as you develop
solution
Test and preview your infrastructure changes
Destroy and rebuild as required
Abstract the vendor API from your definition
State file manages the state of your changes
8. Why do I care for Azure Serverless Solutions
ARM deployments are a Pain
Often lots of Azure Resources to setup
Abstracts complexity
Deploy deltas rather than remove and replace
Consistent & repeatable deployment of resources
15. Azure DevOps
Dev Ops Build Pipeline
DevOps Release Pipeline
Build Artifact
Azure Resource Group
For TEST
Azure Resource Group
For PROD
Test Environment Production Environment
19. Workarounds
& Pain Points
• Azure DevOps Tasks – Does it work properly?
• Local - Remote State works but do I need it?
• DevOps – OOTB Tasks = Remote state
doesn’t seem to work properly
• Upload / Download State file
• Terraform
• Local – Az Login interactive
• DevOps – Set the client principal to pipeline
variables
21. Thoughts
• Terraform isn’t perfect but is maturing
• It simplifies a lot of things once you get it all up and
running
• Find balance between using Terraform vs other
approaches
• EG: SQL Scripts or Function Deploy
• How do I slice and dice my builds/releases
• More Info - https://www.integration-
playbook.io/docs/overview-terraform-and-azure-
paas