The practice of DevOps isn’t just about automated builds and deployments. There are several stages to good governance over your software, including a critical step many miss: Monitoring and Continuous Learning.
Without this critical piece of the process you won’t be able to proactively heal issues before they are out of control, and you won’t understand actual usage of the system.
With Dynamics of course the system is hosted in the cloud by Microsoft, but does that give you a pass from monitoring your Production ERP system? No of course not. So why aren’t people doing it?
Perhaps, because people think it isn’t possible. Perhaps, because people think it is hard. Perhaps, because people think it isn’t important.
I manage a team of software developers at a Microsoft Gold Partner here in the states, and on each project I make sure the first thing we install is a monitoring solution. My favorite, and I am absolutely biased, is Application Insights from Microsoft Azure. It’s free, it’s simple, and it’s effective.
I know I’ve blogged on this in the past, but I can’t stress enough how critical this has become to how I / We solve issues. For example, I am in the middle of my third Dynamics Cloud Implementation. We are gearing up for what we call System Test – a final end to end evaluation of the System with full and actual data volumes and user load.
In the weeks that precede that event, I monitor the environments that are being used for preparation and training. This allows me to see many things:
Who is using the system ( users / sessions ):
How they are using it ( cohorts, user flows ):
And what Exceptions are being raised ( failures ):
Who wants to walk in to a CRP, System Test, Integration Test, UAT, or even Go Live without knowing that kind of data beforehand? Talk about valuable. We have discovered reams of issues before they were critical path – whether it is data migration related ( see below ) or perhaps setup related. We even have discovered bugs in the out of box software and submitted them to Microsoft for resolution.
Using these tools we can identify cohorts, a fancy term for groups, of users. We can group users by Security Role, we can group them by what Forms they frequent most. Then we can study the behavior of these cohorts to better learn how they interact with the software. All of this should end up as data points that can help justify or refute Change Requests that come in from the business. If there is an URGENT request to put 80 development hours in to a Form that you know only one person or a small cohort use – is it really that urgent? Or did the requester just have a very loud voice.
At the end of the day, Continuous Learning is one piece of the process. It will help you funnel back usage and behavior in to your further planning and development cycles so that you can truly tackle what is most important without having to guess.
If you need help getting AppInsights off the ground at your organization, please send an email to me lane.swenka[at]mcaconnect.com or reach out on Twitter.