“What are you doing Dave?” I’m writing a blog article on using Dynatrace to monitor RPA bots Hal.
Automation is a hot topic these days in most IT departments. There has been an industry rush to automate the enterprise and the burden to do this has fallen squarely onto the IT department’s lap. As per usual vendors are pushing a variety of RPA platforms into organizations and most organizations are unprepared for the complexity these RPA platforms are going to introduce.
What is Robotic Process Automation?
“You don’t mind talking about it, do you Dave?” Not at all Hal, I love talking about Dynatrace.
Robotic Process Automation can be used to automate and execute just about any task. https://en.wikipedia.org/wiki/Robotic_process_automation. This infographic from PWC describes some of the capabilities of RPA.
The benefits for organizations are substantial. For example, the team at UIPath (www.uipath.com) found that the work of 800 FTEs could be done by 50 robots leading to an 80% cost reduction.
With that kind of return on investment it is not surprising the amount of investment being made into RPA projects.
Challenges with RPA
“I’m sorry Dave, I’m afraid I can’t do that” Yes you can HAL, and no I’m not going to take a stress pill and think things over.
Introducing RPA into an organization introduces challenges, such as:
- How do you protect your automation investment?
- How do you manage and make sure your robots are available and performing correctly?
- When something goes wrong how do you know what caused the issue?
- How do you distinguish one robot from another when diagnosing issues?
- How do you automate the remediation of your robot automation when things go wrong?
As you can see, you can quickly and easily lose the benefits of RPA just trying to manage and monitor your RPA deployments.
The RPA robots are not magical things, they are typically software processes running on servers (but can also run on client machines). The software processes can be written in anything, but the industry is trending towards technologies which can be easily deployed as containers in the cloud. Automation Anywhere (www.automationanywhere.com) calls these deployments BotFarms.
BotFarms can have hundreds if not thousands of bots executing tens of thousands automation scripts. Traditional monitoring will not be able to keep up with monitoring dynamic BotFarms being deployed in the cloud.
How to monitor RPA Deployments with Dynatrace
“Just what do you think you are doing Dave?” I’m explaining how easy it is to use Dynatrace and how powerful it is at monitoring robots Hal.
For this blog article I deployed Automation Anywhere from an IBM bundled deployment into an EC2 instance running in Amazon AWS. Automation Anywhere uses a .NET based approach to the RPA Clients and Server.
Dynatrace automatically detected the Automation Anywhere server and clients. Below is a view called the SmartScape which shows how Dynatrace automatically detects and maps the relationships and dependencies between RPA Servers and Clients.
Without any additional configuration, Dynatrace automatically starts capturing and baselining every transaction between the RPA Clients and Servers.
Regardless of the technology being used in your RPA Deployments, Dynatrace will automatically identify those RPA technologies.
Below is a view showing how Dynatrace can view a Host and all the processes running on it. Part of the challenge of monitoring RPA deployments will be understanding what one robot (RPA client) is responsible for compared to other robots. Dynatrace makes managing this easier by applying “tags” to RPA Hosts, Processes, Containers and Services. These tags allow you to differentiate and organize like type robots and what the robots are doing.
Below is a screenshot showing an RPA web service used to control the robots. From here Dynatrace will automatically show performance hotspots which could be associated with a performance bottleneck.
For this service, Dynatrace captures every dynamic request being made to it from remote robots. These requests are automatically ranked to indicate which ones are the slowest.
When it comes the robots (RPA clients), Dynatrace is also able to see how they are behaving.
Below is a screenshot showing an Automation Anywhere client process. This is the process which is the remote “robot” that would be executing the automation instructions.
Dynatrace can monitor the health of the robot process and for many technologies (like .NET, Java, NGINX, Node.JS, etc…) can even provide visibility to the methods being run in that process.
Below is a view showing how Dynatrace can identify “Response Time Hotspots” for client and server processes. This can include method arguments, database calls and service requests.
Not only does Dynatrace discover and baseline RPA transactions on both the RPA Client and Server side, but Dynatrace can also get visibility into log files being generated from the RPA Clients and RPS Servers as shown below.
Log File analysis is an important part of monitoring RPA deployments. In many cases critical information will be generated from remote robots. Being able to be notified automatically via ChatOPs tools like Slack or Pager Duty when a robot generates a specific condition is a crucial capability. Below is view of how Dynatrace can query inside log files being generated by RPA clients and servers without having to use a complicated log file monitoring solution like ELK.
Benefits of Using Dynatrace to Monitor RPA Deployments.
“We are all, by any practical definition of the words, foolproof and incapable of error”… Sure you are Hal, how’s that working out for you? Hey, where’s Frank?
As we’ve seen, Dynatrace automatically captures a tremendous amount of data about an RPA deployment. It can automatically detect growth within a BotFarm and track every robot and request they make. If we refer to the original challenges I highlighted earlier on in this blog, this is where Dynatrace becomes an essential component of any RPA deployment.
Dynatrace uses deterministic Artificial Intelligence to automatically create an entity model of a BotFarm and then uses machine learning algorithms to automatically baseline transactions to look for anomalies which could impact end users or service calls being made by RPA Clients.
To illustrate this I shutdown the SQL Server instance that the RPA deployment uses for its database. I did this to see how Dynatrace would alert an organization to an issue which could occur within an RPA BotFarm.
Within moments Dynatrace generated a problem (below).
Based on the details of this problem an organization could use this notification to:
- Generate alerts which could be pushed out into ChatOPs channels like Slack or PagerDuty.
- Create service tickets in ServiceNow or JIRA
- Trigger an automation event to drive Chef, Puppet, Ansible scripts or Cloud buildpacks to react to the problem (ie. adjust memory, restart a service, deploy a new service, etc.).
Dynatrace Problem details can provide insight into the scope of the problem and depth of the automatic analysis being done. This frees up internal resources from having to manage issues with RPA deployments in an ad hoc basis.
Dynatrace provides full stack visibility into problems it detects, automatically providing the root cause of issues impacting the RPA deployment. Below you can see how this visibility extends into issues with the database being used to control the BotFarm.
RPA Deployments and BotFarms will rely on database services to constantly keep the robots executing their automation routines. Below shows how Dynatrace provides visibility down into specific SQL requests being made by robot clients. This includes being able to do a backtrace to see what RPA services and robots are being impacted by a troublesome database call.
How to include Dynatrace in my RPA Deployments
“I’m afraid, Dave”… Don’t be Hal, deploying Dynatrace is quick and painless, way easier than opening the pod bay doors.
Dynatrace automates the performance management of RPA deployments and BotFarms. It frees your teams from having to manage tedious RPA deployments and ensures that your organization optimizes the investment they are making into Robot Process Automation projects.
Dynatrace is ridiculously easy to deploy on hosts and in cloud environments. Once deployed it requires no additional configuration to detect your RPA servers and clients. For this blog, I spent most of my time trying to figure out how to deploy the RPA platform, Dynatrace automatically did everything else.
Have you started an RPA project? If so we invite you to try Dynatrace. Here is a 15-Day Free Trial of Dynatrace which you can deploy out into your BotFarms and RPA deployments. We welcome your feedback on how Dynatrace improves the performance of your projects and how Dynatrace becomes an essential component of any RPA deployment.