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.
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.
|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.|
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:
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).
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.