At Talos our goal is simple: to deliver data-driven efficiency. In our experience, the best way to achieve this technically has been through the combination of UiPath & Azure – two very powerful technology stacks that when paired properly will deliver immense value. This blog post examines the relationship between UiPath & Azure, a typical design & use-case, and the data driven benefits of leveraging both together.
UiPath & Azure
UiPath is the world’s leading RPA company delivering a suite of automation technologies targeted at the enterprise level. Azure is Microsoft’s cloud platform, offering a vast array of services to customers to meet their complex needs. Given the technical strengths of each, it is possible to craft a solution that utilizes both to achieve optimum benefits, and in our case, deliver our goal of data-driven efficiency.
In numerous projects we have worked on, there has been a typical requirement to deliver reporting based on the combination of data from a variety of sources. This simple use-case can actually be quite complex, especially when dealing with legacy data source systems, large volumes of data and a significant reporting consumer-base. However, these requirements can be met with a very straight-forward UiPath & Azure solution design:
This design is composed of the following individual elements:
- Azure VM’s
1a. UiPath Studio
1b. UiPath Unattended Bot
- Azure Blob Storage
- Azure Data Factory
- Azure DevOps
- Azure SQL Database
- Power BI
Each of these elements have a specific role in the solution, and fit in easily with each other, making this solution extremely robust, easy to initiate and scalable.
Azure Virtual Machines (VM) are the image service instances that provide computing resources that behave exactly like physical infrastructure, except virtually. The benefits of Azure VM are the on-demand nature of the product and the lower costs associated with management. In our solution, 2 of these VM’s are commissioned to provide separate environments for the UiPath tool:
1a. UiPath Studio is installed on the first VM (this is used as the dev/test environment). UiPath Studio is the development tool used to create and test automations. In our case, we use UiPath Studio to develop the automation steps required to retrieve data from the different legacy systems.
1b. UiPath Unattended Bot is installed on the second VM (this is used as the production environment). Once the automations are developed and tested, they are deployed to be executed by the Unattended Bot on this VM. By having a dedicated VM, this bot acts like a 24/7 worker and is available on the VM to perform any tasks it is instructed to do.
Azure Blob Storage
Azure Blob storage is the scalable and secure object storage service used to store data in a variety of formats. Blob storage is very robust and can scale very easily to suit storage needs. In our case, we leverage Blob storage as a staging area for the bot to store the data it has retrieved, and also serves as a source for the Azure Data Factory pipeline later on. UiPath can communicate with Azure Blob storage natively, making this integration easy and reliable.
Azure Data Factory
Azure Data Factory (ADF) is the data integration service built for complex ETL projects. The benefits of ADF are the ease-of-development as well as the powerful capabilities that allow it to handle complicated data transformations in large volumes. In our case, we use ADF to create a pipeline to move data from Blob Storage into the Azure SQL database, whilst performing sophisticated transformations. Although UiPath possesses some ETL functionality, they lack the advanced capabilities of ADF regarding transformation and speed. For this reason, ADF is a must have in our solution.
Azure DevOps (ADO) is the collaboration tool for software development offering work tracking, source control and continuous integration/delivery. ADO allows projects to be managed effectively and collaboratively. In our case, ADO acts as the project management tool and code repository for the ADF pipelines. Although UiPath has a native integration with ADO, it also possesses the source control and deployment capabilities out-of-the-box, and therefore can be managed within the tool itself.
Azure SQL Database
Azure SQL Database (DB) is the cloud-based database service built on the SQL Server engine. It has a wide range of deployment options, making it very easy and effective to manage. In our case, this is where the transformed data is stored and made available for analysis. The scalability, availability and deployment ease of Azure SQL DB make this very attractive for enterprise-level analytics and reporting.
Finally, whilst not an Azure service itself, Power BI is used as the reporting tool to develop custom reporting on the data in the Azure SQL DB. Power BI is an excellent reporting platform for enterprise-level reporting due to its scalability and self-service capabilities. With this tool in place, the data is modelled and reported to the business.
Although every project is different, the above represents a good design for a typical solution and is used by us as a list of ‘minimums’ that we need. For our work, this design is very common, but is also great as a default because it can be restructured very easily to suit any additional needs (for example adding Azure Machine Learning can be integrated into the above design as part of a CASSIE deployment). With the above solution, a business can very quickly leverage the benefits of UiPath & Azure working in unison and delivering data-driven efficiencies: businesses are able to get the insights and reporting they need without having to expend any staff time to deliver it.
If you want to know more about UiPath & Azure together, please contact us.