Welcome back to the third post of the Terraform series. In this post I will cover, how Terraform can merge multiple configuration and variables files into one. This gives you better transparency, flexibility and control for your Terraform-based deployments. Enjoy!
In my last Terraform post I talked a little bit about the basics what Terraform is and how it works from ground up. In this post I want to focus on input variables and how they can be used to create flexible deployments.
1. A first introduction
2. Introducing input variables (this post)
3. Using multiple files for configurations and variables
Infrastructure as code is very popular for some time already. When talking about deploying infrastructure or application components to Microsoft Azure as code, then the Azure Resource Manager (ARM) will come to your attention. ARM manages resources that live in Azure and is used to deploy and update them as needed. When using the Azure portal, ARM is used under the covers to manage the resources. But it also offers APIs to communicate with it from the outside world. For instance you can pass ARM templates that contain a descriptive configuration of your application and ARM will take care of provisioning it. Nothing new so far, but in today’s world, the perfect world where only Azure is used to host applications and services is not the reality what we see when talking to customers. Hybrid clouds or multi cloud environments are the reality. ARM can only be used for Azure and Azure Stack, but when you need to cover more platforms, Terraform might be a good option for you. In this blog post I will give a quick overview what Terraform is and how it works.
Containers are pretty new in the Microsoft world, but are quickly getting traction. Microsoft Azure offers lots of container-related services such as Azure Container Instances (ACI), Azure Container Service (ACS), Azure Kubernetes Services (AKS) or Azure Container Registry (ACR). I already covered Azure Container Instances here, so I will not go into any details again – even if some things slightly changed since then. What I wanna cover in this post however is the automatic deployment of Docker images onto ACI.
A while back I blogged about Azure Policies. Policies can be used as part of Azure Governance to audit and enforce compliance. For instance, it lets you enforce the use of specific regions, or enforces you to tag your resources. I covered the details already in my previous blog post and will not go into the details again. Meanwhile things have changed and there is a graphical implementation available that can be used to manage policies in the Azure portal.
The new year just started and I am already booked as a speaker or expert for many events and conferences. As always, connecting with the community is key to me and my role, so I am happy to rock stages soon again and meet with people that have the community DNA! Find my confirmed engagements for H1 2018 below in chronological order. Looking forward to each and every event! Drop me a message if you are attending as well and would like to connect!
Using release pipelines is a pretty common thing for agile developers, but not necessarily for IT Pros. However, they can still very much benefit from that process when working with their IT pro artefacts such as scripts, ARM templates, runbooks, Dockerfiles etc. to get more agile and keep environments stable and clean. In this post I will demonstrate how to build a (very) simple release pipeline from A-Z for ARM templates. Have fun!