A few weeks ago I came across this Mars Rover programming challenge/kata and being a bit of a space buff, I thought I will take a crack at it.

In this post I will share some of the TDD heuristics that I have found useful on when you should use mocking to verify interactions and when should you resort to state verification.

Recently a planned AWS Aurora database failover/master reboot caused database connection failures in one of our services which caused me to delve deeper into how MySql driver manages connections under the hood.

I recently migrated my ASP.NET Core 2.2 app to ASP.NET Core 3.1 so I thought I will document some experiences and learnings from this exercise. The ASP.NET Core 2.2 app runs as an Azure App Service (Windows) on Azure on a D1 Shared app service plan backed by a Azure SQL relational database. I have […]

“I’ve already written code once, now why I do need to repeat the same thing in text?”

We have a batch process that runs every morning, processes a bunch of data gathered out of our central e-commerce database and publishes messages on a queue for another service to pick up for further processing. This batch process takes about 30 odd minutes to finish which is not at all bad since our time […]

Tracer Bullet Testing or Synthetic Transactions or Synthetic Monitoring is a way of testing your service/app in production where its supposed to run but without affecting users/clients/external systems.

In this somewhat of a long post, I will go over some of the lessons I and my team learned while building an event driven architecture at work, why did we build it, recommendations and watch-outs for anyone else thinking of doing the same. This is more of a field report from a real life environment so there is a generous helping of pragmatism around architecture and careful and deliberate avoidance of dogma and purism.

Couple of days ago, we had an outage in one of our production APIs that’s built with ASP.NET Core 2.0 and all we got to see in all our logging was something similar to this which doesn’t really help reveal the root cause: After much debugging hassle for several hours we found that it was […]

In this post I will show how I recently set-up a multi-environment (Testing, Acceptance and Production) CI/CD pipeline to build my application in Azure DevOps but deploy to Azure AppService using Octopus with all the steps scripted using Cake.