Field Notes: Deploying UiPath RPA Software on AWS
AWS Architecture BlogField Notes: Deploying UiPath RPA Software on AWSby Yuchen Lin | on03 SEP 2020| inAmazon EC2,Architecture,Robotics,Technical How-to|Permalink|ShareSeptember 8, 2021: Amazon Elasticsearch Service has been renamed to Amazon OpenSearch Service.See details.RunningUiPath RPA softwareon AWS leverages the elasticity of the AWS Cloud, to set up, operate, and scale robotic process automation. It provides cost-efficient and resizable capacity, and scales the robots to meet your business workload. This reduces the need for administration tasks, such as hardware provisioning, environment setup, and backups. It frees you to focus on business process optimization by automating more processes.This blog post guides you in deploying UiPath robotic processing automation (RPA) software on AWS. RPA software uses the user interface to capture data and manipulate applications just like humans do. It runs as a software robot to interpret, and trigger responses, as well as communicate with other systems to perform a variety of repetitive tasks.UiPath Enterprise RPA Platformprovides the full automation lifecycle including discover, build, manage, run, engage, and measure with different products. This blog post focuses on the Platform’s core products: build with UiPath Studio, manage with UiPath Orchestrator and run with UiPath Robots.About UiPath softwareUiPath Enterprise RPA Platform’s core products are:UiPath Studioprovides visual designer with hundreds of activity templates and ready-made components to automate the processes ready for robots. This includes pre-build integrations components withAmazon S3,Amazon EC2,Amazon TextractandAmazon Rekognition.UiPath Robotruns the automations created in UiPath Studio.UiPath Orchestratoris the centralized robot management tool where you can deploy, secure, and manage your UiPath Robots at scale.UiPath Studio and UiPath Robot are individual products, you can deploy each on a standalone machine.UiPath Orchestrator contains Web Servers, SQL Server and Indexer Server (Elasticsearch), you can useSingle Machine deployment, orMulti-Node deployment, depends on the workload capacity and availability requirements.For information on UiPath platform offerings, reviewUiPath platform products.UiPath on AWSYou can deploy all UiPath products on AWS.UiPath Studio is needed for automation design jobs and runs on single machine. You deploy it withAmazon EC2.UiPath Robots are needed for automation tasks, runs on a single machine, and scales with the business workload. You deploy it with Amazon EC2 and scale withAmazon EC2 Auto Scaling.UiPath Orchestrator is needed for automation administration jobs and contains three logical components that run on multiple machines. You deploy Web Server with Amazon EC2, SQL Server withAmazon RDS, and Indexer Server withAmazon Elasticsearch Service. ForMulti-Node deployment, you deployHigh Availability Add-Onwith Amazon EC2.The architecture of UiPath Enterprise RPA Platform on AWS looks like the following diagram:Figure 1 – UiPath Enterprise RPA Platform on AWSBy deploying the UiPath Enterprise RPA Platform on AWS, you can set up, operate, and scale workloads. This controls the infrastructure cost to meet process automation workloads.PrerequisitesFor this walkthrough, you should have the following prerequisites:AnAWS accountAWS resourcesUiPath Enterprise RPA Platform softwareBasic knowledge of Amazon EC2, EC2 Auto Scaling, Amazon RDS, Amazon Elasticsearch Service.Basic knowledge to set up Windows Server, IIS, SQL Server, Elasticsearch.Basic knowledge of Redis Enterprise to set up High Availability Add-on.Basic knowledge of UiPath Studio, UiPath Robot, UiPath Orchestrator.Deployment StepsDeploy UiPath StudioUiPath Studio deploys on a single machine. Amazon EC2 instances provide secure and resizable compute capacity in the cloud, and the ability to launch applications when needed without upfront commitments.Download theUiPath Enterprise RPA Platform. UiPath Studio is integrated in the installation package.Launch an EC2 instance with a Windows OS-basedAmazon Machine Image (AMI)that meets the UiPath Studiohardware requirementsandsoftware requirements.Install the UiPath Studio software. For UiPath Studio installation steps, review theUiPath Studio Guide.Optionally, you can save the installation and pre-configuration work completed for UiPath Studio as a customAmazon Machine Image (AMI). Then, you can launch more UiPath Studio instances from this AMI. For details, visitLaunch an EC2 instance from a custom AMI tutorial.UiPath Robot DeploymentEach UiPath Robot deploys one single machine with Amazon EC2. Amazon EC2 Auto Scaling helps you add or remove Robots to meet automation workload changes in demand.Download theUiPath Enterprise RPA Platform. The UiPath Robot is integrated in the installation package.Launch an EC2 instance with a Windows OS basedAmazon Machine Image (AMI)that meets the UiPath Robothardware requirementsandsoftware requirements.Install the business application (Microsoft Office, SAP, etc.) required for your business processes. Alternatively, select the business application AMI from theAWS Marketplace.Install the UiPath Robot software. For UiPath Robot installation steps, reviewInstalling the Robot.Optionally, you can save the installation and pre-configuration work completed for UiPath Robot as a customAmazon Machine Image (AMI). Then you can createLaunch templateswith instance configuration information. With launch template, you can create Auto Scaling groups from launch templates and scale the Robots.Scale the Robots’ CapacityAmazon EC2 Auto Scaling groupshelp you use scaling policies to scale compute capacity based on resource use. By monitoring the process queue and creating a customized scaling policy, the UiPath Robot can automatically scale based on the workload. For details, reviewScaling the size of your Auto Scaling group.Use the Robot LogsUiPath Robot generates multiple diagnostic and executionlogs.Amazon CloudWatchprovides the log collection, storage, and analysis, and enables the complete visibility of the Robots and automation tasks. For CloudWatch agent setup on Robot, reviewQuick Start: Enable Your Amazon EC2 Instances Running Windows Server to Send logs to CloudWatch Logs.Monitor the Automation JobsUiPath Robot uses the user interface to capture data and manipulate applications. When UiPath Robot runs, it is important to capture processing screens for troubleshooting and auditing usage. This screen capture activity can be integrated with process in conjunction with UiPath Studio.Amazon S3provides cost-effective storage for retaining all Robot logs and processing screen captures.Amazon S3 Object Lifecycle Managementautomates the transition between differentstorage classes, and helps you manage the screenshots so that they are stored cost effectively throughout their lifecycle. For lifecycle policy creation, reviewHow Do I Create a Lifecycle Policy for an S3 Bucket?.UiPath Orchestrator DeploymentDeployment ComponentsUiPath Orchestrator Server Platform has many logical components, grouped in three layers:presentation layerweb service layerpersistence layerThe presentation layer and web service layer are built into one ASP.NET website. The persistence layer contains SQL Server and Elasticsearch. There are three deployment components to be set up:web applicationSQL ServerElasticsearchThe Web Server, SQL Server, and Elasticsearch Server require multiple different environments. Review thehardware requirementsandsoftware requirementsfor more details.Note:set up the Web Server, SQL Server, Elasticsearch Server environments before running the UiPath Enterprise Platform installation wizard.Set up Web Server with Amazon EC2UiPath Orchestrator Web Server deploys on Windows Server with IIS 7.5 or later. For details, review thesoftware requirements.AWS provides various AMIs for Windows Server that can help you set up the environment required for the Web Server.The Microsoft Windows Server 2019 Base AMI includes most prerequisites for installation except some features of Web Server (IIS) to be enabled. For configuration steps, reviewServer Roles and Features.The Web Server should be put in correct subnet (Public or Private) and have proper security group (HTTPS visits) according to the business requirements. ReviewAllow user to connect EC2 on HTTP or HTTPS.Set up SQL Server with Amazon RDSAmazon Relational Database Service (Amazon RDS)provides you with a managed database service. With a few clicks, you can set up, operate, and scale a relational database in the AWS Cloud.Amazon RDS support SQL Server Engine. For UiPath Orchestrator, both Standard Edition and Enterprise Edition are supported. For details, reviewsoftware requirements.Amazon RDS can be set up in multiple Available Zones to meet requirements for high availability.UiPath Orchestrator can connect to the created Amazon RDS database with SQL Server Authentication.Set up Elasticsearch Server with Amazon Elasticsearch Service (Amazon ES)Amazon ESis a fully managed service for you to deploy, secure, and operate Elasticsearch at scale with generally zero down time.Elasticsearch Service provides a managed ELS stack, with no upfront costs or usage requirements, and without the operational overhead.All messages logged by UiPath Robots are sent through the Logging REST endpoint to the Indexer Server where they are indexed for future utilization.Install UiPath Orchestrator on the Web ServerAfter Web Server, SQL Server, Elasticsearch Server environment are ready, download theUiPath Enterprise RPA Platform, and install it on the Web Server.The UiPath Enterprise Platform installation wizard guides you in configuring and setting up each environment, including connecting to SQL Server and configuring the Elasticsearch API URL.After you complete setup, the UiPath Orchestrator Portal is available for you to visit and manage processes, jobs, and robots.The UiPath Orchestrator dashboard appears like in the following screenshot:Figure 2- UiPath Orchestrator PortalSet up Orchestrator High Availability ArchitectureOne Orchestrator can handle many robots in a typical configuration, but any product running on a single server is vulnerable to failure if something happens to that server.TheHigh Availability add-on (HAA)enables you to add a second Orchestrator server to your environment that is generally fully synchronized with the first server.To set up multi-node deployment, launch Amazon EC2 instances with a Linux OS-based Amazon Machine Image (AMI) that meets the HAAhardware and software requirements. Follow theinstallation guideto set up HAA.Elastic Load Balancingautomatically distributes incoming application traffic across multiple targets. Network Load Balancer should be set up to allow Robots to communicate with multi-node Orchestrators.Cleaning upTo avoid incurring future charges, delete all the resources.ConclusionIn this post, I showed you how to deploy theUiPath Enterprise RPA Platformon AWS to further optimize and automate your business processes. AWS Managed Services like Amazon EC2, Amazon RDS, and Amazon Elasticsearch Service help you set up the environment with high availability. This reduces the maintenance effort of backend services, as well as scaling Orchestrator capabilities. Amazon EC2 Auto Scaling helps you add or remove robots to meet automation workload changes in demand.Learn more about how to integrate UiPath with AWS services, check outThe UiPath and AWS partnership.Also, check out the Robotics issue of theAWS Architecture Monthly Magazine.Field Notes provides hands-on technical guidance from AWS Solutions Architects, consultants, and technical account managers, based on their experiences in the field solving real-world business problems for customers.TAGS:Field NotesYuchen LinYuchen Lin is a Solutions Architect based in Beijing, focused on helping Chinese companies go global. Yuchen was originally a Technical Specialist in Thomson Reuters, experienced in migrating various workloads from on-premises environments to AWS.
September 8, 2021: Amazon Elasticsearch Service has been renamed to Amazon OpenSearch Service. See details. Running UiPath RPA software on AWS leverages the elasticity of the AWS Cloud, to set up, operate, and scale robotic process automation. It provides cost-efficient and resizable capacity, and scales the robots to meet your business workload. This reduces the […]
Yuchen Lin
Amazon EC2 Architecture Robotics Technical How-to