hands-on lab

Use Terraform to Deploy an Azure Function App

Up to 1h
Get guided in a real environmentPractice with a step-by-step scenario in a real, provisioned environment.
Learn and validateUse validations to check your solutions every step of the way.
See resultsTrack your knowledge and monitor your progress.


Terraform is an infrastructure automation tool that allows companies to manage infrastructure through code. This provides many benefits such as greater recovery, predictability, and speed. Infrastructure as code is quickly becoming a standard for managing cloud resources and is widely practiced among the top high performing companies.

In this lab, you'll learn how to use Terraform to provision an Azure Function App which retrieves the current Bitcoin currency exchange rate from CoinDesk. During this lab, you'll be shown how to work with Azure Functions Core Tools, which when installed, provides you with the ability to setup a local development experience for creating and testing Azure Functions locally. You'll finish the lab by using Terraform to publish the locally developed function into an Azure hosted Function App.

Learning Objectives

Upon completion of this intermediate level lab, you'll be able to:

  • Use Terraform to init, plan, and apply Azure infrastructure
  • Use Azure Functions Core Tools to create a local development experience for creating and testing Azure Functions
  • Build and publish an Azure Function App complete with Python3 based functions

Intended Audience

  • Anyone interested in learning how to use Terraform to provision Azure infrastructure
  • Cloud Architects
  • DevOps Engineers


Familiarity with the following will be beneficial but is not required:

  • Basic understanding of Azure
  • Basic understanding of Terraform

The following content can be used to fulfill the prerequisite:

Environment before

Environment after

About the author

Jeremy Cook, opens in a new tab
Solutions Architect Director
Learning paths

Jeremy is a Content Lead Architect and DevOps SME here at Cloud Academy where he specializes in developing DevOps technical training documentation.

He has a strong background in software engineering, and has been coding with various languages, frameworks, and systems for the past 25+ years. In recent times, Jeremy has been focused on DevOps, Cloud (AWS, Azure, GCP), Security, Kubernetes, and Machine Learning.

Jeremy holds professional certifications for AWS, Azure, GCP, Terraform, Kubernetes (CKA, CKAD, CKS), GitHub.

Covered topics

Lab steps

Access the CloudAcademy IDE
Create a Terraform template to provision an Azure Function App
Create and Publish Python based Functions