As a digital experience engineer/advisor, I often find myself being asked the question, "Why should we consider an APM solution over Splunk?" or simply put, "What is the difference between the two technologies?"
When it comes to answering this, it's important to understand that there is no "better" here and at the end of the day choosing the right solution ultimately depends on the customer's specific use-case.
Which Tool Should You Choose?
There is no doubt that both of these are pervasive technologies for enabling a five-star end user experience. In fact, 90% of the time Application Performance Management tools, like CA APM, and Splunk are actually complementary and when combined, they are lethal in capabilities. The article aims to explain the differences between the two beasts with justification and insights, and not deep diving into the technical aspects of integrating them, (we will save that for another time).
Let's look at different use-cases to understand when to use what.
Use Case 1 – Keeping an Eye on Huge Amounts of Machine-Generated Data
If your main need is to keep an eye on huge amounts of machine-generated data that result into insights, then Splunk or even CA Unified Infrastructure Management (previously Nimsoft) is a great choice as they have strong log analytics and API ingestion capabilities.
If you plan to use Splunk as an application performance management tool, good luck! Why such a strong expression? Simply because Splunk misses rich contextual insights into app performance problems out-of-the-box. The base requirement is to have developers to log consistently and comprehensively and with a tool like Splunk, there are no transaction tracing capabilities, unless you get developers to tag IDs laboriously – but who has the time and resources for that? Repeatedly, I have been requested to display out-of-the-box capabilities of CA APM because most enterprises with a nimble methodology & mindset do not want to use technologies that require customizing.
In all my experience, I am yet to see a strong use-case for this. Why? Because enterprises use packaged software vendors like Oracle, Microsoft, SAP, etc. extensively. These systems only log what is necessary, and majority of the times miss crucial information that is inevitable from a performance triage perspective. Essentially, poorly designed logs mean limited insights and possibilities!
Use Case 2 – Monitoring Your End-Users' Experience
If your main need is to monitor your end-users' experience and marry that with app diagnostics of Java, Dot-NET, PHP, iOS, Android, Hybrid, WatchOS or Node.JS based apps without any source code adjustments, CA APM is the king!
Simply enable CA APM hooks in the app run-time configurations and voila! You have D-A-T-A, experience views (health score), analytics, auto-insights (assisted triage) and end-to-end execution times. Pretty powerful stuff, which is why I like to refer to this as developers', operations and testers' best friend!
Use Case 3 – An All-in-One Solution
If what you really want is an all-in-one solution, then consider the CA Agile Operations platform which is an amalgamation of CA Agile Ops solutions in a single platform. This platform ingests multi-channel application analytics, infrastructure analytics, log analytics, synthetic monitoring and other insights and represents it visually into an open data-lake system (ELK stack). The outcomes are unique and ground-breaking for enterprises who are serious about improving their end-users' journey and retaining their loyalty.
The Choice is Yours – Choose Wisely!
If you want my opinion, Splunk is not the right tool for general performance monitoring purposes when compared with byte-code instrumentation enabled monitoring toolsets. There is no denying that Splunk is a powerful, leading analytics solution. However, it's still a long way from providing capabilities that Application Performance Management technologies, like CA APM, are able to provide.
CA APM is organically built for solving tedious performance problems and enabling end users' insights. Think CA APM!
Nik Jain is Principal Consultant, Presales at CA Technologies.