Welcome!

AppDynamics the World Leader in APM and DevOps

AppDynamics Blog

Subscribe to AppDynamics Blog: eMailAlertsEmail Alerts
Get AppDynamics Blog via: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Blog Feed Post

Cross-Controller Federation: Ensuring Application Visibility and Correlation

Over the last few years, we have seen an evolution in application topologies.

For example, when AppDynamics first started monitoring applications 10 years ago, a business application was relatively self-contained, with the corresponding tiers and nodes representing the majority of the application’s business logic. As time passed, we saw more distribution of functionality, where an application’s tiers and nodes were more likely to be a subsystem of something larger. To help correlate the business transactions through these various subsystems, AppDynamics introduced cross-application correlation. However, application topologies continued to evolve and today, they’re even more distributed, with multiple teams working on multiple applications. As a result, the responsibility for monitoring an application is distributed as well.

Our Winter ‘17 release addresses the challenge of managing these distributed applications with what we call Cross-Controller Federation.

Customers can now get complete correlated visibility and quick drill-down into the line of code, irrespective of where the application components and controllers are deployed, because controllers can participate in a federation. Federation establishes a platform of trust — allowing application logic to be divided however best for the teams who need to manage it, including in different AppDynamics Controllers — and yet continue to fully correlate business transactions across these applications and Controllers.

With Cross-Controller Federation, our customers can achieve limitless scalability and flexibility to deploy application components across multiple public and private clouds. What’s more, applications managed by AppDynamics can now solve for the following scenarios:

– Large organizations that have deployed multiple Controllers to accommodate various business applications.

– Organizations that have different Controllers based on geographical location.

– Organizations that are typically isolated from one another. For example, a client and vendor who have separate Controller accounts, but business applications and services that affect each other.

The core building block of a federation setup is as simple as establishing a relationship between two accounts, referred to as federated friends. Once a friendship has been established between two Controllers, all inter-account business transaction correlations will be made visible from one Controller to the other.

The diagram below illustrates Cross-Controller Federation flow between the application(s) in “Account A” and “Account B” on different controllers.

FederatedFriendship2.png

The two applications in “Account A” participate in a standard cross-application flow, while the interactions between “Account A” and “Account B” are made possible by the new Cross-Controller Federation feature.

How Does Cross-Controller Federation Compare to Cross-Application Flow?

To help visualize this, let’s look at an example of cross-application correlation. We have two applications (named App_Upstream and App_Downstream) registered under the same account. Each application has two tiers, with a single node on each tier. In this example, each upstream tier makes an HTTP call to a specific downstream tier.

Here’s what cross-application dashboards would like for both App_Upstream and App_Downstream.

downStreamCrossApp.png upstreamCrossApp.png
App_Upstream – Two upstream tiers are shown making cross-application exit calls to App_Downstream. App_Downstream – Two downstream tiers are shown receiving incoming cross-application calls from App_Upstream.

Without Federation

Now, let’s reset our thoughts and imagine that these two applications are registered under different accounts. Without a federation, these two applications will know nothing about one another. The respective application dashboards would look like this:

unresolvedUpstream.png

unresolvedDownstream.png

App_Upstream – Two upstream tiers are shown making HTTP exit calls to unresolved backend – without any correlation details.

App_Downstream – Two downstream tiers show some traffic but have no idea where requests are coming from.

Federation – With Mutual Friendship

Now with a federation – i.e. establishing mutual friendship between the two accounts, both App_Upstream and App_Downstream will become visible to one another, with each having the ability to see federated cross-application correlation.

In order to view a federated application dashboard, users must double-click an external application node and log-in to the other Controller (Note: if single sign-on (SSO) is configured, the user can bypass the additional login).

federatedUpstream.png

federatedDownstream.png

App_Upstream – shows exit calls made to App_Downstream registered under account: customer2

App_Downstream – shows incoming HTTP calls from App_Upstream registered under account: customer1

As application teams start using microservices architecture, the scalability requirements have exploded, necessitating APM scale. With Cross-Controller Federation, AppDynamics is taking unified monitoring to the next level.

Want to learn more about AppDynamics? To see if we’re the right monitoring solution for you, schedule a demo today.

References / Learn More

– Cross Application Flow

– Federated Cross Application Flow

– SAML Authentication

– Configure Federated Friendship

The post Cross-Controller Federation: Ensuring Application Visibility and Correlation appeared first on Application Performance Monitoring Blog | AppDynamics.

Read the original blog entry...

More Stories By AppDynamics Blog

In high-production environments where release cycles are measured in hours or minutes — not days or weeks — there's little room for mistakes and no room for confusion. Everyone has to understand what's happening, in real time, and have the means to do whatever is necessary to keep applications up and running optimally.

DevOps is a high-stakes world, but done well, it delivers the agility and performance to significantly impact business competitiveness.