Robots in a public cloud or on-premise?
Robots can be built and maintained in a full public cloud model, on-premise, but also in a hybrid model, where some components are split between a cloud and internal server room.
On-premise and hybrid models can be used for some specific and more and more niche cases, but in a vast majority of cases a full public cloud model is the best considering security, compliance, scalability, business continuity, but most of all total cost of a solution.
How can you implement robots?
Robots, as any other software, require technical infrastructure, which provides secure, efficient and scalable service delivery. Practically any robotic platform, which can be used for non-trivial enterprise grade solution consists of some servers and workstations, on which robots perform their tasks. For the sake of simplicity we can assume, that we have 3 different infrastructure models to choose from:
- Cloud, where all server components and all workstations are located in a public or private cloud. The only component located in a Client environment is VPN endpoint, through which robots can access all necessary resources.
- On-premise, where everything is located inside a Client environment and we manage robots through remote access for each machine.
- Hybrid, where all server components are located in a cloud and all workstations sit in a Client environment (also with VPN connecting both environments).
Pro and con arguments for any of these options are valid also for any other type of application or system. I won’t describe it in full detail, but instead I focus on aspects specific and especially important for robots.
From the first glance this is a category in which on-premise should have significant advantage over any other model. Is this really true ? It is more and more illusive to think that by keeping all data inside our own server room we provide the highest confidentiality. In short security is about three things: technology, processes and people. There are few organizations that can afford any of this aspects at a level even remotely comparable to the biggest public cloud providers. Sooner or later maintaining our own environment requires some level of compromise. It is something that global companies investing billions of dollars in cloud development don’t have to worry about. Even if we keep buying the newest equipment and take care of the software updates, we cannot count od hiring the best people.
In consequence processes – the most important factor impacting overall security – can degrade over time. And this is as close as it can be to real trouble. Managing security on our own is becoming more expensive and requires more effort. Even the biggest and the richest companies have to rely on external support, which brings this model close to a public cloud, where we outsource most of our security challenges.
It is quite similar from compliance perspective. Public cloud providers compete with each other having a long list of certificates and regulations that their solutions comply with. However, it is not a pure marketing. With each of such label there is a great effort put in developing public cloud platforms to fulfill the highest standards of organizations that specialize in compliance. On the other hand IT organizations that have to support on-premise solutions usually have to share their time between a development that brings business value and compliance requirements, so naturally they tend to minimize an effort with a smaller added value.
Robots are no exception. Renowned RPA platforms providers take care for the highest compliance and security standards, especially when it comes to running robots from a public cloud.
One reason that on-premise model is still being chosen by some companies are the regulations that prohibit data processing outside Clients’ infrastructure. Fortunately even the most conservative regulatory institutions are looking more and more favorably at a public cloud.
Some compromise can be using hybrid model – putting robotic workstations inside Client infrastructure and running server components from the cloud. In such scenario workstations are under control and within Client’s procedures, so the scope of data being kept outside Client’s environment can be minimized.
Probably this is the category where a public cloud has the biggest advantage over on-premise model, because if offers a practically limitless access to resources. In addition with a certain degree of automation it can be seamlessly available on demand. It is especially important when volumes of work processed by robots are variable. If over the course of a week, a month or a quarter there are sudden peaks and troughs and then everything goes back to normal, keeping a spare capacity on-premise can be very costly. It is similar to situation when volumes constantly grow in time. Adding new robots or increasing performance of server components is much easier in public cloud than on-premise.
Pandemic or recent OVH data center fire made us all think that sometimes catastrophic events can occur even if the probability of such events is very small. In such a case we can appreciate the ease and the speed of a recovery in a public cloud. Of course we can keep backup infrastructure on-premise, ready to take over processing, but the cost of such solution roughly doubles. It is worth mentioning that in most scenarios robots don’t rely on historic data, so you don’t have to restore a database in case of critical failure. Having a cloud solution means that even a failure of entire data center doesn’t have to impact normal operations.
Automation and remote work
It may seem that automation and remote work are quite similar in all infrastructure models. In practice however data center is a physical object that someone has to take care about. In case of physical components failure, there is always someone who has to show up on site to fix a damage. Sometimes such a physical access is strictly required by internal regulations. In case of a public cloud any physical access is outsourced to a cloud provider, so all the reconfigurations are available by remote access.
Automation is similar – fully automated on-premise installations are absolutely possible, however cloud environments are designed with automation in mind. They offer a full range of tools supporting automation. In case of on-premise it is tempting to use some manual workarounds due to a lack of time. Unfortunately such shortcuts are often used and temporary solutions tend to last for a very long time.
Separation of duties
IT solutions should be designed to minimize maintenance costs. Systems are usually used for a long time, so even small difference in monthly cost can add up to significant amounts over many years.
Robots by nature work in changing environment and have to adapt to any modification of underlying systems or processes. Robots are notorious for their low cost of development as compared with other technologies. What is usually not mentioned is an effort to be taken to ensure uninterrupted operations when changes have to be introduced.
From this perspective it is crucial to properly split duties between units responsible for development and maintenance of robotic solution.
In a full cloud model all responsibility is on one side. If there are any issues or failures the recovery time is minimized by shortening communication and decision paths between organizations.
In a hybrid and on-premise model the responsibility for all or part of components is split, which can cause competency conflicts. In best case scenario it means increased analysis time, because participants from different organization have to be involved. Usually robots do tasks which take some time, so any additional delay can directly impact required service levels. Of course we can ensure very high service levels in hybrid or on-premise models by proper procedures, communication paths and by building relations among employees, however it requires much more effort.
It is relatively easy to compare direct cost of each model by adding prices of all necessary hardware components. In every classic dilemma – rent vs. buy, eventually buying should be cheaper than renting. Unfortunately, this is only a theory. In practice if we can live without flexibility, which is one of the most important advantages of a cloud, the price of machines rented for a long time can be as costly as buying them. On-premise model works well only when whole solution is relatively stable. It is however prohibitively costly when we want to try if solution makes sense for us. For robots it is quite common scenario, so in vast majority of cases a cost of a cloud is much lower.
In addition on-premise model brings a lot of hidden costs, which we often forget while comparing only direct hardware cost. They are mainly coming from hardware and software updates, capacity planning, security, maintenance or change management.
In summary – thorough comparison of cost will always show a big advantage of a cloud model over any other infrastructure model.
- On-premise model can be used only for some niche cases. It makes sense only when you face strict external regulatory requirements or in a few cases of a very prohibitive internal regulations
- Hybrid model can be useful when it is costly to build an image of a workstation to be shared outside Client’s environment or because of limitations of sensitive data transfer to a public cloud
- Cloud model works great in all other cases offering better security, stability, performance and flexibility.
When we have a set of options to choose from and we ask for a recommendation of the best one usually we can hear “it depends” answer.
I’m sure that in case of robots in vast majority of cases the answer is – “definitely a cloud”.