Modernizing APM for DevOps and Beyond

By guest blogger Ameet Patel, Enterprise Angel Investor & Advisor (Avi, BigID, Guardicore, Instana, LeanIX, Snyk & more)

This summer, Instana raised a $30M Series C round of financing led by Meritech with follow on participation from Accel and myself, one of the early seed investors. I thought it would be interesting to share the investor’s viewpoint, from the diligence process, of the evolving DevOps tooling marketplace – to help business practitioners and DevOps professionals understand why we continue to be bullish about the next generation of application management.

In brief, we invested in Instana because we believe that the team, product and underlying technology are well positioned to be the market leader in a new generation of APM (APM 3.0) tooling specifically built for cloud-native technologies and DevOps development techniques. So that you can index to the part most intriguing to you, this post is segmented as follows:

  • The Macro-Trend: DevOps and the New Application Delivery Organization
  • APM 3.0
  • Instana: A differentiated approach

The Macro-Trend: DevOps and the New Software Organization

DevOps can be thought of as the culture, processes and software that glues software development and software operations together. The purpose of DevOps is simple: to deliver better software experiences to the end customer as fast as possible. In its purest sense, the economic system is ultimately meant to reward those who delight and serve the customer by means of profits. Companies, seeking happy customers and happy shareholders have adopted a DevOps approach to do so.

DevOps ultimately promises to improve the customer experience by improving application delivery and application availability, but how can companies tell if their DevOps team is meeting those goals. The 2018 State of DevOps Report produced by Puppet and DORA segmented the key metrics for measuring the excellence of a DevOps organization into four components:

  • Development frequency
  • Lead time to changes
  • Mean time to recover (MTTR)
  • Change failure rate

An engineering leader need not look further than the following chart to see the business value of DevOps excellence:

DevOps excellence increases application delivery and availability by orders of magnitude. Delivery and availability excellence means happier customers and happier software teams. Faster delivery means higher ROI of the IT spend to the business. Higher availability means more uptime for customers and fewer midnight ‘PagerDuty’ calls for software teams.

Ultimately, DevOps enables these operational efficiencies by introducing beautiful abstractions that enable software development teams to specialize more and abstract code away from time-consuming efforts like infrastructure maintenance, hardware compatibility, and deployment processes. Ultimately, introducing these decompositions and abstractions, through tooling and software design, enables DevOps excellence. The “Modern Software Organization” deconstructs large engineering problems so that individual members of the software team can leverage beautiful abstractions to build much better applications for their business. DevOps plays an integral role holding all this together.

APM 3.0

Every time there is a fundamental change in the underlying infrastructure stack, a new – more valuable – wave of management software comes into the marketplace, because new management technology is needed to deal with the new stack.

Application Performance Monitoring (APM), as it’s name suggests, effectively enables software teams to monitor application performance and availability. Every time there is a fundamental change in the underlying application/infrastructure stack, a new opportunity arises. Here is a brief history:

In the beginning (“APM 1.0”), Wily Technology (CA Technologies) and Precise (Veritas) owned the APM space by providing deep visibility into production Java applications. In 2006 Dynatrace Software GmbH was founded and in 2008 AppDynamics came on the scene. Also in 2007, Lew Cirne, who had founded Wily (acquired by CA), launched New Relic. Over the following years AppDynamics and Dynatrace became the leading APM for Java applications at large enterprises. New Relic became the leader for SMBs. This APM 2.0 generation differentiated themselves with deep visibility into distributed applications (as opposed to the 3-tier applications of APM 1.0). Deeper visibility was accomplished with new agent technology, but as with everything engineering there were tradeoffs. The downside of APM 2.0; that the more instrumentation you add the more overhead you add. Yet APM 2.0 improved visibility into SOA applications and continues to be successful in the marketplace. However, all of these platforms were built to monitor; 1) monolithic applications, 2) with relatively static infrastructure and 3) for applications largely programmed in Java and .NET. Today’s applications bear little semblance to those three attributes.

Firstly, the age of containers and Kubernetes is upon us and here to significantly disrupt the static monolithic paradigm. Consider the following chart of reviewers of Kubernetes from their CNCF DevStat Page:

 

 

 

As for heterogeneity of programming languages, we need look no further than the TIOBE Index to see that while Java remains king, the times are changing:

 

 

More so, we can reference a Google trends comparison as a leading indicator that suggests an even more impactful shift away from Java as people Google the languages they are learning:

 

Odds are that even if you are a Java shop, some of your developers are working in other languages they prefer (and may be better at). The microservice architecture in fact enables this.

APM 2.0 was not built for this modern software organization. As such, the APM 3.0 opportunity is significant. New Relic is over $5B in market capitalization. If AppDynamics stayed public and simply tracked the NASDAQ index, it too would be over $5B in market capitalization today. Dynatrace would likely be a multi-billion dollar company as well if it were public. Though these APM 2.0 players are trying to adjust to the new world order, APM 3.0 players are significantly better positioned to capitalize on the requirements of today’s cloud-native architectures and DevOps techniques.

Instana: A Differentiated Approach

Technologically and organizationally, Instana is well positioned to be the leader of the APM 3.0 wave for the following reasons:

First, Instana’s monitoring system is significantly lighter weight than APM 2.0 offerings without sacrificing on “depth.” In fact, Instana’s depth is exceptional delivering 1 second metric granularity and a distributed trace for every user request, the best in the industry:

 

 

By making their agent much lighter, Instana has created an APM solution that is highly compatible with a containerized world. During diligence, we consistently heard that one of the APM 2.0 players, for example, routinely crashed containers due to RAM requirements caused by the agent. Instana is exceptionally good at low latency communication with tiny footprints and minimal packets size. Instana’s CTO, Pavlo Baron, literally wrote the book on Erlang (though they are not an Erlang shop, this goes to show how serious they are about communication software).

Second, the high rate of change of modern applications demands a new level of automation to “keep up” with the continuous delivery of new code. Instana continuously, and automatically, discovers, maps and monitors all hosts and “apps” whether they are bare metal, virtual machines, or containers. One of my favorite visualizations is what they call the application “Death Star”. In the following visualization each node in that graph represents a microservice API:

 

This is all in a heterogeneous architecture. Imagine manually instrumenting that in the age of APM 1.0. Even in the 2.0 age this type of instrumentation would be extremely complex. With Instana, any changes due to code deployment, container allocations, re-configuration, etc. are immediately discovered, understood and visualized automatically.

Third, Instana is extremely friendly to the proliferation of languages due to the microservice architecture in the modern software organization. The platform offers automatic tracing for nine languages (including Java) and also has OpenTracing support. This tracing approach abstracts away the language layer and offers a clearer picture for application monitoring. Traces are correlated to the full tech stack the code was run on, with their timing data used to monitor API performance. Users of this feature tell us that it is a complete game-changer for their organization. We liken it to an intelligent debugger, but for extremely complex applications graphs, it even looks like one:

 

Finally, Instana is equipped to deal with the massive dynamic applications that result from these architectures with an AI approach to discovery, problem detection and troubleshooting. Their robot mascot, STAN, is more than just a toy – it is the personification of their AI system. AI is needed for microservice applications because of scale, even small systems have at least 50 APIs. Humans cannot understand all the dependencies without some AI assistance much less understand any impact to overall service performance. To handle these applications, Instana’s APM recognizes patterns, makes decisions and guides users to find bottlenecks, troubleshoot and resolve problems.

An especially fun part of the diligence process was speaking to Instana’s customers, which include a number of Fortune 500 / Global 2K organizations. A common theme emerged, regardless of company size: These customers chose Instana because they were experiencing massive changes to their software delivery organizations.

They described why Instana is the perfect tool for their DevOps transition, specifically how Instana’s automation means that their applications are always monitored immediately after CI/CD code pushes. They also described how Instana is being provisioned to their whole DevOps organization, instead of just for a few experts. In fact, here’s a chart we saw for user growth at one such customer. Cleary this creates a significant ROI for the customer by making the whole devops more efficient with operations and empowering them with optimization information.

 

This combination of exceptional team, market opportunity, customer traction, technology and execution is why I once again invested. I would like to thank the extended team at Instana for their contribution and insights to this post. I look forward to partnering with them and our investors in building out APM 3.0 and beyond.