I’ll go out on a limb and venture a guess that everybody reading this blog has had challenges adjusting to life in a post COVID world. I certainly have. My latest challenge? Navigating the simultaneous use of a face mask in public venues while wearing glasses to read stuff that’s more than 20 feet away. Just like ski and water goggles, my prescription specs also fog up when simply taking a leisurely stroll through the grocery store. Luckily the Internet is full of remedies for that problem, but that got me thinking about another topic that’s been top of mind for me lately: Fogginess when it comes to monitoring Microsoft 365 applications.
Microsoft 365 Visibility Challenges
Some time ago I wrote an article about the “4Cs of Quality IT Monitoring Tools“. One of the “Cs” in the series was the importance of “Clarity.” Not only is clarity important in an NMS solution, but it’s vitally important in your productivity suite, which is likely a core part of your overall information systems strategy. However, clarity is exactly what’s missing when it comes to Microsoft 365. You’ll be presented with several challenges when it comes to getting visibility into Microsoft 365.
Tracking End-to-End Microsoft Application Performance
When you choose Microsoft as your productivity suite provider, or any other SaaS application for that matter, you’re effectively paying for the privilege of having somebody else manage your applications for you. So, the first challenge is you’re not really going to be able to track end-to-end performance of the hosted application. That application is essentially a “black box” from the perspective of your infrastructure. When a user calls and complains about an application being “slow” how do you know where the problem is? Sure, Microsoft will give you SLA guarantees, but without a, pardon the pun, window into their infrastructure how can you be sure they’re living up to their promises?
Understanding Microsoft 365 Service Utilization
The next challenge is getting a view into service utilization. It’s not in Microsoft’s best interest to tell you when you’re spending more money than you need to. It would be nice if they had a big banner message on the top of their login portal that said, “By the way you’ve only activated 60% of the licenses you purchased from us. Give us a call and we’ll issue you a refund”. However, in the words of a boss I once had, “Nice is for rainbows and puppy dogs. This is the real world Andy.” And there you have it. We’re in the real world. Yes, usage data is available through the API that Microsoft publishes for their services. There are also dashboards you can create to find that information through a tool like PowerBI. However, it’s not straightforward or easy to do either.
Microsoft 365 API Integration Struggles
API integration into your existing tools is another challenge when dealing with Microsoft 365. While it certainly is possible with the documentation Microsoft provides, the question IT Leaders then need to answer is “How much is my technical personnel’s time worth?”. In other words, if you opt to use Microsoft’s tools the choice is between two less than ideal consequences: Either take valuable engineering resources to handle the customization, integration, and support internally, OR simply use the Microsoft Service Health Dashboard. The Service Health Dashboard is a good resource, however, it probably isn’t integrated with the rest of your monitoring tools. Therefore, using it will likely shine a light on inefficiencies in your IT operational processes. One example might be having to jump from one console to another simply to get a “big picture” view of your IT landscape.
Getting True Microsoft 365 Service Availability
A final challenge when dealing with Microsoft 365 is getting real service availability. Obviously, SaaS providers monitor their own infrastructure and Microsoft is no exception. Given the size and criticality of Microsoft’s assumed customer base it would be foolish to think they don’t know, down the second, everything that’s going on in *their* infrastructure. However, therein lies the rub. It’s *their* infrastructure. They don’t have any idea what’s going with the IT resources *you* have to manage. However, your customers and your users don’t particularly care about that distinction. To Wally in the accounting department who just needs to send a message to somebody in purchasing email is email is email. He doesn’t care what system it’s on, it just has to work. If you’re relying on something like the Service Health Dashboard to tell you things are working, that view is only going to be from Microsoft’s perspective, not from the perspective of your users on your network.
Solving Microsoft 356 Monitoring Challenges
Given all of these challenges, clarity into your Microsoft 365 environment is going to be hard to come by. So what’s the best way to address that problem?
Simplify Using Synthetic Checks
Well, first thing’s first, what’s the best way to judge an application’s end-to-end performance? Easy. Repeatedly log into that application over and over and over again and make sure it’s performing well enough. However, in the immortal words of Kimberly “Sweet Brown” Wilkins, “Ain’t nobody got time for that”. Therefore, you want to look for the next best thing: Some kind of a tool that will take those same actions, synthetically, over and over again. Then judge performance via round trip latency to log into the service. Execute this pattern against Exchange, OneDrive, Sharepoint, Skype, Teams, and Yammer and you’ll have an excellent representation into the same experience enjoyed (or suffered, I suppose) by your end-users. The approach isn’t taking API data from Microsoft. It’s literally emulating a human and giving you that end-to-end view.
See All Your Data In A Single Console
Of course, there are scenarios where you do want to see API data. One such area is when it comes to utilization information. Microsoft actually exposes a ton of stuff in their API. If you can make sense of the reference documents (and have some development know-how) there is a ton you can do with it. I ran into a situation in the somewhat recent past where an IT Director I was working with made a comment that they were in the process of transitioning over to MS Teams from Slack for their collaboration tool. However, he was having difficulty getting a beat on how many people had actually started using it. This director’s only alternative was to either muddle through setup of a PowerBI dashboard or find somebody to help make the necessary calls to the Microsoft graph API. A best of all worlds choice would have been to use a tool that already makes those API calls, but at the same time is already hooked in the rest of your non-Microsoft infrastructure so you can see (and react to) everything from a single console.
Get A Real Understanding of User Experience and Service Availability
So you’ve got synthetic logins and data API integration, but what other features will really give you clear visibility into Microsoft 365? A couple things that come to mind immediately for me are round trip send/receive email transactions into Exchange Online or even complex checks into a Sharepoint-hosted web application. If your existing IT monitoring suite doesn’t do this stuff it probably should. Beyond those capabilities what other things are interesting from a service availability stand point? Synthetic phone calls in Skype and upload/download of files into OneDrive seem like a good way to guarantee your users are having a good experience with their productivity applications.
One of the home remedies I found for dealing with the problem of my glasses fogging up while wearing a face mask was to clean them with soapy water. Something about the soap providing a protective layer on the lenses. I’ll have to give it a try. Not uncoincidentally, I happen to know of a particular company that happens to have a particular solution for getting clear insight into Microsoft 365. Sounds almost like a metaphorical scrubbing with soapy water for your hosted applications, no?