Sunday, June 15, 2025

Resolve Azure DevOps Build Pipeline Warning, "The windows-2019 runner image is being deprecated, consider switching to windows-2022 (windows-latest) or windows-2025 instead"

The Windows-2019 runner image in Azure DevOps is being deprecated, and pipelines using the Windows-2019 hosted agent display a warning recommending a switch to a newer hosted agent. However, after changing the agent, build pipelines may break due to dependency and environment differences. This blog explains a NuGet restore failure that occurred after switching to Windows-2022 and provides a solution for it.

Warning: The windows-2019 runner image is being deprecated, consider switching to windows-2022 (windows-latest) or windows-2025 instead

Saturday, May 31, 2025

Install Kibana on Azure Kubernetes Service (AKS)

Kibana is a data visualization tool used for log analysis and application monitoring use cases. It is a main component of the Elastic Stack. The installation of Elasticsearch on a Kubernetes cluster was explained in the previous blog post. In this blog, let's learn how to install Kibana on Kubernetes.

Pre-requites:

  • Azure Kubernetes Cluster
  • Full administrative access to the Kubernetes Cluster
  • Workstation with kubectl installed
  • Elastic Cloud on Kubernetes is installed

Friday, May 9, 2025

Install Elasticsearch Cluster on Azure Kubernetes Service

Elastic search is the first component of the ELK stack that gives powerful search and analytics capabilities to DevOps and development teams. We have discussed how to install Elastic Cloud for Kubernetes (ECK) in previous blog post. In this blog, let's learn how to install elastic stack on Kubernetes.

Pre-requites:

  • Azure Kubernetes Cluster
  • Full administrative access to the Kubernetes Cluster
  • Workstation with kubectl installed
  • Elastic Cloud on Kubernetes is installed

Open a shell or use the Azure Kubernetes Service 'Run Command' to run the script below and create an Elasticsearch node.

Wednesday, April 30, 2025

Resolve HTTP Error 500.19 - Internal Server Error

This blog explains a specific error encountered on a CORS enabled site hosted on an IIS server, the reason for the error and how to resolve it. 

Pre-requisites:

  • CORS enabled site hosted on IIS server

Tuesday, April 29, 2025

Getting Started with Elastic Cloud on Kubernetes

In the modern DevOps world, ELK (Elasticsearch, Logstash, and Kibana) plays a crucial role by enabling the search, analysis, and visualization of large data sets. These capabilities are essential for troubleshooting issues, gaining insights, and ensuring the security of systems.

There are several deployment options for the ELK Stack, depending on a team's requirements and the desired level of infrastructure management. One of the deployment options is Elastic Cloud on Kubernetes (ECK), an official Kubernetes Operator provided by Elastic. Elastic Cloud on Kubernetes simplifies the deployment and management of Elastic Stack components within Kubernetes clusters.

This blog explains the process of installing Elastic Cloud on Kubernetes on an Azure Kubernetes Service (AKS) cluster using YAML templates.

Sunday, March 9, 2025

Managing Planned Maintenance for Azure Container Apps

Azure Container App is a fully managed Azure service that receives regular updates automatically. These updates are applied with minimal impact on the container applications. However, Azure Container App users can now define a maintenance window, allowing them to schedule service maintenance at a convenient time. This ensures application availability during important periods without downtime due to service maintenance.

There are two types of service updates, critical and non-critical updates. Critical updates are applied immediately when required, and users cannot set a maintenance window for them. However, maintenance windows can be set for non-critical updates. This blog explains how to set a maintenance window for Azure Container App using a GitHub Action pipeline.

Wednesday, February 26, 2025

Conditional Variable Assignment in Azure DevOps Pipelines

Azure DevOps pipeline expression functions enable the creation of powerful Azure DevOps YAML pipelines to achieve various advanced automation needs for build and deployment purposes. This blog explains how to use the if condition with pipeline variable values.

In an Azure DevOps YAML pipeline, a variable if condition can be defined as follow

iif(condition, the_value_returns_when_condition_true, the_value_returns_when_condition_false) 

Sunday, February 23, 2025

Enhance Your Azure Kubernetes Service Experience with GitHub Copilot Plugins

This blog explains how to use GitHub Copilot Chat to perform various Azure Kubernetes Service (AKS) tasks, such as creating an AKS cluster and generating kubectl commands to interact with the cluster.

Prerequisites:

  • GitHub Copilot and GitHub Copilot for Azure installed
  • Azure Kubernetes Service extension for Visual Studio Code installed

Friday, January 31, 2025

Docker Log Options for Better Troubleshooting

Logs are essential for troubleshooting any issues encountered during the software development and delivery process. Docker also provides several logging options to aid in the troubleshooting experience. This blog discusses various ways to review log files with Docker

Pre-requisites:

  • Docker installed development machine
  • Basic knowledge on Docker commands

Tuesday, January 28, 2025

Enabling Azure Container Storage Monitoring with Managed Prometheus

Azure Monitor Managed Service for Prometheus is a fully managed monitoring solution in Azure Monitor. It allows us to collect Prometheus metrics from Azure Kubernetes Services (AKS) clusters to monitor the workload.

This blog provides a guide on monitoring stateful workloads running on Azure Container Service within an Azure Kubernetes Service (AKS) cluster with managed Prometheus enabled.