Updates to Microservices iQ: Gain Deeper Visibility into Docker Containers and Microservices

Enterprises have never been under more pressure to deliver digital experiences at the high bar set by the likes of Facebook, Google, and Amazon. According to our recent App Attention Index 2017, consumers expect more from applications than ever before. And if you don’t meet those expectations? More than 50 percent delete an app after a single use due to poor app performance, and 80 percent (!) have deleted an app after it didn’t meet their expectations.

Because microservices and containers have been shown to help businesses ship better software faster, many are adopting these architectures. According to Gartner (“Innovation Insight for Microservices” 2017), early adopters of microservices (like Disney, GE, and Goldman Sachs) have cut development lead times by as much as 75 percent. However, containers and microservices also introduce new levels of complexity that make it challenging to isolate the issues that can degrade the entire performance of applications.

Updated Microservices iQ

Today, we’re excited to announce Microservices iQ Integrated Docker Monitoring. With the Microservices iQ, you can three-way drill-down of baseline metrics, container metrics and underlying host server metrics — all within the context of Business Transactions and single pane of glass.

Now, together with the baseline metrics that you rely on to run the world’s largest applications, you can click to view critical container metadata plus key resource indicators for single containers or clusters of containers. You can then switch seamlessly to a view of the underlying host server to view all the containers running on that host and its resource utilization.

To troubleshoot a problem with a particular microservice running inside a container, the most important determination to make is where to start. And that’s where Microservices iQ Integrated Docker Monitoring stands out.

Is a container unresponsive because another container on the same host is starving it of CPU, disk or memory? Or is there an application issue that has been exposed by the particular code path followed by this business transaction that needs to be diagnosed using Transaction Snapshots or other traditional tools?

Sometimes the source of the problem is easy to spot, but often not: and that’s where another significant enhancement to Microservices iQ comes into play: heat maps.

Heat Maps

Heat maps are a powerful visual representation of complex, multi-dimensional data. You’ve probably seen them used to show things like changes in climate and snow cover over time, financial data, and even for daily traffic reports. Because heat maps can abstract the complexity of huge amounts of data to quickly visualize complex data patterns, we’re leveraging the technique to help address one of the hardest challenges involved in managing a microservice architecture – pinpointing containers for performance anomalies and outliers.

When a cluster of containers is deployed, the expectations is each container will behave identically. We know from experience that that isn’t always true. While the majority of the containers running a given microservice may perform within expected baselines, some may exhibit slowness or higher than usual error rates, resulting in the poor user experience that leads to uninstalled apps. Ops teams managing business-critical applications need a way to quickly identify when and where these outliers are occurring, and then view performance metrics for those nodes to look for potential correlation that help cut through the noise.

With the latest Microservices iQ, we have added support for heat maps in our new Tier Metrics Correlator feature which show load imbalances and performance anomalies across all the nodes in a tier, with heat maps to highlight correlation between these occurrences and the key resource metrics (CPU, disk, memory, I/O) for the underlying servers or container hosts. Issues that would have taken hours to investigate using multiple dashboards and side-by-side metric comparisons are often immediately apparent, thanks to the unique visualization advantages that heat maps provide. Think of it like turning on the morning traffic report and finding an unused backroad that’ll get you where you’re going in half the time.

Learn more

Find out more about updates to Microservices iQ, Docker Monitoring, and a new partnership with Atlassian Jira.

 

Introducing Microservices iQ

As part of AppDynamics Summer ‘16 release, we are announcing Microservices iQ, a new intelligent application performance engine, that enables enterprises to efficiently manage microservice based application environments and deliver performance that delights their customers while exceeding their scale, sophistication and velocity expectations.

Microservice architecture is an increasingly popular style of enterprise application development where instead of large monolithic code bases, applications are comprised of many fine-grained components or services developed and operated by smaller teams. These independent services may be used in conjunction with other services to support one or more business transactions.

 

Monolith vs Microservices.png

Figure 1: Monolith vs. Microservices 

A microservices architecture significantly enhances the agility and accelerates the velocity of continuous integration and delivery of enterprise applications. However, this approach can result in an exponentially larger number of microservices that are loosely coupled and communicate primarily via asynchronous mechanism, creating increased complexity and a significant management challenge.

AppDynamics, now powered by Microservices iQ, automatically detects the service endpoints of the microservices architecture and allow them to be viewed in isolation of distributed business transactions. We can understand microservice lifecycles and ensure data continuity despite the intermittent presence of the underlying application infrastructure. We can check the availability of microservices within your network as well as the availability of 3rd-party services. Our new Contention Analysis provides the next level of performance diagnostics for microservices, ensuring that a particular service is not a bottleneck in blocking business transactions.

Here are the key capabilities of the AppDynamics Microservices iQ:

Service Endpoints: AppDynamics automatically detects service endpoints of your microservice architecture, enabling you to shine a spotlight on microservices without worrying about the entire distributed business transaction that uses it.

Screen Shot 2016-07-08 at 11.42.28 AM.png

Figure 2: Service Endpoint Dashboard

DevOps teams can monitor the key performance indicators (KPIs) like calls per minute, average response and errors per minute of their microservices not only in production, but also in early development and throughout the entire lifecycle using the Service Endpoint Dashboard (Figure 2).

The dashboard also lists the snapshots with detailed diagnostics that enables the DevOps teams to drill down and isolate the root cause any performance issues affecting the microservices.  

Thread Contention Analysis: Given the independent nature of components in microservice architectures, it is more likely that a particular microservice is invoked as part of multiple business transactions and can become a performance bottleneck for those transactions if it blocks their execution. The new thread contention analyzer helps identify methods, within the scope of service endpoints, where threads are blocked by identifying block time, blocking object and the blocking line of code.  As you can see in the screenshot (Figure 3) of the new thread contention analysis window for the service endpoint, blocking threads, blocking object, block time and the reference to the line of the code are highlighted.

Screen Shot 2016-07-07 at 4.42.12 PM.png

Figure 3: Thread Contention Analysis

This feature can significantly minimize the time required to isolate and resolve application performance issues with the microservices and the business transactions invoking them.

Elasticity Management: In highly dynamic environments, with microservices deployed in elastic infrastructure like containers or the cloud, the underlying infrastructure nodes may scale up or down rapidly, creating a management nightmare to track these microservices and the infrastructure nodes in the context of the associated business transaction.

AppDynamics maintains logical identity and historical data about these transient nodes for a certain period making it easy to track them in context of a business transaction. In addition, it minimizes the system’s overhead by recycling the logical node identity after a certain period to ensure that the enterprise applications can scale to meet their growing business needs.

Extending AppDynamics App iQ Platform: Microservices iQ extends AppDynamics’ existing App iQ Platform that enables enterprises to deliver performance that exceeds the scale, sophistication, and velocity expectations of today’s customers. The platform is the foundation to AppDynamics’ customers’ success and powered by intelligent Application Performance Engines. These intelligent performance engines work in concert to help ensure enterprises can deliver peak performance across any application, user engagement and business transaction.

The new Microservices iQ capabilities enhance the core Appdynamics Platform that is already designed to provide end-to-end visibility into agile application infrastructure where microservices are deployed. For example, AppDynamics can automatically discover a large number of microservices, dynamically baselines their performance, collects deep diagnostics and alerts when the performance deviates from the normal baseline. Manually instrumenting these large number of microservices and setting static threshold for altering can be a very difficult task if not impossible.   

To learn more about AppDynamics Microservices iQ, refer http://www.appdynamics.com/microservices