Announcing General Availability of Azure Spring Cloud in the Terraform Azure Provider

Published May 30 2021 07:41 PM 2,486 Views
Microsoft

Today we are pleased to announce the general availability of Azure Spring Cloud support in the Terraform Azure Provider. Azure Spring Cloud is a platform for deploying and managing Spring Boot and Spring Cloud-powered services and software built on Microsoft Azure. It is a fully managed microservice development with built-in service discovery and configuration management, jointly built, operated, and supported by Microsoft and VMware.

Additional information about this service can be found within this blog post from Josh Long, and the Azure Spring Cloud documentation.

 

Why use it

Terraform is one of the most popular configuration orchestration tool providing a consistent syntax and structure across cloud platforms. It allows safe and convenient design, management and improvement for infrastructure as code. If you are working in a relatively small team and running DevOps on your own, you can embed Terraform script in your CI/CD pipeline like GitHub Actions to manage everything as code from provision and config cloud resource to build, test and deploy app on it. If you are working in an enterprise with dedicated infrastructure team, you might have that infrastructure team provisioning virtual networks, databases and compute resource with Terraform, so that app team can focus on business logic and deploy their code with CI/CD pipeline.

From the day one of Azure Spring Cloud we have heard from many of our customers that Terraform is essential for them to go production. Azure team at Microsoft and the Terraform team at HashiCorp has been working together polishing this support since we added the first resource one year ago. It's now covering almost everything about Azure Spring Cloud including lifecycle management, VNet Injection and integration with some other Azure services. 

 

How To Get Started

We encourage you to try out this support and use it in production like many of our top customers already doing. In order to use Azure Spring Cloud in the Terraform Azure provider, you will need:

To get an App up and running in Azure Spring Cloud you will need to employ a few new resources like shown in below examples:

  • azurerm_resource_group as a container that holds all related resources for this Azure solution
  • azurerm_spring_cloud_service to provision a service instance with Config Server settings
  • azurerm_spring_cloud_app to provision an app with HTTPS only public endpoint and AAD Managed Identity enabled
  • azurerm_spring_cloud_java_deployment to provision a deployment running 2 instances with 2 vCPU cores and 4GB memory 
  • azurerm_spring_cloud_active_deployment to activate the deployment so that it will start receiving traffics coming to the app

 

provider "azurerm" {
  features {}
}

resource "azurerm_resource_group" "example" {
  name     = "example-resources"
  location = "West Europe"
}

resource "azurerm_spring_cloud_service" "example" {
  name                = "example-springcloud"
  resource_group_name = azurerm_resource_group.example.name
  location            = azurerm_resource_group.example.location

  config_server_git_setting {
    uri          = "https://github.com/azure-samples/spring-petclinic-microservices-config"
    label        = "master"
    search_paths = ["."]
  }
}

resource "azurerm_spring_cloud_app" "example" {
  name                = "example-springcloudapp"
  resource_group_name = azurerm_resource_group.example.name
  service_name        = azurerm_spring_cloud_service.example.name
  is_public           = true
  https_only          = true

  identity {
    type = "SystemAssigned"
  }
}

resource "azurerm_spring_cloud_java_deployment" "example" {
  name                = "default"
  spring_cloud_app_id = azurerm_spring_cloud_app.example.id
  cpu                 = 2
  memory_in_gb        = 4
  instance_count      = 2
  jvm_options         = "-XX:+PrintGC"
  runtime_version     = "Java_11"

  environment_variables = {
    "Env" : "Staging"
  }
}

resource "azurerm_spring_cloud_active_deployment" "example" {
  spring_cloud_app_id = azurerm_spring_cloud_app.example.id
  deployment_name     = azurerm_spring_cloud_java_deployment.example.name
}

 

Start from here you can easily empower your Azure Spring Cloud apps with various enterprise ready Azure services. For example, below configurations streams all the system logs and metrics to an Azure Storage account for further visualization and analysis.

 

resource "azurerm_storage_account" "example" {
  name                     = "examplestorage"
  resource_group_name      = azurerm_resource_group.example.name
  location                 = azurerm_resource_group.example.location
  account_tier             = "Standard"
  account_replication_type = "GRS"
}

resource "azurerm_monitor_diagnostic_setting" "example" {
  name               = "example-monitor-setting"
  target_resource_id = azurerm_spring_cloud_service.example.id
  storage_account_id = azurerm_storage_account.example.id

  log {
    category = "SystemLogs"
    enabled  = true

    retention_policy {
      enabled = false
    }
  }

  metric {
    category = "AllMetrics"

    retention_policy {
      enabled = false
    }
  }
}

 

As another most used scenario, below Azure Monitor configurations enable Auto-scale-out for the deployment. The instance number will be automatically increased whenever the average CPU consumption is greater than 75%.

 

resource "azurerm_spring_cloud_active_deployment" "example" {
  spring_cloud_app_id = azurerm_spring_cloud_app.example.id
  deployment_name     = azurerm_spring_cloud_java_deployment.example.name
}

resource "azurerm_monitor_autoscale_setting" "test" {
  name                = "acctestautoscale-cz"
  resource_group_name = azurerm_resource_group.example.name
  location            = azurerm_resource_group.example.location
  target_resource_id  = azurerm_spring_cloud_java_deployment.example.id
  enabled             = true
  profile {
    name = "metricRules"
    capacity {
      default = 2
      minimum = 2
      maximum = 6
    }
    rule {
      metric_trigger {
        dimensions {
          name     = "AppName"
          operator = "Equals"
          values   = [azurerm_spring_cloud_app.example.name]
        }

        dimensions {
          name     = "Deployment"
          operator = "Equals"
          values   = [azurerm_spring_cloud_java_deployment.example.name]
        }

        metric_name        = "AppCpuUsage"
        metric_namespace   = "microsoft.appplatform/spring"
        metric_resource_id = azurerm_spring_cloud_service.example.id
        time_grain         = "PT1M"
        statistic          = "Average"
        time_window        = "PT5M"
        time_aggregation   = "Average"
        operator           = "GreaterThan"
        threshold          = 75
      }
      scale_action {
        direction = "Increase"
        type      = "ChangeCount"
        value     = 1
        cooldown  = "PT1M"
      }
    }
  }
}

 

Further Information

For more information on how to use Azure Spring Cloud features in Terraform, check out the provider documentation in the Terraform Registry. If you experience any issues, please report them on the Terraform Azure provider issue tracker. We would love to hear your feedback!

%3CLINGO-SUB%20id%3D%22lingo-sub-2399222%22%20slang%3D%22en-US%22%3EAnnouncing%20General%20Availability%20of%20Azure%20Spring%20Cloud%20in%20the%20Terraform%20Azure%20Provider%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2399222%22%20slang%3D%22en-US%22%3E%3CP%3E%3CSPAN%3EToday%20we%20are%20pleased%20to%20announce%20the%20general%20availability%20of%26nbsp%3BAzure%20Spring%20Cloud%20support%20in%20the%20Terraform%20Azure%20Provider.%26nbsp%3BAzure%20Spring%20Cloud%20is%20a%20platform%20for%20deploying%20and%20managing%20Spring%20Boot%20and%20Spring%20Cloud-powered%20services%20and%20software%20built%20on%20Microsoft%20Azure.%20It%20is%20a%20fully%20managed%20microservice%20development%20with%20built-in%20service%20discovery%20and%20configuration%20management%2C%20jointly%20built%2C%20operated%2C%20and%20supported%20by%20Microsoft%20and%20VMware.%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3EAdditional%20information%20about%20this%20service%20can%20be%20found%20within%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CA%20href%3D%22https%3A%2F%2Fspring.io%2Fblog%2F2020%2F09%2F02%2Fhello-azure-spring-cloud%22%20target%3D%22_self%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ethis%20blog%20post%3C%2FA%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Efrom%20Josh%20Long%2C%20and%20the%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CA%20href%3D%22https%3A%2F%2Fdocs.microsoft.com%2Fazure%2Fspring-cloud%2F%22%20target%3D%22_self%22%20rel%3D%22noopener%20noreferrer%22%3EAzure%20Spring%20Cloud%20documentation%3C%2FA%3E.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CH2%20id%3D%22toc-hId--463115938%22%20id%3D%22toc-hId--463115910%22%3EWhy%20use%20it%3C%2FH2%3E%0A%3CP%3E%3CSPAN%3ETerraform%26nbsp%3Bis%20one%20of%20the%20most%20popular%20configuration%20orchestration%20tool%20providing%20a%20consistent%20syntax%20and%20structure%20across%20cloud%20platforms.%20It%20allows%20safe%20and%20convenient%20design%2C%20management%20and%20improvement%20for%20infrastructure%20as%20code.%20If%20you%20are%20working%20in%20a%20relatively%20small%20team%20and%20running%20DevOps%20on%20your%20own%2C%20you%20can%20embed%20Terraform%20script%20in%20your%20CI%2FCD%20pipeline%20like%20GitHub%20Actions%20to%20manage%20everything%26nbsp%3Bas%20code%20from%20provision%20and%20config%20cloud%20resource%20to%20build%2C%20test%20and%20deploy%20app%20on%20it.%20If%20you%20are%20working%20in%20an%20enterprise%20with%20dedicated%20infrastructure%20team%2C%20you%20might%20have%20that%20infrastructure%20team%20provisioning%20virtual%20networks%2C%20databases%20and%20compute%20resource%20with%20Terraform%2C%20so%20that%20app%20team%20can%20focus%20on%20business%26nbsp%3Blogic%20and%20deploy%20their%20code%20with%20CI%2FCD%20pipeline.%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%3CSPAN%3EFrom%20the%20day%20one%20of%20Azure%20Spring%20Cloud%20we%20have%20heard%20from%20many%20of%20our%20customers%20that%20Terraform%20is%20essential%20for%20them%20to%20go%20production.%20Azure%20team%20at%20Microsoft%20and%20the%20Terraform%20team%20at%20HashiCorp%20has%20been%20working%20together%20polishing%20this%20support%20since%20we%20added%20the%20first%20resource%20one%20year%20ago.%20It's%20now%20covering%20almost%20everything%20about%20Azure%20Spring%20Cloud%20including%20lifecycle%20management%2C%20VNet%20Injection%20and%20integration%20with%20some%20other%20Azure%20services.%26nbsp%3B%3C%2FSPAN%3E%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CH2%20id%3D%22toc-hId-2024396895%22%20id%3D%22toc-hId-2024396923%22%3EHow%20To%20Get%20Started%3C%2FH2%3E%0A%3CP%3EWe%20encourage%20you%20to%20try%20out%20this%20support%20and%20use%20it%20in%20production%20like%20many%20of%20our%20top%20customers%20already%20doing.%20In%20order%20to%20use%20Azure%20Spring%20Cloud%20in%20the%20Terraform%20Azure%20provider%2C%20you%20will%20need%3A%3C%2FP%3E%0A%3CUL%3E%0A%3CLI%3ETerraform%20v0.12%20or%20greater%20installed%3C%2FLI%3E%0A%3CLI%3E%3CSPAN%3EThe%20latest%20version%3C%2FSPAN%3E%26nbsp%3Bof%20the%20%3CA%20href%3D%22https%3A%2F%2Fregistry.terraform.io%2Fproviders%2Fhashicorp%2Fazurerm%2Flatest%22%20target%3D%22_self%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3ETerraform%20Azure%20provider%3C%2FA%3E%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3CP%3ETo%20get%20an%20App%20up%20and%20running%20in%20Azure%20Spring%20Cloud%20you%20will%20need%20to%26nbsp%3Bemploy%20a%20few%20new%20resources%20like%20shown%20in%20below%20examples%3A%3C%2FP%3E%0A%3CUL%3E%0A%3CLI%3E%3CSTRONG%3Eazurerm_resource_group%20%3C%2FSTRONG%3Eas%26nbsp%3Ba%20container%20that%20holds%20all%20related%20resources%20for%20this%20Azure%20solution%3C%2FLI%3E%0A%3CLI%3E%3CSTRONG%3Eazurerm_spring_cloud_service%20%3C%2FSTRONG%3Eto%20provision%20a%20service%20instance%20with%20Config%20Server%20settings%3C%2FLI%3E%0A%3CLI%3E%3CSTRONG%3Eazurerm_spring_cloud_app%20%3C%2FSTRONG%3Eto%20provision%20an%20app%20with%20HTTPS%20only%20public%20endpoint%20and%20AAD%20Managed%20Identity%20enabled%3C%2FLI%3E%0A%3CLI%3E%3CSTRONG%3Eazurerm_spring_cloud_java_deployment%20%3C%2FSTRONG%3Eto%20provision%20a%20deployment%20running%202%20instances%20with%202%20vCPU%20cores%20and%204GB%20memory%26nbsp%3B%3C%2FLI%3E%0A%3CLI%3E%3CSTRONG%3Eazurerm_spring_cloud_active_deployment%20%3C%2FSTRONG%3Eto%20activate%20the%20deployment%20so%20that%20it%20will%20start%20receiving%20traffics%20coming%20to%20the%20app%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CPRE%20class%3D%22lia-code-sample%20language-basic%22%3E%3CCODE%3Eprovider%20%22azurerm%22%20%7B%0A%20%20features%20%7B%7D%0A%7D%0A%0Aresource%20%22azurerm_resource_group%22%20%22example%22%20%7B%0A%20%20name%20%20%20%20%20%3D%20%22example-resources%22%0A%20%20location%20%3D%20%22West%20Europe%22%0A%7D%0A%0Aresource%20%22azurerm_spring_cloud_service%22%20%22example%22%20%7B%0A%20%20name%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3D%20%22example-springcloud%22%0A%20%20resource_group_name%20%3D%20azurerm_resource_group.example.name%0A%20%20location%20%20%20%20%20%20%20%20%20%20%20%20%3D%20azurerm_resource_group.example.location%0A%0A%20%20config_server_git_setting%20%7B%0A%20%20%20%20uri%20%20%20%20%20%20%20%20%20%20%3D%20%22https%3A%2F%2Fgithub.com%2Fazure-samples%2Fspring-petclinic-microservices-config%22%0A%20%20%20%20label%20%20%20%20%20%20%20%20%3D%20%22master%22%0A%20%20%20%20search_paths%20%3D%20%5B%22.%22%5D%0A%20%20%7D%0A%7D%0A%0Aresource%20%22azurerm_spring_cloud_app%22%20%22example%22%20%7B%0A%20%20name%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3D%20%22example-springcloudapp%22%0A%20%20resource_group_name%20%3D%20azurerm_resource_group.example.name%0A%20%20service_name%20%20%20%20%20%20%20%20%3D%20azurerm_spring_cloud_service.example.name%0A%20%20is_public%20%20%20%20%20%20%20%20%20%20%20%3D%20true%0A%20%20https_only%20%20%20%20%20%20%20%20%20%20%3D%20true%0A%0A%20%20identity%20%7B%0A%20%20%20%20type%20%3D%20%22SystemAssigned%22%0A%20%20%7D%0A%7D%0A%0Aresource%20%22azurerm_spring_cloud_java_deployment%22%20%22example%22%20%7B%0A%20%20name%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3D%20%22default%22%0A%20%20spring_cloud_app_id%20%3D%20azurerm_spring_cloud_app.example.id%0A%20%20cpu%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3D%202%0A%20%20memory_in_gb%20%20%20%20%20%20%20%20%3D%204%0A%20%20instance_count%20%20%20%20%20%20%3D%202%0A%20%20jvm_options%20%20%20%20%20%20%20%20%20%3D%20%22-XX%3A%2BPrintGC%22%0A%20%20runtime_version%20%20%20%20%20%3D%20%22Java_11%22%0A%0A%20%20environment_variables%20%3D%20%7B%0A%20%20%20%20%22Env%22%20%3A%20%22Staging%22%0A%20%20%7D%0A%7D%0A%0Aresource%20%22azurerm_spring_cloud_active_deployment%22%20%22example%22%20%7B%0A%20%20spring_cloud_app_id%20%3D%20azurerm_spring_cloud_app.example.id%0A%20%20deployment_name%20%20%20%20%20%3D%20azurerm_spring_cloud_java_deployment.example.name%0A%7D%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EStart%20from%20here%20you%20can%20easily%20empower%20your%20Azure%20Spring%20Cloud%20apps%20with%20various%20enterprise%20ready%20Azure%20services.%20For%20example%2C%20below%20configurations%20streams%20all%20the%20system%20logs%20and%20metrics%20to%20an%20Azure%20Storage%20account%20for%20further%20visualization%20and%20analysis.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CPRE%20class%3D%22lia-code-sample%20language-basic%22%3E%3CCODE%3Eresource%20%22azurerm_storage_account%22%20%22example%22%20%7B%0A%20%20name%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3D%20%22examplestorage%22%0A%20%20resource_group_name%20%20%20%20%20%20%3D%20azurerm_resource_group.example.name%0A%20%20location%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3D%20azurerm_resource_group.example.location%0A%20%20account_tier%20%20%20%20%20%20%20%20%20%20%20%20%20%3D%20%22Standard%22%0A%20%20account_replication_type%20%3D%20%22GRS%22%0A%7D%0A%0Aresource%20%22azurerm_monitor_diagnostic_setting%22%20%22example%22%20%7B%0A%20%20name%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3D%20%22example-monitor-setting%22%0A%20%20target_resource_id%20%3D%20azurerm_spring_cloud_service.example.id%0A%20%20storage_account_id%20%3D%20azurerm_storage_account.example.id%0A%0A%20%20log%20%7B%0A%20%20%20%20category%20%3D%20%22SystemLogs%22%0A%20%20%20%20enabled%20%20%3D%20true%0A%0A%20%20%20%20retention_policy%20%7B%0A%20%20%20%20%20%20enabled%20%3D%20false%0A%20%20%20%20%7D%0A%20%20%7D%0A%0A%20%20metric%20%7B%0A%20%20%20%20category%20%3D%20%22AllMetrics%22%0A%0A%20%20%20%20retention_policy%20%7B%0A%20%20%20%20%20%20enabled%20%3D%20false%0A%20%20%20%20%7D%0A%20%20%7D%0A%7D%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CP%3EAs%20another%20most%20used%20scenario%2C%20below%20Azure%20Monitor%20configurations%20enable%20Auto-scale-out%20for%20the%20deployment.%20The%20instance%20number%20will%20be%20automatically%20increased%20whenever%20the%20average%20CPU%20consumption%20is%20greater%20than%2075%25.%3C%2FP%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CPRE%20class%3D%22lia-code-sample%20language-basic%22%3E%3CCODE%3Eresource%20%22azurerm_spring_cloud_active_deployment%22%20%22example%22%20%7B%0A%20%20spring_cloud_app_id%20%3D%20azurerm_spring_cloud_app.example.id%0A%20%20deployment_name%20%20%20%20%20%3D%20azurerm_spring_cloud_java_deployment.example.name%0A%7D%0A%0Aresource%20%22azurerm_monitor_autoscale_setting%22%20%22test%22%20%7B%0A%20%20name%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%3D%20%22acctestautoscale-cz%22%0A%20%20resource_group_name%20%3D%20azurerm_resource_group.example.name%0A%20%20location%20%20%20%20%20%20%20%20%20%20%20%20%3D%20azurerm_resource_group.example.location%0A%20%20target_resource_id%20%20%3D%20azurerm_spring_cloud_java_deployment.example.id%0A%20%20enabled%20%20%20%20%20%20%20%20%20%20%20%20%20%3D%20true%0A%20%20profile%20%7B%0A%20%20%20%20name%20%3D%20%22metricRules%22%0A%20%20%20%20capacity%20%7B%0A%20%20%20%20%20%20default%20%3D%202%0A%20%20%20%20%20%20minimum%20%3D%202%0A%20%20%20%20%20%20maximum%20%3D%206%0A%20%20%20%20%7D%0A%20%20%20%20rule%20%7B%0A%20%20%20%20%20%20metric_trigger%20%7B%0A%20%20%20%20%20%20%20%20dimensions%20%7B%0A%20%20%20%20%20%20%20%20%20%20name%20%20%20%20%20%3D%20%22AppName%22%0A%20%20%20%20%20%20%20%20%20%20operator%20%3D%20%22Equals%22%0A%20%20%20%20%20%20%20%20%20%20values%20%20%20%3D%20%5Bazurerm_spring_cloud_app.example.name%5D%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20dimensions%20%7B%0A%20%20%20%20%20%20%20%20%20%20name%20%20%20%20%20%3D%20%22Deployment%22%0A%20%20%20%20%20%20%20%20%20%20operator%20%3D%20%22Equals%22%0A%20%20%20%20%20%20%20%20%20%20values%20%20%20%3D%20%5Bazurerm_spring_cloud_java_deployment.example.name%5D%0A%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20metric_name%20%20%20%20%20%20%20%20%3D%20%22AppCpuUsage%22%0A%20%20%20%20%20%20%20%20metric_namespace%20%20%20%3D%20%22microsoft.appplatform%2Fspring%22%0A%20%20%20%20%20%20%20%20metric_resource_id%20%3D%20azurerm_spring_cloud_service.example.id%0A%20%20%20%20%20%20%20%20time_grain%20%20%20%20%20%20%20%20%20%3D%20%22PT1M%22%0A%20%20%20%20%20%20%20%20statistic%20%20%20%20%20%20%20%20%20%20%3D%20%22Average%22%0A%20%20%20%20%20%20%20%20time_window%20%20%20%20%20%20%20%20%3D%20%22PT5M%22%0A%20%20%20%20%20%20%20%20time_aggregation%20%20%20%3D%20%22Average%22%0A%20%20%20%20%20%20%20%20operator%20%20%20%20%20%20%20%20%20%20%20%3D%20%22GreaterThan%22%0A%20%20%20%20%20%20%20%20threshold%20%20%20%20%20%20%20%20%20%20%3D%2075%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20scale_action%20%7B%0A%20%20%20%20%20%20%20%20direction%20%3D%20%22Increase%22%0A%20%20%20%20%20%20%20%20type%20%20%20%20%20%20%3D%20%22ChangeCount%22%0A%20%20%20%20%20%20%20%20value%20%20%20%20%20%3D%201%0A%20%20%20%20%20%20%20%20cooldown%20%20%3D%20%22PT1M%22%0A%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%7D%0A%7D%3C%2FCODE%3E%3C%2FPRE%3E%0A%3CP%3E%26nbsp%3B%3C%2FP%3E%0A%3CH2%20id%3D%22toc-hId-216942432%22%20id%3D%22toc-hId-216942460%22%3EFurther%20Information%3C%2FH2%3E%0A%3CP%3EFor%20more%20information%20on%20how%20to%20use%20Azure%20Spring%20Cloud%20features%20in%20Terraform%2C%20check%20out%20the%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CA%20href%3D%22https%3A%2F%2Fregistry.terraform.io%2Fproviders%2Fhashicorp%2Fazurerm%2Flatest%2Fdocs%2Fresources%2Fspring_cloud_service%22%20target%3D%22_self%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Eprovider%20documentation%3C%2FA%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3Ein%20the%20Terraform%20Registry.%26nbsp%3B%3CSPAN%3EIf%20you%20experience%20any%20issues%2C%20please%20report%20them%20on%20the%26nbsp%3B%3C%2FSPAN%3E%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2Fterraform-providers%2Fterraform-provider-azurerm%2Fissues%22%20target%3D%22_blank%22%20rel%3D%22noopener%20noreferrer%22%3ETerraform%20Azure%20provider%20issue%20tracker%3C%2FA%3E%3CSPAN%3E.%26nbsp%3BWe%20would%20love%20to%20hear%20your%20feedback!%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-TEASER%20id%3D%22lingo-teaser-2399222%22%20slang%3D%22en-US%22%3E%3CP%3E%3CSPAN%3EToday%20we%20are%20pleased%20to%20announce%20the%20general%20availability%20of%26nbsp%3BAzure%20Spring%20Cloud%20support%20in%20the%20Terraform%20Azure%20Provider.%26nbsp%3BAzure%20Spring%20Cloud%20is%20a%20platform%20for%20deploying%20and%20managing%20Spring%20Boot%20and%20Spring%20Cloud-powered%20services%20and%20software%20built%20on%20Microsoft%20Azure.%20It%20is%20a%20fully%20managed%20microservice%20development%20with%20built-in%20service%20discovery%20and%20configuration%20management%2C%20jointly%20built%2C%20operated%2C%20and%20supported%20by%20Microsoft%20and%20VMware.%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-TEASER%3E%3CLINGO-LABS%20id%3D%22lingo-labs-2399222%22%20slang%3D%22en-US%22%3E%3CLINGO-LABEL%3EJava%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3EMicroservices%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3ESpring%20Cloud%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E
Co-Authors
Version history
Last update:
‎Jun 10 2021 12:10 AM
Updated by: