Previously we have written about the challenges of finding root cause in complex, high scale applications (see “There is no Root Cause in Microservice Applications”). As we have matured our APM capability, we have discovered there are 6 core capabilities needed to successfully tackle these challenges, and one of those is “Focus and Filter”, or, the ability to eliminate the noise and drill into what matters. This blog will go deeper into why this is important and how iOFFICE, one of our customers, leverages this unique capability.
There are two challenges with managing the performance of microservice applications; complexity and scale. Let’s talk about scale. iOFFICE is a very interesting study. iOFFICE would be classified as small to medium enterprise, but their application stack is quite advanced. Here are some of their numbers:
- 33 cloud hosts, split between the UK and US
- 74 Containers
- 300 “components” of middleware (linux, JVM, Tomcat, Docker, ElixirL, NodeJS, Play Framework,, etc.)
- 1200 microservice APIs
- Over 6,000,000 requests/messages between their microservice APIs per day
Those are impressive numbers for a small team! Now let’s put ourselves in the shoes of Jeff Newton, their head of DevOps:
“We typically release new code about 5 times per week. Since I do not write that code, it’s tricky for me to understand how new releases impact the overall performance of the iOFFICE web application. Instana not only monitors our performance, but when we have an issue, I can drill into exactly where the problems are, filter out the noise and focus in on only what matters.”
Instana Founder and CEO Mirko Novakovic recently published a detailed blog titled: Introducing Dynamic Focus for Application Performance Management. Dynamic Focus is a “directed search” capability which enables ANY user to instantly focus down and visualize only what they care about in their Enterprise environment. The challenges of Scale and Complexity are directly addressed with the Dynamic Focus capability because the DevOps user is able to view the enterprise in smaller consumable chunks.
Devops engineers need to ask questions. Human brains use language to ask questions. One can break plain language devops questions into several categories:
- Infrastructure questions
- Services questions
- Health questions
- Version management questions
- Problem solving questions
For Instana to answer questions, Dynamic Focus has re-purposed the Elasticsearch DSL language, which we will simply call a “query”. Let get started with an enterprise with 13 Hosts and 48 Containers running 11 unique Services. But through all this, the goal is always to enable the answering of inquiries about the structure and health of your ever changing enterprise environment.
In the form of a request in plain english, we say:
Once the query is executed, ALL of the resulting Views/Dashboards apply this filter to their respective visualizations of components. This means that the user only sees Infrastructure, Services, Traces and Events/Issues/Incidents that are “related” to the MongoDB Database (defined by the last query). Here are some more examples:
Now, let’s refine the search a bit further:
in the “prod-11” AWS Production Service
Now, let’s look at some queries that are focused on diagnosing problems and are slightly more “dynamic.”
Affected with an Open Issue or Incident”
LIKE ALL OTHER Dynamic Focus queries, once the query is executed, the GUI will only visualize Infrastructure, Services, Traces and Events correlated via that query. We keep emphasizing this aspect because it’s more than and better than a “Search”. Search return a list of results only and drops any context.
Dynamic Focus enables the following:
- Focused View – find the needle in the haystack across all your hosts, middleware, services and even individual traces
- Contextual View – It’s only the entities related to the “Shop Service”. Only Infrastructure, Flow Map, Events and Traces for the “Shop Service”
- View with LESS NOISE – extraneous components and data are filtered out to give the User only what they want to see.
The next query is interesting because it’s created automatically just by clicking on any Incident. Clicking on either an Active or Inactive Incident will instantly apply the following search filter:
The event.type:incident again will only show you Infrastructure, Services, Traces and Incidents and Events that are correlated to the respective Incident. This applies to BOTH Real Time and Historical Incidents.
How iOFFICE utilizes Instana
For organizations like iOFFICE with 100s of elements under management and an intricate environment, the Instana solution offers visibility into every aspect of their technology and application processing. Key benefits of the solution have been:
- Zero configuration effort
- Automated monitoring and alerting of performance, again with zero configuration
- Automatic root-cause analysis
Jeff Newton from iOFFICE commented