Having been partnered with AppDynamics for a few years now, we’ve seen the platform grow from a clever but geek-centric tool (that used a lot of Adobe Flash!) to one highly focused on allowing the business to gain insight into how the technology is driving every interaction and transaction with customers and the resulting relationship between technical and business performance. This has been critical to many organisations transforming and disrupting their way into the digital world. Meanwhile, with a couple of clicks, us techies can still dive deep into the diagnostic detail to work out where experiences need to be optimised.
The Winter ’17* release of AppDynamics, their first major one since becoming part of Cisco, builds even further on both of these Business and Technical aspects and brings to life a few golden features that we’ve seen being developed over the past couple of years. Plus, there are a few new gems that will make life easier for us JDS geeks who are tasked with setting up and running the iQ Platform.
*A slight misnomer for those of us in the far reaches of the South Pacific, Tasman Sea, and Indian Ocean.
Just about every company we work with that uses AppDynamics has a use case for understanding journeys through a business process. Online application forms, sales forms, online transfer forms, etc. Take for an example, one of your visits to eBay: you need to select the product (ok, products), add to cart, checkout, enter your PayPal details, confirm. Then tasks are sent off to various parts of eBay and the seller—shipping registration, inventory fulfilment. At some point, a person (or perhaps a drone!) needs to put a box on a truck and drive it (fly it?) to you.
Until now, AppDynamics has been able to monitor and measure a lot of these individual steps as “Business Transactions.” With Business iQ added, we were able to start to build Funnel charts to see steps in the user journey for web apps. With Transaction and Log Analytics, we were able to fill in a bit more of this picture by capturing common IDs, which allowed us to search for events related to a single activity. All of this was still a bit disparate, though, and required us to do some searching and manual analysis to get the end-to-end picture.
Enter AppDynamics Business Outcomes.
Business Outcomes is all about allowing you to join together events from across a full journey—from initiation to fulfilment of the ultimate outcome. By capturing business data across the application, user experience, transaction analytics, and log analytics components of AppDynamics, we can now track every interaction with the system—automated or user-interactive—related to an individual journey across the “Milestones” that represent each major step of the process. Business Outcomes also takes into consideration “offline” processes, such as underwriting.
Managing experience expectations with Experience Level Management (XLM)
AppDynamics is all about understanding the customer experience, and it helps you capture a wealth of data about this. The new XLM component of AppDynamics makes it easier for businesses to analyse that data and report on things like SLAs and KPIs. XLM is basically a new section of dashboards that are specifically aimed at understanding whether any numeric metric is performing to expectations. I say “metric” because, of course, this could be a technical metric like response time, but it could equally be a business metric like revenue.
The new dashboards allow you to use Business iQ (Analytics) data to report on whether those metrics are meeting expectations. For now, it just allows you to automatically calculate a daily measure of compliance, and then report on that compliance level periodically (e.g. weekly). You can also set exclusion periods to exclude times like out-of-business hours or maintenance periods, etc.
Growing and managing the AppDynamics Platform
Some of our clients have so many apps to monitor that they need multiple AppDynamics controllers. One has six already after only a year! Obviously, this can make it difficult to put related apps together so that Tag and Trace will work to tie together apps that talk to each other.
Enter the new Enterprise Console (EC), and Controller Federation.
EC is an evolution of the former Platform Admin tool which allowed deployment of the Event Service clusters. EC now has a web-based GUI interface (no VB or IP tracing here though), and it allows you deploy, monitor and upgrade the Event Service and Controller, including in a high-availability setup. This can be done both through the UI and CLI and can manage multiple “platforms”—the collective term for a set of Controller and Event Service nodes.
This is still in its early days, but it is a good step towards providing a single view across all the AppDynamics platforms and making upgrades and deployments more automated.
Now that you’ve got your platforms managed, what about having them become friends? Controller Federation, also known as Federated Friendships, will do just that. Until now, only applications that are monitored on the same controller could perform Tag and Trace to see how activity flows between different apps. But it wasn’t always convenient or possible to host apps on the same controller. Now, with CF, controllers can become aware of each other, allowing Tag and Trace to work across all apps in your organisation, and allowing for faster troubleshooting by following traffic and drilling down across multiple controllers. SSO support makes this seamless from a user’s perspective.
AppDynamics is great at telling us where issues lie in applications and gives us a lot of information about the server infrastructure context of the apps. But something we get asked by almost every client is: “Can AppDynamics tell us if the network is a problem?”
Until now, the answer has been “sort of.” We could tell if the app was OK, and we could tell if there was some slowness between when one node makes a call and the downstream node receives it, but we couldn’t really say if it’s the network, or the OS, the Load Balancer, Firewall etc. Our answer can now be: “yes.”
Network Visibility looks for network connections leaving/entering your monitored app, and analyses the low-level traffic using the Network Agent, then builds a picture of the network flow and performance into the Network Flow map. Thus, at a glance, you can tell whether issues are occurring within your apps, or if the network infrastructure is causing you grief.
Internet of Things (IoT)
What would a release of software from Cisco be without something about IoT?
IoT devices tend to be small, low powered, running many different flavours of open source or proprietary operating systems and application stacks, and are put in all sorts of weird and wonderful places. None of this is very conducive to running a Java or .Net monitoring agent and having network communications reporting metrics every minute.
To address this, AppDynamics has developed a new set of APIs and some associated SDKs for Java and C++. These allow an IoT software developer to send data about devices and their activity into the AppDynamics platform. This is quite similar in nature to the Mobile monitoring capability but requires manual instrumentation.
Now for the people who have to make it all work
There are a few smaller features that have been released which will make your life as the person who needs to implement and use AppDynamics a bit easier:
Expanded Universal Agent (UA)
There has clearly been a lot of work here since the UA was released in its infancy in 4.3 for Java on Linux only. It can now do Java on Linux and Windows, .Net, the Standalone Machine Agent and the Analytics agent. This means that instead of needing to install and manage individual agents, you can deploy the UA and then let AppDynamics grab the necessary agent files and configs for you—particularly neat for smaller customers who don’t have automation tools for deployment.
One thing in particular that we are looking forward to trying out is the ability to do Live Attach for Java apps. This means instead of needing to stop, reconfigure, and start Java apps to include the AppDynamics agent, the UA can instead identify a running Java process, and inject the agent into it while still running.
A new tool that leverages machine learning to automatically determine which metrics are contributing to a performing system. For example, if response times are slow, the tool may determine if it was CPU, error rates, or memory saturation that contributed to the slowness. This is currently only available in the AppDynamics SaaS cloud for customers who have requested that it be enabled.
On-premise Synthetics agent
You can now host your own Synthetics robot so that you can run scripts from internal locations and/or against internal apps.
New Java framework support
For customers running Mulesoft or Tibco BW, or those running some of the latest clever asynchronous libraries, there is new support for automatic instrumentation here.
Custom dashboard improvements
The ability to format and control the design of widgets has been improved.
Rest APIs for Role-based Access Control (RBAC)
You can now use APIs to manage users and roles, making automation of this easier.
You can now bring up a search box to search across a controller, making it easy to find specific BTs, nodes, metrics, etc.
Analytics Agent Health view
For those using Business iQ and the Analytics Agents, you can now view the health and status of the analytics event pipeline.
The new release of AppDynamics will help businesses better keep track of the ways their customers are using applications, as well as the relationship between technical and business performance. Data and network visibility have been enhanced, cutting down a lot of manual processes for IT teams.
We’ll be following up with more on some of these features as we start to use them in the wild with our customers. Please do reach out to our team if you’re keen to know a bit more about the new AppDynamics release, and we will happily give you a demonstration and talk about how they will fit into your environment.