Question : What is Virtual Machine?
Answer : If we check it out from wiki , we see definition of VM as "In computing, a VM is an emulation of a computer system. Virtual machines are based on computer architectures and provide functionality of a physical computer."
That being said, in a very simple terms if we go with the literal meaning of the word 'Virtual Machine' : A machine which is not physical however it works as a physical Machine.
Question : Why do we need Virtaul Machines?
Answer : Well, this is the very first question and it can easily be answered if we look at the advantages of Virtual Machines. I tried to list down a high level advantages as below, but there are many more:
Question : How to a design Virtual Enviornment for Blue Prism?
Answer : Well the answer of this question is not straight forward. But as a technical architect, one has to build this strategy by reviewing following consideration :
Question : What is a Hypervisor?
Answer : As per Wiki , Hypervisor is software, hardware of firmware that creates and runs the Virtual Machine. There are two types of Hypervisor:
You can refer to the wikipedia URL(mentioned above in this answer) to for more details on Type 1 and Type 2 Hypervisors
Question : For Blue Prism , do we need to use Physical or Virtual Server?
Answer : Blue Prism recommends to implement Database on a physical server. Logically, database is the main core critical component of Blue Prism Deployment and any performance issues with Database will directly impact the Blue Prism appication's stability.By hosting on a physical server, we will make sure that there will not be any OS related performance issues and database will have all available resources on the server.
Question : Should we virtualize RR and IC?
Answer : Depending upon the use case , yes we should. One will get many advantages by virtualizing these components.
Question : Are there any additional design considerations which one need to take while designing BP setup?
Answer: The most important additional design considerations would be overall resources availability on the build and available OS.