Viewpoints

Application Observability with Kubernetes


September 20, 2017 –

As all industries are increasing getting reinvented with technology, an increasing number of companies are writing software to drive revenue growth. The cloud platform providers such as Amazon, Microsoft and Google provide a large number of application and data services via API and do so an increasingly new set of vendors like Paypal, Twilio, Stripe, Shopify and Google Maps. This makes it very easy for developers to quickly build and deploy application components. Products like Kubernetes and Docker make it easy to deploy these components. Products like Mulesoft and Google Apigee make it easy to extend existing on-prem enterprise applications with APIs. As applications are deployed on mobile devices and all traditional devices becoming connected devices, the number of application components is growing exponentially. In serverless architectures like Amazon Lambda every function call is an application component and they are ephemeral and instantiated only on use.

While application components glued together with APIs makes it easy and fast for developers to build new application functionality, it fundamentally changes what is needed to operate these applications for consistent performance. The applications increasingly start looking like a dynamic network of application components where the interactions between these components play a much bigger role in the customer experience. The traditional approach to end-point based application monitoring with instrumentation and agents from companies like New Relic, AppDynamics, Datadog, Dynatrace, Amazon XRay etc. is necessary but no longer sufficient. This traditional approach may work longer if an organization can get most of its developers to consistently use instrumentation for all code that can impact performance and limit the use of cloud and external vendors API services. In the long term, Ops needs the ability to deeply understand the interactions between application components many of whom may be third-party services and look for early signals in the content of the APIs to smoothly run their applications. This creates the need for a new class of product such as Netsil for Application Observability.

The operations teams from companies like Twitter, Google and Yahoo where members of the Netsil team come from have been building tools in house for application observability. Starting with grants from the National Science Foundation, Netsil has been able to develop fundamental technology for very efficient in-memory processing of network bitstream against a grammar specification of APIs to reconstruct full content of every API transaction and package it for easy deployment within an enterprise perimeter or as SaaS. The result is that they can deliver complete application observability independent of the application stack, application component location, developer consistency and use of third party services. It is like Google Maps for distributed cloud apps. Kubernetes production deployments have emerged as the most common deployment use case for Netsil. Most Kubernetes cluster run multiple applications and Netsil allows the operators to identify issues on all their applications before they become critical and so they can sleep well at night.