Recently we were alerted that one of our apps hosted in Azure had been very slow, and one of the observations by the awesome Azure Availability and Performance tool was high outbound TCP connections detected, the graph below shows the app went up and down regularly at that time, and it went even higher especially, during app start-up.


If you are using confluent-kafka-dotnet in your .net project for communicating with the Kafka server, then you are probably aware of this issue where the package currently (at the time of writing this post) still doesn’t support a single topic with multiple message types, as the author mentions, when it was initially designed both producer and consumer need to be strongly typed.

So we decided to follow the workaround described in the issue with a bit of tweak that is to create my consumer withIConsumer<string, GenericRecord> type other than IConsumer<string, byte[]>, which basically it is managed via a Dictionary<string,object> under…


Image by D1_TheOne from Pixabay

Recently I helped our team to automate integration test in our CICD using TeamCity and Octopus, I’m sure it’s not new but it was for me, I thought it’d be a good story to share how I did it.

What we try to achieve

The goal we try to achieve is to have a repeatable environment independent continuous delivery, with this in place the team should be in a better position to deliver their features or changes from local to production fully automated. …


The last project at work, I had a good opportunity to play Azure Cosmos DB closely, there is something I learned particularly about cross partition scan, and I think it is worth noting it down.

We all know cross partition scan is less efficient, and it is expensive, but what exactly happens under the hood, so to answer that question I proxied through my application using Fiddler.


As part of the EU General Data Protection Regulation (GDPR) requirement, we built a system in Visual Studio 2017 to conduct data minimisation using time and queue trigger Azure Functions hosted on consumption plan. Here are a list of gotchas and tips worth sharing in the hope they can be helpful to others who are new to Azure Functions development.

Make sure if it is right for you

Azure Functions is powerful but it isn’t a solution for every business requirement. There are two different hosting plans for the Azure function application to be running on. The following is a brief comparison on the differences between them.

Zhongming Chen

A happy dad and I write code

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store