As enterprises have accelerated their shift to the cloud and digital transformation, so have all major enterprise software categories that were historically on-premises technologies. This acceleration includes the shift from legacy Robotic Process Automation (RPA) to RPA-as-a-Service or RPA in the cloud.
Digitization, automation, and cloud make up core pillars of digital transformation. Because RPA can automate processes without changing enterprise systems, it is becoming a preferred automation technology for companies looking to make the leap to digital transformation. So, it’s no wonder that the rush toward and demand for RPA in the cloud is also rapidly increasing.
One of the benefits of the cloud is the faster speed at which it enables you to execute. When it comes to RPA-as-a-Service, speed and agility can make all the difference in return on investment (ROI), scale, and achieving digital transformation goals. While being in the cloud is great, not all RPA-as-a-Service solutions maximize the true benefit of the cloud that unlocks speed. The secret sauce can be found in the underlying architecture of the solution.
The two common software architectures are monolithic architecture and microservices architecture. Monolithic architectures are typically pre-cloud or associated with legacy software development methodologies. Before we get into the topic of how architecture impacts speed, it’s important to understand how these two types of architecture work.
According to Merriam Webster, the definition of “monolith” is:
- a single great stone often in the form of an obelisk or column
- a massive structure
- an organized whole that acts as a single unified powerful or influential force
The common thread in these definitions is the idea of a huge, single unit. In software development, a monolithic architecture consists of several parts tied to a single database, such as the business logic, data access interface, and user interface. These units are inextricably tied together. In legacy software development, any update that needs to occur requires the entire monolith to be updated. Thus, software updates in a monolithic application are associated with huge, arduous development cycles for developers along with massive upgrade and change management efforts for customers.
To modernize, software providers have taken two approaches to move their solutions to the cloud. To help businesses get to the cloud fast, software providers often take a “lift-and-shift” approach where their monolithic application is simply hosted in the cloud without changing the underlying architecture. On the other hand, many of the iconic software applications used today that once were monoliths have made the
move to the cloud via a transition to a modern, microservices approach. Let’s look at the difference.
Microservices architecture is associated with being cloud-native—born in the cloud, for the cloud. While Merriam Webster does not have “microservices” in its catalog of definitions (yet), it defines the term “micro” as the following:
- very small
- involving minute quantities or variations
As such, microservices are a small collection of individual services or functionality that are self-contained and can work together but not dependent on one another. Because each part is individually contained, a microservices architecture enables more flexible, modular development and deployment, as well as making it easier for the consumers of the solution to implement and use.
RPA architecture and the impact on speed
Speed is one of the leading indicators of RPA adoption, scale, and payback in an organization. Here are a few key areas where architecture impacts speed.
Speed of getting started. One of the barriers to the fast adoption of traditional on-premises RPA within organizations has been installing software on devices, activating and managing licenses, setting up roles and user permissions, and all the administrative aspects of deploying new enterprise software. RPA-as-a-Service means that the solution is web-based and accessed from a web browser over internet connectivity rather than a desktop client. The advantage of a cloud-native microservices architecture is that the configuration can seamlessly happen in one place, whereas license management, adding new users, and setting up roles can involve multiple interfaces or clients to log in to. With a cloud-native RPA solution, bot developers and business users can use their credentials or company single sign-on (SSO) access on the web and begin building bots.
Maintenance and upgrade management. While monolithic and microservices-based RPA in the cloud reduces the burden of hosting and managing on-premises servers and physical infrastructure, a microservices approach eliminates maintenance and upgrade management. With a microservices approach, product updates are delivered incrementally, whether they are bug fixes or new features, which means that the system can be updated without disruption to the service.
Bot development and deployment. A benefit of a cloud-native RPA solution is that there is no need for a client-server approach to deploying the software. Because bot creation capabilities are a set of microservices linked to the main application, bot developers don’t have to worry about installing a desktop client or which version of the product they’re using.
Bot development can happen directly on the web in the same user interface where other functionality lives. All capabilities are always current due to automatic cloud updates, so bot developers are always using the latest technology and version. Monolithic RPA-as-a-Service solutions are based on a lift-and-shift model, so they still work the old way when there were different types of desktop clients required for different functionality such as bot development and bot management. These legacy systems now in the cloud typically require desktop client downloads. They have to connect to another application to upload and run bots and manually update the desktop client when any major updates are available.
In a cloud-native RPA solution, once a bot is built, it can easily be moved for review, testing, and deployment with a few clicks. No need to download bot files and upload them to another client. This shortens the bot development lifecycle while also providing better reusability of bots through an accessible repository on the web. That means once you develop a bot, you can easily turn it into an approved template for faster creation of new bots.
Security and resilience. In theory, a monolithic architecture would have one attack surface since it is one big unit, while microservices would have several attack surfaces because of the modularity and independent services. Yet, in the case of a monolith, it is hard to determine where the vulnerabilities may be, or a security patch may need to be implemented to protect the system. If a major breach or disaster occurs, it can potentially take down everything as there is one single point of failure. A security patch may require extended downtime, which could mean halting automation. With microservices, it’s not only easy to identify where security patches need to be deployed, but any breached or threatened microservice can easily be swapped out without disruption. With so many points of failure, having to swap out or patch one microservice will not stop the service.
Scalability. Even though it’s hosted in the cloud, a monolithic architecture hits its limit of the vertical scale. Once the cloud tenant of a monolith has reached capacity, a new tenant must be launched to manage the additional growth and scale. Since it is one codebase and one single unit, scaling to an additional tenant or more servers will mean long downtimes, planning, and change management. With a cloud-native RPA solution, the microservices can auto-scale horizontally to add capacity as needed without the need to stop service or lengthy planning, including adding more users on demand.
Innovation. With a microservices architecture, new functionality can be made available to everyone with an automatic update. Features can also be rolled out in a phased approach with continuous improvement rather than one big lengthy cycle that is characteristic of monoliths.
Looking under the hood
Since RPA has such a transformational and organization-wide impact, the speed of automation should be a crucial consideration. In addition to questions about ease of use and whether the solution is available in the cloud, it’s important to ask about and understand the underlying architecture. Not all clouds are equal. A microservices architecture not only gets you started today and can accelerate your digital transformation, but it sets you up to move fast as your business evolves.