Tracking Asynchronous Process Completion with Azure Application Insights

Recently I was working with a client that had developed several Azure based micro-services intended to run as an HTTP triggered process, running asynchronously from the client's perspective. In other words, each pass through the system started with an HTTP request, for which the payload was then passed through a series of micro-services utilizing a combination of service buses and storage queues. It looks something like this:

Async Process

The details are not terribly important - just note that each of the blue boxes in this diagram represents a separate Azure hosted ASP.NET WebAPI or Azure Function based micro-service. Because these were all separate components communicating via service bus and storage queues, plus one black box 3rd party system, message loss and round trip request duration was difficult to track and build into an easily consumable dashboard.

To address this problem, a solution was developed utilizing a combination of custom telemetry events logged by each system component and Application Insights queries .

“Programmer” is the New “Author”: How Misperception is Polluting an Industry

I'm an author! Me too! And me!

Often, when meeting and networking with new people, one of the first questions people ask each other is what they do. It is one of those simple, polite questions that often goes a long way to exposing deeper topics and leads to finding common ground and similar interests. Typically, it will result in a response indicating what the person does for a living: that they are a doctor, or a teacher, or etc. Occasionally, though, people will answer with what can only really be defined as a hobby or passing interest. Something they aspire to, but haven't quite reached. The most common example of this is the fledgling author.

It is not terribly uncommon to hear someone introduce themselves as an author, despite the fact that, upon digging deeper, it turns out that they have written very little save the essays they turned in to professors before graduating. You’ve probably heard someone profess that they are working on their first piece - as they have been for several years - and that things would really take off if only they could sort out that introduction or first chapter. No doubt, many of these people are in fact honest to goodness paid writers that, through skill and the dedication to put forth the time and effort necessary, truly do make a career of writing. Those for which this is not the case, however, are undeniably abundant.

Motivational Lessons from a Five Year Old

Motivation is a classic, universal problem. How do we inspire someone to want to do something that isn’t inherently enjoyable?  The typical method is to come up with rewards.  We see this method applied pretty much everywhere.  Need an employee to do something?  Offer him/her higher salary, bonuses, more time off, etc.  Need to lose weight?  Promise yourself that post-workout TV time, a cheat food, or that bit of money towards a long awaited vacation.  Want a five year old to push himself a bit during a race? Maybe cartoons or candy will work.

This past weekend, I had the pleasure of having as my running partners a friend of mine and his young son, whom, for anonymity’s sake I’ll refer to as Ben.  One of the many reasons I enjoy spending time with Ben is that, like most five year olds, he can be full of surprises.  This past weekend he surprised me by inadvertently reinforcing several lessons regarding motivation that I have had to learn throughout my career and personal life.

Hiring a New Software Company

As a professional software developer, one of the most challenging tasks is the inheritance of an existing product. Whether the product is still in development or has already entered its support life-cycle, there are many pain points and possibilities for confusion and delays. However, there are several things a product owner can do to help ease the transition and make sure the new development team has a strong chance of success. If you're planning to say "Game Over" to your current team or are already moving on, read on for some advice on how to prevent some of the biggest hurdles associated with development of an existing product from interfering with the successful completion or continued support of your project.