Recently I was asked to help a customer get up to speed with CA Application Performance Management (APM) 10.5 and some of its new features and capabilities including dashboards. As you could imagine, there is a bit of a learning curve for a customer coming from an older version.
In this instance, one of the key requirements was to create dashboards quickly so they could give APM access to several of their app and support teams as part of their on-boarding strategy. They primarily had three categories (or roles) of users for their dashboards, as described below, along with what the main concerns are for the users in each of the roles:
■ Executive: "How are my revenue impacting services doing and is end user experience good?"
■ Support: "Are systems, apps and data centers that am responsible for healthy and if not what's the root cause and who do I triage to?"
■ App Dev: "Are any of my recent changes to servlets, EJB's and DB's causing any negative impact and if yes how and what's the root cause?"
Apart from role based dashboards, another ask was the ability for a user to view his or her own data and nothing else. Now these are nothing unusual and many of our customers have similar requirements, however traditional Application Performance Monitoring tools don't offer an easy solution.
The Solution – APM 10
Enter APM 10 – it completely redefines the way dashboards are created and used. Among many features and functionalities - APM 10 introduced the concept of Perspectives, Attributes and Universes that together make dashboard creation a piece of cake. Before we get into the details let's quickly recap what Attributes, Perspectives and Universes are:
■ Attributes: Are meta data associated with the Team Center elements like vertices and edges that give more information about that element. Attributes show up on the right-hand side of Team Center when you select a vertex or an edge (E.g. Location, Owner etc.).
■ Perspectives: The ability to set views by grouping attributes (E.g. AWS perspective based on grouping of attributes like Region, Apps and EC2ImageID). And allows the user to create a Team Center view that reflects their mental map of the layout.
■ Universes: Allows the user to define ACL based on user info and attribute data. For example, you can select all the Team Center elements based on a certain application (attribute here is application) and assign only the users who are responsible for those apps.
Now that we understand some of these concepts let's see how APM 10 makes dashboard creation easy, going back to our customer use case. We started off with 1 perspective for each of our roles i.e. Executive, Support and AppDev. Each of these perspectives were grouped by following attributes:
■ Executive Perspective: BT, Application
■ Support Perspective: Location, Application, Hostname
■ AppDev Perspective: Application, Type (component)
These perspectives definitions were determined by the customer based on what's important to a role. Yours could be different. These perspectives formed our templates. In APM 10 this is as simple as creating 3 new perspectives with relevant attributes from the perspective drop down and took the customer less than a minute or two to create.
Next, we needed to populate each perspective with relevant data and associate users. For this we leveraged APM 10's Universes and the customer created new Universes based on data access requirement (in this case we defined Universes based on the application). Once the Universes were defined the customer associated the data to each template relevant to that Universe based on attributes and filters.
Last but not least, we needed to associate appropriate users to each Universes so that a user who is responsible for say App A, when logged in, would only see data related to App A. This was done in the settings tab by associating users to the Universe. Once we had one template completely nailed, the customer went on to create additional Universes based on other apps.
All in all we were able to complete defining dashboards within 1-2 hours that could now be used for any number of users with the defined roles and anytime a new app came in that required a dashboard, all we needed to do was define a Universe, associate team center data and relevant users and all our templates would get automatically populated. If a new view (template/perspective) was required, it would take only a few minutes to come up with one and it would automatically show up with relevant data.
In summary, the old way of creating dashboards (which pretty much every APM vendor follows) is cumbersome, error prone and time consuming. It's hard to maintain and requires constant tweaks. With APM 10 and dynamic dashboards in just a matter of minutes one could create templates and populate them with data that is relevant to the user, making it effortless, clean and easy to maintain.
Srikant Noorani is Sr. Engineering Services Architect at CA Technologies.
To learn more about the dashboarding capabilities in CA APM, watch this video: