Use VSTS to deploy Functions as Infrastructure as Code

Create a VSTS release pipeline for Azure Functions

Azure Functions enable you to easily run small pieces of code in the cloud. To do this right, you need to setup continuous delivery of the infrastructure and the code involved. Otherwise you will end with an uncontrolled environment where nobody knows what code is actually running. In this blog post I’ll describe how to setup a deployment pipeline for Functions with VSTS. This will enable you to deploy Functions as Infrastructure as Code.

vstsfunctionpipelineFrom an deployment perspective an Azure Function contains of two parts:

  1. Azure infrastructure
  2. Function code

Both the ARM template and the code can be deployed from VSTS. By doing this, you can manage functions like any other Azure resource.
Continue reading “Use VSTS to deploy Functions as Infrastructure as Code”

Conditional parts in ARM Templates

When creating reusable ARM templates you have a number of options on how to manage conditional parts in your templates. The smallest conditions can be done by parameters, medium differences can be done by  t-shirt sizes and large differences by linked templates. In this blog post I’ll show how to use implement conditions by linked templates.
Continue reading “Conditional parts in ARM Templates”

Deploy a Marketplace Linux VM with disk encryption using ARM templates

Protect your data at rest with disk encryption on Linux VMs and deploying them as Infrastructure as Code.

disk-encryption-vm-on-azure
VM with disk encryption

Continue reading “Deploy a Marketplace Linux VM with disk encryption using ARM templates”

Terraform AzureRM too many requests (429)

Solving 429 http error using terraform on Azure Management API

When adding more resources to my azurerm terraform project, I encountered some concurrency problems. Terraform sends to many concurrent requests to azure. The Azure API gives a 429 http error. The fast solution is just to rerun your terraform apply, but that will not work in an automated environment (Infrastructure as Code). In this blog post I’ll show the error and what you can do to avoid it.

Http 429 Error

Continue reading “Terraform AzureRM too many requests (429)”

Parallel deployment with Azure PowerShell VSTS Release Tasks

Running Azure PowerShell commands in parallel to speed up your deployments

Making better software starts with shortening the time it takes to get feedback. The less time between you start an action and its result, the bigger the chance you will do anything with the feedback. Faster is better!
Continue reading “Parallel deployment with Azure PowerShell VSTS Release Tasks”

Deployment limit in Azure Resource Group

Removing deployments with Powershell to solve the ‘DeploymentQuotaExceeded’ error in Azure.

For some time we have been using Visual Studio Team Services Release Manager for our continuous deployments to Azure. Today our Continuous Deployments to Azure Resource Manager came to a halt with the following error:

[error]DeploymentQuotaExceeded: Creating the deployment 'deployModule-0408-0956' would exceed the quota of '800'. The current deployment count is '800', please delete some deployments before creating a new one. Please see http://aka.ms/arm-deploy for usage details.

Unfortunately we had to find out what was going on, before we could do any new deployments. This was very time consuming, because there were only two google hits on the error. They where not very helpful in solving the error.
Continue reading “Deployment limit in Azure Resource Group”