Robotic Process Automation (RPA)

 View Only

Concurrent Bot Execution

By Jukka Juselius posted Tue December 01, 2020 01:38 PM

One of the most exiting capabilities that we have in IBM RPA (WDG Automation) is the capability to run concurrent bot executions within one runtime environment. This can significantly reduce the total cost of your RPA deployment since you do not need to reserve many Windows computers / virtual machines to run your bots. I just actually presented this topic in our IBM Automation Recipes series and if you follow the link, you can register to watch my presentation (Concurrent Bot Execution, 15 mins) on-demand whenever you want. Or you can continue reading this blog and visit the Automation Recipes afterwards 😉

Before diving into concurrent execution, why is it so important? Well, if you think of all the different use cases and also the different ways how you can trigger a bot to be run (the picture below), it's quite obvious that at some point you need to start running your bots in parallel, them executing simultaneously.

The normal way for a RPA solution to facilitate this is what we call horizontal scaling in IT. That means adding new computers/nodes/VMs so that there will be more runtime environments to facilitate concurrency. This also means more environments to manage and therefore more costs for our IT operations. For comparison, vertical scaling is an approach where we use existing runtime(s) to run more than one execution instance within the runtime. The illustration below tries to clarify the difference.

As I already mentioned, RPA solutions are normally scaled up using horizontal scaling, because RPA platforms do not support vertical scaling. Bummer, right? But IBM RPA does support it!

With IBM RPA you can run up to 15 (and over) bots running concurrently within one runtime. Number 15 is just a rule of thumb and the actual number of concurrent bots really depends on the available resources for the runtime and what the bots are doing: how long would they run, how many applications they need to launch and keep open, etc. Nevertheless, IBM RPA does not have any hard limit for the number of concurrent bots and we also support both Windows workstations and servers for running concurrent bots.

Finally, it all comes down to benefits - as always. As I already mentioned, when being able to use the concept of vertical scaling, you can potentially save a lot with your IT operations costs. Less (virtual) infrastructure means less management needs and ultimately less operational costs. Another big thing is that when you need to scale up to enable concurrency for your automations, it will be really easy. You just need to entitle your runtime(s) with more concurrent licenses. Nothing more to install, nothing more to operate on.

I guess I still need to mention that for your RPA production environment, you'd propably run more than just one runtime to have basic high availability and fail over in place. But it does not undermine the concurrent execution model anyhow. Instead of runing two bots in parallel using two runtimes for your production, you could be running up to 30 bots in parallel with concurrent execution with the same two runtimes. That's a huge difference.

P.S. If you want to see a demo, click the link at the start of this blog for our Automation Recipes presentations, register to my Concurrent Bot Execution webcast to watch it on-demand. That also includes a demonstration at the end. Cheers 👍🏻
1 comment



Tue December 08, 2020 03:17 AM

Nice article. I was in the assumption that concurrency was limited to backend interactions only (without a GUI) but after reading this article and seeing the companioning demo recipe, it is clear that it can interact simultaneously with a GUI. Thanks Jukka.