#MayThe4th be with you! Let’s celebrate with multi-cloud packer! Today only! #Azure Terraformer will be doing some #AWS and #GCP on the channel! It’s kind of like Christmas on the western front! 🤣 https://youtu.be/W_Hv5sd9bNA
DevOps
Setting up Key Vault secured Pipelines with Azure DevOps
One of the first things you need to do when setting up a new Azure DevOps pipeline is to pull secrets from Azure Key Vault into a Variable Group. Variable Groups can be used by your project to setup how things like Terraform in your pipelines will authenticate themselves with Azure, AWS, or GCP. By … Continue reading Setting up Key Vault secured Pipelines with Azure DevOps
Cosmos DB Emulator on Azure DevOps
The cosmos DB Emulator is a custom action available on the Azure DevOps portal, however, that doesn't exactly make it turnkey to use. The custom task will spin up a container running Cosmos DB, however it does so with a specific local DNS / port that you need to pipe into your test running. There … Continue reading Cosmos DB Emulator on Azure DevOps
Terraform + Azure DevOps Environment Variable Piping Tips
When establishing good security processes around your software release pipeline it’s important to ensure that secrets are handled with care. As a best practice, I always ensure secrets that need to be used in a CI / CD pipeline are stored in Key Vault and imported into an Azure DevOps Variable Group. This allows the … Continue reading Terraform + Azure DevOps Environment Variable Piping Tips
Challenges using Terraform with Azure Serverless Architecture
We’ve been exercising the AzureRM and AzureAD Terraform providers with a healthcare client who wants to go serverless with a new product they are building. We’ve been able to automate a significant portion of the infrastructure with relative ease, however, there are limitations to both the Terraform providers and the operational models of Azure Functions … Continue reading Challenges using Terraform with Azure Serverless Architecture
Switching from “Azure” to “AzureRM” Terraform Backend
Terraform no longer supports “azure” as a backend. So if you have a backend configuration that makes reference to the “azure” backend provider you will get the following warning: All you need to do is change the following property in your backend configuration file: To the following: Nothing else has to change. Just re-initialize your … Continue reading Switching from “Azure” to “AzureRM” Terraform Backend
Using an Azure Marketplace Image with Packer
Packer is a fantastic tool that lets you automatically build AMIs on AWS or machine images on Azure. It’s common to start from an operating system machine image published by Microsoft but sometimes you may want to try out (and eventually use) a marketplace image. If you’re not familiar with Azure Resource Group Templates or … Continue reading Using an Azure Marketplace Image with Packer
Publish NuGet Package using VSTS Build Pipeline
Generating a nugget package during build is as simple as the following steps: Define the NuGet Specification Pack the NuGet Package Push the NuGet Package to your repository Now the implementation gets a bit tricky. Define the specification You will need to ensure that nuget.exe is in your path. It’s as simple as creating a … Continue reading Publish NuGet Package using VSTS Build Pipeline
OpsWorks + Windows: Alternate user identity execute support
A common scenario when configuring an environment is that certain elements of the scripts may need to be executed using a specific user’s credentials. If you’ve looked at the documentation for the various means of execution within Chef you might have noticed the “user”, “domain” and “password” parameters. The “powershell_script” action is particularly useful when … Continue reading OpsWorks + Windows: Alternate user identity execute support
Git + OpsWorks: Getting Organized
In OpsWorks, each "Layer" can be linked to its own repository. You can also specify a branch of your choosing. The terminology mapping between AWS, Git and Application Architecture can sometimes be a bit confusing and can lead to mal-configured OpsWorks stacks which can subsequently lead to OpsWorks being used inappropriately due to perceived technical … Continue reading Git + OpsWorks: Getting Organized