Hybrid APM using SCOM and Azure Application Insights
As an Operations Manager specialist for a number of years now, I have sat down with many IT teams and discussed the Servers and Infrastructure that they are responsible for, working out what needs to be monitored, what services they provide and how to monitor the applications they support for the business. Then together, over time, we use System Center Operations Manager (SCOM) as the excellent platform it is to achieve this goal and provide the Infrastructure and application monitoring both they and the business require.
Skip forward a bit…
We know the kit is functioning, the servers are running and the applications are running as normal because everything is green and health. Cool. Groovy. So why all of a sudden is it taking twenty seconds for users to log in when up to this point it was two max? And worse still we only know this because a very stressed helpdesk is fielding calls from the users they are dealing with and our inbox has just melted.
So what do we do when something goes wrong? After all it’s the dev team that look after that application – so we call them 🙂 They blame the SQL backend, who then blames the application team, that blame the network team, that blame the Infrastructure team, and ….. Sound familiar? Hmmm.
We might be monitoring the application passively from an infrastructure perspective but what the application does is black box to the average central IT team.
What has been implemented up to this point is application monitoring, not application performance monitoring as we have no insight to what is going wrong inside the application, just that something is. So what is the difference between the two terms?
Application Performance Monitoring or APM is the toolset that allows analysis of the application as a whole from the execution of the code running on the servers, the queries and responses it’s transacting with the SQL backend and measures of the end users experiences of using it.
Application monitoring on the other hand is really just a passive perspective of the application, i.e. that the services are running on the server, the website is up, the processors aren’t running hot etc., etc… This is essential information to have within the infrastructure’s monitoring arsenal and often suffices for day-to-day visibility of the applications’ availability but when things go wrong internally, deeper insight is required to ascertain what is happening.
The whole idea is that from one source, it is possible to identify the exact issues that are occurring at the code and query level from the belly of the application in addition to the supporting infrastructure that it depends on. Being able to notify the appropriate teams with details of the exact issues, with potential remedies already in hand is critical in tackling potential issues before they are reported to the Helpdesk by the end users. The central IT team now is in the position knowing the relevant specialist is on board and they can concentrate on co-ordinating and providing the support from the infrastructure perspective when required.
So where does SCOM fit in?
As SCOM is more than a monitoring tool and it’s catalogue of functionality is enough to fill several hundred blogs by itself, the crux of it is that SCOM is a platform, not an end point solution. It (SCOM) puts a subject matter expert into your datacentre for each of the complex technologies that are supported by the various IT teams within the department. It gives relevant information or pathfinders to the information required to distribute to the specialist teams that specialise in each of the technologies.
With SCOM’s implementation of APM, it is possible within roughly 1/2 hour with no additional agents to install, to monitor performance and application your existing .NET monitored applications suddenly become a whole lot deeper and exposed down to the code level where the issues or related issues are.
But APM is not native to SCOM, far from it, conceptually it’s been around for over a decade. Microsoft added APM into SCOM’s many capabilities into the 2012 release when Microsoft acquired AVICode and incorporated it into the Microsoft Monitoring Agent. There are various methods of achieving APM and this method is known as byte-code profiling. Other companies such like NewRelic, AppDynamics also adopt this approach having their own proprietary methods of achieving APM. As with any complex tool – deciphering the information produced can sometimes introduce its own complexities and requires specialist knowledge. Tools such as SCOM effectively wrapper this information into alerts and give contextual knowledge articles to decrypt the information and give possible resolutions or pathfinders to that resolution.
Another method is the adoption of SaaS based models such as Azure Application Insights that use service based APIs to produce the telemetry or performance data. Application Insights not only allows for cloud-based born-in-the-cloud applications to be monitored but on-premise applications too, including real-time analysis of the applications. Configuring natively for on-premise applications can be challenging though due to security constraints within organisations and a hybrid approach of this can solve this complexity. Again, this provides all the telemetry data you would expect but it carries the same issues as the byte-code or Agent methods – the information exposed can be difficult to translate for the IT Pro.
So SCOM here comes to the rescue (da-de-daaah!)
As the integration between Azure and SCOM is maturing and developing with every new Update Rollup, Revision and Management Pack released. We are now able to hook into Azure Application Insights, and put a SCOM wrapper around it and simplify the security concerns by only exposing the SCOM infrastructure to Azure.
Using this hybrid approach of Application Insights and SCOM APM Monitoring allows the resolution of the problem to be expedited faster as we can identify what, when and why something is failing by giving accurate, up-to-date analysis of the application’s health from the code executed to the CPU usage on the various supporting servers.
I will be talking around these topics in the forthcoming webinar on Friday 19th January at 2.30pm, where I will be looking at APM monitoring methods using the SCOM and Azure Application Insights native functionalities. I will then be combining them to see the benefit from this approach. Hybrid rocks 🙂
Thank you for taking the time to read this and hope you will join me at the webinar.