Responsiveness of a web application is one of the most important aspects which affects how happy users are with the application. For a modern web application, end-user response time is a good indication of responsiveness, which at a high level is the sum of the client side response time (time to bind elements, UI execution etc) and the backend response time (which includes backend server request processing time, network latency etc).
Generally, prior to the application changes being propagated into production performance testing stage tests the backend response time, and whether the application’s backend APIs are responding as quickly as…
We decided to go with Git Flow with the following Build and deployment strategy. Let us consider the pipelines in the following phases:
Sprint Feature Development Phase
In a recent project I was involved in, we had the following requirements:
A few months back there was an announcement related to the cloud load testing functionality in Azure DevOps. As per this announcement the functionality will be deprecated in a few months. The announcement does give alternatives, however what this means is that Cloud Load testing functionality from AzDO is not a long term Option going forward.
During recent work, one of the requirements we had was that after deploying an application to one of the environments inside a private VNet we wanted to run some simple load / benchmark tests against that application from within the VNet. …
In a recent project, as a part of the Azure DevOps (ADO) pipeline step we were required to provide a service principal (SP) access to an Azure resource. This post describes the issues we encountered and a couple of solution options to resolve the issues
The aim is to perform a role assignment through an Azure DevOps (AzDO) pipeline.
The diagram below explains a simplified example where we need to provide the testAsigneeSP service principal contributor access to the testroleassignmentsa storage account. This assignment needs to be performed from within an AzDO pipeline. This AzDo pipeline connects to Azure using…
In a recent project I was working on the objective was to setup release pipelines for a canary / phased rollout of an applications micro services. The deployment target for these micro services was a Kubernetes cluster (AKS).
This post describes the key requirements, the release strategy selected for those requirements, and the details of how each stage is implemented.
In a subsequent post I will detail how the release stages described in this post map to an Azure DevOps Release pipeline.
The high level requirement was to do…
Azure Virtual Machine Scale Sets (VMSS) are a great way to deploy identical set of VMs (based on same VM image) in true autoscale. When there are modifications to an application deployed to a VMSS one approach commonly used to reliably push the modified application changes live is using Blue-Green deployments.
Packer is one of the most popular tools to automate creation of VM images with the application code baked in. In this post Packer has been used to create the VM images which are used by the VMSS.
Azure DevOps pipelines are a great way to build, test and…
Azure Functions are one of the Azure serverless services which enable you to create a microservices-based application without needing to think about managing the actual infrastructure. Java is one of the languages which you can use to create serverless functions on Azure.
Azure Pipelines are a great way to build, test and deploy application to any cloud.
In this post, we will look at a few of the ways in which you can deploy Java code from a git repository to Azure Functions using Azure Pipelines. We will look at both pipeline as code (azure-pipelines.yaml) …
This post is a continuation from part 1. In this post we will look at the issues faced when trying to share GPU amongst multiple container instances of a Python3 application which uses tensor flow object detection and OpenCV. Part 1 of the post has details of containerization of this application.
The deployment environment for this phase of our project was an Azure NV12 VM (2 GPUs, 2*8 GB GPU Memory). You can get more details of the N series VMs at https://docs.microsoft.com/en-us/azure/virtual-machines/linux/sizes-gpu
What we were looking to achieve was to simultaneously run 4 instances of the container on the…
Cloud, Containers, K8s, DevOps | CKA | LFCS | Senior Software Engineer @ Microsoft