Migrating ASP.NET Core 2.2 App to ASP.NET Core 3.1 on Azure App Services

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 … Continue reading Migrating ASP.NET Core 2.2 App to ASP.NET Core 3.1 on Azure App Services

IIS App Pool Recycles Will Wreck Your Long Running Background Jobs

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 … Continue reading IIS App Pool Recycles Will Wreck Your Long Running Background Jobs

Biting the Bullet – Testing Microservices in Production with Tracer Bullet Tests

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.

Building an Event Driven Architecture – Lessons Learned

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.

Reporting Model Validation Errors in ASP.NET Core 2.0

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 … Continue reading Reporting Model Validation Errors in ASP.NET Core 2.0

Monitoring Health of Azure App Service Applications using Azure Functions

Monitoring the health of your application in production is a crucial aspect of software development because at any given point in time, you want to be reasonably certain about how your business critical application is performing and you want to be alerted to any problems that might be brewing up in the application before your customers do.

Implementing Hexagonal Ports and Adapters Architectural Style

Many articles talk about the what of this style but in my view, not enough talk about the how. In this post, I am going to try and show one way to actually structure the solution to be more in line with the hexagonal ports and adapters style.

Using Serverless Functions to Build a Microservices Architecture

Seeing as micro-service architectures are all the rage these days, I decided to dip into it by building…

Dynamically Mapping Tenant Requests to Tenant Databases in Multi-Tenant Web Applications

In a multi-tenant environment the application database is usually partitioned by tenants. This is done to achieve isolation and scalability. The problem of course is how do you route tenant requests to the correct databases?

Building Domain Driven Architecture in .NET – Part 5 (ASP.NET Core App)

In part 4, I detailed the way I went about creating application services for my expense tracking application. In this final post, I will talk about the ASP.NET Core MVC … Continue reading Building Domain Driven Architecture in .NET – Part 5 (ASP.NET Core App)

Building Domain Driven Architecture in .NET – Part 1 (Overview)

Having read Vaugh Vernon’s book on DDD implementation, I decided to portgrade (port+upgrade) my old clunky Windows based N-tier desktop expense tracking application to ASP.NET Core MVC application using some of the Domain Driven Design concepts I studied in the book.

Setting Up CI/CD Pipeline for ASP.NET Core Apps

It took trawling through dozens of blogs, MSDN help forums, git repo wikis and little bit of creative thinking to finally get the CI/CD pipeline working smoothly along with test reports showing in the build summary.