Decole Technologies
Cloud

Cloud

Unleashing the Full Potential of Azure App Service with Terraform

Unlock the Power of Azure App Service Plan: Step-by-Step Guide to Configuring with Terraform

Are you struggling with slow app performance and downtime issues? Look no further than Azure App Service Plan! By configuring your app service plan with Terraform, you can easily optimize your app’s performance and scalability to meet the needs of your growing user base.

With Azure App Service Plan, you can easily create and manage scalable web apps that run in a fully managed environment. And the best part? You can configure it using Terraform, making it easier than ever to automate your infrastructure.

Here’s how to configure your Azure App Service Plan with Terraform and take advantage of the powerful autoscaling feature using azurerm_monitor_autoscale_setting.

Step 1: Create an Azure App Service Plan Resource

To get started, you need to create an Azure App Service Plan resource. Here’s the Terraform code to do so:

resource "azurerm_app_service_plan" "example" {
  name                = "example-app-service-plan"
  location            = "westus"
  resource_group_name = "example-resource-group"
  kind                = "Linux"
  reserved = true    

  sku {
    tier = "Standard"
    size = "S1"
  }
}

This code creates an Azure App Service Plan resource in the “westus” location, with the name “example-app-service-plan” and the “Standard” SKU size of “S1”. It also sets the “reserved” property to true, which will save you money by providing a discount on the resource cost.

Step 2: Create an Azure Web App Resource

Now that you’ve created your Azure App Service Plan resource, you can create an Azure Web App resource that will use it. Here’s the Terraform code to do so:

resource "azurerm_app_service" "example" {
  name                = "example-web-app"
  location            = "${azurerm_app_service_plan.example.location}"
  resource_group_name = "${azurerm_app_service_plan.example.resource_group_name}"
  app_service_plan_id  = "${azurerm_app_service_plan.example.id}"
    
  site_config {
    linux_fx_version = "DOCKER|docker-image-name:tag"
  }
}

This code creates an Azure Web App resource that uses the Azure App Service Plan resource you created in Step 1. It also sets the “linux_fx_version” property to specify the Docker image and tag you want to use for your web app.

Step 3: Configure Autoscaling

Now, let’s take advantage of the powerful autoscaling feature in Azure App Service Plan using azurerm_monitor_autoscale_setting. Here’s the Terraform code to do so:

resource "azurerm_monitor_autoscale_setting" "example" {
  name                = "example-autoscale"
  resource_group_name = "${azurerm_app_service_plan.example.resource_group_name}"
  target_resource_id  = "${azurerm_app_service_plan.example.id}"
    profile {
    default_capacity {
      minimum = 1
      maximum = 10
      default = 1
    }
     
    rule {
      metric_trigger {
        metric_name        = "CpuPercentage"
        metric_resource_id = "${azurerm_app_service_plan.example.id}"
        time_grain         = "PT1M"
        statistic          = "Average"
        time_window        = "PT5M"
        operator           = "GreaterThan"
        threshold          = 70
      }
      
      scale_action {
        direction         = "Increase"
        type              = "ChangeCount"
        value             = 1
        cooldown          = "PT5M"
      }
    }
  }
}

This Terraform code creates an autoscale setting that monitors the CPU usage of your Azure App Service Plan resource and automatically scales up the capacity when the CPU usage exceeds 70%. It also sets the minimum and maximum capacity to 1 and 10, respectively, and the default capacity to 1.

With this autoscale setting, you can ensure that your web app has the resources it needs to handle high traffic while saving money by scaling down when the traffic decreases.

Conclusion

By following these simple steps, you can easily configure your Azure App Service Plan resource using Terraform and take advantage of the powerful autoscaling feature with azurerm_monitor_autoscale_setting. With Azure App Service Plan, you can ensure optimal performance for your web apps while saving money on resource costs. So, what are you waiting for? Try it out today!

Ready to get
started?
Request a demo or talk to our technical team to answer your questions.
© 2018 - 2025 Decole Technologies. All rights reserved.

By using this website, you understand the information being presented is provided for informational purposes only and agree to our Terms of Use and Privacy Policy.