Autoscaling Unattended RPA with Power Automate
Autoscaling your digital workforce is the most awaited solution that many of you would have thought about. I used to always think about autoscaling whenever I come across long running workflows that runs for hours together. And the wait is over. You can now run big unattended automation jobs across multiple VMs dynamically at scale with the new Azure Virtual Desktop integration starter kit for Power Automate.
With Power Automate you can now configure dynamically scalable unattended RPA to run huge workloads at ease. That means you no longer have to use a user PC or laptop. Your Power Automate flows can run in a virtual machine using an automation account, and that VM doesn’t need to be always up and running. It can wake up, run your automation, and then stop on a schedule. Also with Azure Virtual Desktop integration starter kit, you could even run large-scale automations and elastically scale the number of VMs to distribute your workload across multiple computers. Once the automation is complete, it can auto shut down your VMs so you don’t have to pay for idle compute.
Most of you should have run your desktop flows in a local PC or Laptop. But what if you have to execute transactions all thru the day in real time as and when an email arrives. May be your Laptop / PC is switched OFF at that time and can’t run that desktop flow. This is when you think about unattended RPA.
In power automate “Run a Flow” action item, you can set the run mode to “Unattended” along with an always-on virtual machine to run desktop flows 24/7. You will need a local account’s username, and the password for the robot to run. It’s a good idea to first test your automation with attended mode so that you can troubleshoot any issues and then later switch it to unattended mode.
You can also monitor your jobs running in Power Automate in the VM monitoring page, where you can see all the VMs connected. By enabling the auto refresh option, you will be able to see a real time view of the transactions being processed.
Note that you will need to purchase the Power Automate unattended RPA add-on for this feature to be enabled. If you want to know more about the licensing options for Unattended RPA Add-on, refer to the link here. It costs roughly about $150 per robot/month.
Your Unattended RPA can run 24x7. But what happens if your business improves, and the volume shoots up. You know that a single VM can’t process all the orders and you need add more capacity. In this case, you need an elastic infrastructure that can grow and shrink the virtual machines based on demand. Microsoft now offers dynamic load balancing across a group of machines thru Azure Virtual Desktop. They have provided this integration starter kit — exclusively built for this scenario and you can find more details in the URL here.
As a first step you need to configure an Azure Virtual Desktop environment running with multiple virtual machines, that you can use it with your Power App. This environment can dynamically scale up the VM count and scale down later, based on the number of items in the Power Automate queue.
In the above screenshot, you can see the scaling orchestration is set to run every 15 minutes. The VM start threshold is set to one. This will automatically spin up additional VMs to process, when you have more than one item in the queue. You’ll want to adjust this threshold depending on how long your flows run on a single VM to balance your costs against performance. The Always on VM, says how many VMs are always ON and ready to process. The shutdown method is for scaling down and can be either deallocated or stopped. A deallocated VM will take longer to start again compared to a stopped VM, but you won’t be charged if it’s deallocated.
Once you setup the machine group and connect it, your robots are ready to scale. Again, you need to add the local account for your automation to use in order to log into those VMs.
Here, you can see nearly 8 orders in the queue and the transactions get distributed automatically between the two machines in the group. These will start to scale down as your jobs get complete. This is how power automate allows you to scale your automation as per your requirements. Very powerful isn’t it.
Hope you got some good insights about dynamically scaling your RPA workforce. It’s going to efficiently scale to whatever demand you have, using the Azure Virtual Desktop infrastructure. What do you think? Will you be using this feature in your implementation anytime shortly? Please do leave your comments below.
Thanks for Reading. Stay tuned!
Look forward to connecting with you!
Finally, “subscribe” to my newsletter, so that you get notified every time when I publish.
- Murukesh Jayaraj
#Microsoft #PowerAutomate #RPA #Autoscaling #ElasticRobots #Loadbalancing #distributework #UnattendedRPA #UnattendedRobot #NoCode #LowCode