Logging Azure Cleanup Workflows to Custom Tables in Log Analytics

Building on my previous article about using Azure Automation to clean up orphaned resources, this is Part 2. Here, I'll show you how to send the collected logs to a Log Analytics workspace using the newer Log Ingestion API. The Log Analytics HTTP Data Collector API was the original method for sending custom data to …

Continue reading Logging Azure Cleanup Workflows to Custom Tables in Log Analytics

Automating Azure Resource Cleanup with Azure Automation Notebooks

The aim of this post is to present an approach to cleaning up orphaned resources in Azure to prevent unnecessary costs and improve the maintainability of the cloud environment. Azure Automation lets you streamline and orchestrate repetitive tasks across your Azure environment. Whether you're cleaning up orphaned resources, rotating secrets, or enforcing compliance, Automation gives …

Continue reading Automating Azure Resource Cleanup with Azure Automation Notebooks

Azure Policy as Code using Terraform – Part 2

In Part 1, we saw how we can deploy custom policies and initiatives dynamically controlled by a JSON file. In Part 2, we will look at policy and initiative assignments. Until a policy is assigned, it doesn't have any impact on the creation or modification of resources. Azure Policies can be assigned to management groups, …

Continue reading Azure Policy as Code using Terraform – Part 2

Azure Policy as Code using Terraform – Part 1

Azure Policy is the cornerstone of governance in Azure. Creating and deploying policies at scale, as well as managing policy and initiative assignments for a large enterprise, is a massive undertaking. In highly regulated industries, the number of policies can run into hundreds to meet compliance requirements. The policy definition itself, when embedded in code, …

Continue reading Azure Policy as Code using Terraform – Part 1

Dynamic Terraform Module for Azure Diagnostic Settings

Enabling diagnostic settings is a fundamental requirement for deploying services on Azure. Each type of resource has a different set of log and metric categories. It could get quickly complicated and clunky if you don't use a dynamic way to fetch those log and metric categories. However, before we open the floodgates, we also need …

Continue reading Dynamic Terraform Module for Azure Diagnostic Settings

Automating container deployment on AKS using Azure DevOps – Part 4

This is the last part in the series "Automating container deployment on AKS using Azure DevOps". So far we have automated the creation of ACR and AKS, built and pushed the container to the Azure Container Registry. In this post, we'll create a release pipeline that will pull the container from ACR and deploy it …

Continue reading Automating container deployment on AKS using Azure DevOps – Part 4

Automating container deployment on AKS using Azure DevOps – Part 3

In Part 3 of this series, I'll automate the creation of AKS. We will add a AKS resource to the ARM template. A new Azure CLI task will be added to the pipeline to assign AcrPull role to the SP of the kubelet. ARM Template The below template shows the addition of the AKS cluster …

Continue reading Automating container deployment on AKS using Azure DevOps – Part 3

Automating container deployment on AKS using Azure DevOps – Part 2

In Part 2 of this series, I’m going to demonstrate automating ACR creation. To follow along with this post you’ll need all the files created in Part 1. I’m also assuming you have a build pipeline setup that builds and pushes a container to ACR. We'll now add an ARM template to deploy ACR. You …

Continue reading Automating container deployment on AKS using Azure DevOps – Part 2

Automating container deployment on AKS using Azure DevOps – Part 1

Introduction In this series of posts, I’ll demonstrate the deployment of Azure Container Registry and Azure Kubernetes Service. I’ll also push a Web API container to ACR and pull that container and deploy it on an AKS pod. To keep things simple, AKS will consist of only one pod. Managed identity will be enabled on …

Continue reading Automating container deployment on AKS using Azure DevOps – Part 1

Azure ARM nested templates targeting multiple scopes

In my last post, I talked about ARM template deployment scopes. All the templates in that post targeted a single scope. Instead, you can deploy resources at multiple scopes using the same ARM template. This is possible by nesting templates and setting the scope of the nested template. The resource type of the nested template …

Continue reading Azure ARM nested templates targeting multiple scopes