We have come to rely on agents to help provide insights into our applications and environments through analysis with application performance monitoring (APM) solutions. And with the advent of OpenTelemetry™, we have even more ways to ingest data. Leveraging agents to collect data, however, is still the most common and trusted method for data ingestion and will be for some time.
Using a language library-based agent such as Java, .NET or PHP is often the most simple and straightforward way to start collecting the data necessary to gain insightful information that helps application and operations teams understand the health and performance of the environment.
All one generally needs to do is install an agent, alleviating the need for code modification or other changes that may impact the development cycle. They are also generally able to be managed by those with little to no application development experience, making it the most ideal solution for small, medium and large organizations alike.
Complexities in the customer environment
Leveraging language-library agents is a great way to quickly gain value from an APM solution. However, managing these agents comes with challenges. There are environments spread across all types of infrastructure and geographical locations, and there are different applications that require their own types of agents with different types of instrumentation configuration needs — and when it comes to addressing scale and adding on the layer of OpenTelemetry needs, this endeavor gets even more complicated.
What is more, the need to maintain agents can come at an unexpected cost, with the obligation to adhere to compliance standards and regulations by being able to quickly react to security flaws, for example. This is a real burden put on teams who are responsible for maintaining proper versioning. How does an operations team maintain 10s, if not 100s, of thousands of agents?
The reality is that most organizations can’t. And this means they are putting the organization and their customers at risk!
You asked, and we listened!
We have been listening to our customers who made it a point that they need to address version compliance that reduces risk and also streamlines agent lifecycle management tasks.
Security flaws are being discovered all the time, long after code is deployed, such as in the case of log4j, where malicious attackers could execute arbitrary code through a language library vulnerability. Being able to react properly became an immediate necessity. Cisco AppDynamics reacted swiftly by providing our customers with a free trial of Cisco Secure Application that provided capabilities to identify where these vulnerabilities existed, but for our customers to take advantage of this offer, they needed a current version of our Java Agent and many customers had not upgraded recently and were out of compliance. Before they could take advantage of the special offer, they had to upgrade their Java agents to work with this innovation. A slow response left many companies vulnerable simply due to an inability to react in time. We want our customers to be able to react and address upgrade needs at a moment’s notice.
When an application is at risk, the organization is at risk. Organizations that provide a proper agent management solution must focus on ensuring a secure and optimal environment that without, could even hurt the brand and lead to fines.
With our November 2023 release of the new Smart Agent and an improved agent lifecycle management UI, organizations are now able to address these challenges with gusto!
Let’s learn more about how we are addressing our customers’ needs!
A robust agent lifecycle management solution
We are releasing a robust agent lifecycle management solution that leverages a Smart Agent that will orchestrate agent lifecycle tasks through a centralized user interface.
Think of this like the basic ABCs.
- Adhere to versioning compliance standards.
- Bolster upgrade processes at scale.
- Conserve agent health, agility and upgrade activities.
For those looking to simplify their agent lifecycle management tasks, the November 2023 release of the Smart Agent, with the improved agent management user interface, you will:
- Be clearly informed when updates are available.
- Quickly identify which agents are out-of-date or need to be updated and which applications those agents affect.
- Have filtering capabilities to zero in on which agents or environments need to be investigated for compliance reasons.
- Be able to automate efficient upgrades at scale.
- Manage common upgrade challenges such as rollback operations and view historical records with logs aiding in troubleshooting.
Keep reading to understand how all this works and where we are going!
Capabilities of agent lifecycle management
Before we get into the details of understanding how it works at a deeper level, let us first share what capabilities are being provided by focusing on the three main value pillars. Do you remember your ABCs?
Adhere to versioning compliance standards
When it comes to adhering to compliance standards, we must account for what risks are imposed when an agent is not running a supported or appropriate version. With agents being rolled out at scale, accounting becomes the first challenge — knowing where agents are and what their status is. AppDynamics agent management ensures you can reduce the risk and adhere to compliance standards by:
- Quickly identifying which agents are no longer supported or are out of compliance.
- Providing a clear indication of when an agent update is available and the reference to more information.
- Offering inventory to be exported for reporting and analysis, such as by agent type, application or whether they are under management control.
- Being able to review historical activity supported with logs.
- Catering to version control — in the case of not being able to run the latest (i.e., one revision behind the latest).
Bolster upgrade processes at scale
One of the biggest challenges, beyond identifying which agents need to be upgraded to adhere to compliance, is how to manage those upgrades. With the Smart Agent and management UI, you will be able to:
- Upgrade one or many agents of the same type at the same time.
- Leverage the AppDynamics portal for reliable downloads, and in the next phase, we will provide the option to use a local repository for large-scale upgrades.
- Support both a rapid default upgrade or a fully customizable one.
- View tasks in progress and historical records with logs.
- Provide rollback capabilities should an upgrade fail.
Conserve agent health, agility and upgrade activities
There needs to be confidence in the ability for agent management to maintain agent health, agile environments and upgrade processes. Agent management should not impact existing workflows, and any activities need to be relied on in a consistent manner. Validation needs to be a part of this workstream both before and after any operation. We support this by being able to:
- Ensure agents do not impact the performance of the application environment.
- Support accountability and troubleshooting needs.
- Offer an inventory export in a standard format.
- React to planned and unplanned operational workflow activities consistently and reliably.
- Rollback to prior version if there are problems upgrading.
How it works
To get started, all you simply need to do is install the Smart Agent on each host machine. This process of installing is not unfamiliar. The process is the same for existing deployment methods used today for our other language library agents or the AppDynamics Machine Agent. Using our new Ansible scripts will help to simplify the deployment process of Smart Agent at scale.
Once the Smart Agent is present on a host machine and has been registered with the controller, you will carry out all the agent lifecycle management operations from within the user interface.
Now that is simple!
The Agent management user interface
The Agent Management home page is where you can view the inventory of all your existing agents. You will quickly see the status of all your agents, whether they are out-of-date or need to be updated. You will also see and can filter by the agent type, their version, application, tier or node — or whether they are being managed by the Smart Agent.
A real-world upgrade scenario
Let us suppose there is a new compliance requirement put in place that prohibits software versions older than a set number of months — with a focus on addressing compatibility and potential security risks. We know there are over 10 thousand agents or more out there, but we are not able to connect to each host to determine the version or address the upgrade on an individual basis.
With simplified agent management, the Smart Agent and central UI controls allow you to filter the agents in ways that allow us to identify agent versions, their type, which applications and environments they are associated with and address the need to upgrade based on compliance needs.
You just need to choose which agents and allow AppDynamics to orchestrate the rest!
You can monitor the progress in a Tasks In Progress menu, and once that task completes, you can go to the History menu, where you can confirm the upgrade was successful. Should troubleshooting be necessary throughout the process, you can leverage the log file in that History menu.
And that is it! It does not get any simpler!
Please note: Changes will not take place until you restart your application. AppDynamics will not restart your applications. This is preferred to not cause unanticipated application disruptions and allow you more control. When you restart your application, the new agent instrumentation will replace the previous version. Until then, you’ll still be using the prior version to avoid disruption.
Agent management in a nutshell
Agent management consists of installing just one Smart Agent and then leveraging a centralized management UI to support managing the entire agent lifecycle.
We focus on the ABCs: Adhering to versioning compliance standards, Bolster upgrade processes at scale and Conserve agent health, agility and upgrade activities.
We are simplifying agent management so organizations can focus more on building what they need, and less on maintenance support. AppDynamics agent management provides the tools and processes that reduce the time and effort involved with maintaining agents and offer a clear path to address incidents that pose security risks while adapting to growing changes in environments with validity and confidence.
In the very near future, we will be providing auto-discovery and auto-deploy capabilities that reduce the need for deep application or domain knowledge. By enabling operations teams with the information as to which applications are running on a host and what language they are written in, any guesswork is practically eliminated. This reduces an enormous amount of effort — needing to engage with multiple teams that have deeper domain knowledge. With the auto-discovery aspect of Smart Agent, we reduce the overhead of central IT teams having to determine different application technology.
We are additionally working on simplifying agent management in Cisco Cloud Observability that supports OpenTelemetry™ to manage AppDynamics-managed collectors, ensuring our customers, regardless of their journey, have the most robust agent lifecycle management solution on the market.
We want customers to manage the entire agent lifecycle with just a few clicks, be security compliant and enjoy the benefits of all our latest features. Start taking advantage today by deploying the Smart Agent, found on the accounts.appdynamics.com downloads portal, and using the improved Agent Management UI.
Register now for the Simplify agent lifecycle management with Smart Agent for Cisco AppDynamics webinar and see how Smart Agent saves time, flags out-of-compliance agents and accelerates app instrumentation with our subject matter expert.
Additional Smart Agent for Cisco AppDynamics resources:
OpenTelemetry™ is a trademark of The Linux Foundation®.