Virtualization happens when the operating system transforms a physical resource into a virtual form of itself. The OS usually virtualizes the CPU to run multiple processes at once and virtualizes memory to allow each running program its own memory space that is isolated from other running programs’ memory space.
I am going to discuss virtualization as it relates to cloud computing. Cloud computing is one of the major areas where virtualization is applied. The “cloud”, being a collection of servers existing on the internet, provides lots of benefits. It allows multiple users to utilize the same computer without even knowing it. This is achieved by virtualization. Virtualization ensures that one user's data is not shared with other users who are on the same server. These are some of the benefits and problems associated with virtualization in cloud computing are as follows:
The Pros:
Efficient utilization of hardware: As businesses grow, they buy more hardware resources to fulfill their business needs. However, these resources will not be fully used all the time. Therefore, with the help of virtualization, these businesses do not have to buy new hardware but instead, create new virtual machines that will help them efficiently use their existing hardware.
Availability: Virtualization allows virtual machines to always be available. When virtual machines are moved from one server to another, the processes that are being run remain in that state. This allows for data to persist even in the event of outages and other similar situations.
Easy Recovery: Virtualization provides easy backup and recovery options. Your virtual machines in the cloud can be backed up and mirrored during important state changes. Hence, whenever a situation that might lead to data loss occurs, the virtual machines can be recovered in their previously backed-up state.
Fast and Easy Setup: Setting up physical systems is a difficult and time-consuming process. From the purchasing of materials to the installation of various software, it can become very tedious. However, with virtualization, you do not have to wait for physical resources to be shipped and orders to be processed. It all happens through a few clicks, and you have your virtual machines up and running.
The Cons:
High Initial Investment: The initial entry into virtualization for companies as it relates to cloud computing is costly. Even though as time goes by it can be very cost-effective, it takes sometimes years before companies realize this and break even. Companies that opt for a large setup from the onset usually take a huge risk especially when these companies are young.
Vulnerability of Data: Since hardware resources are shared during virtualization and cloud computing and these services are provided by third parties, it means that your data could be vulnerable to attacks if these third parties do not put in the right measures for data protection. This is usually the case for storage virtualization.
Fast Scalability is a Challenge: since a third party is involved and there is an additional cost to adding more resources on a cloud platform, it can often be a challenge to scale. Additionally, some software and security checks need to be done to scale.
Low Performance in times of need: Since the hardware resources are shared with multiple users in a virtualized environment, there can be situations where the performance of a process tends to be very low and is executed slowly.
Server sprawl: because it is so easy to create a virtual machine, most people tend to create one every time they need it. This leads to lots of unused virtual machines being created. This can be a headache for the person who is responsible for managing these machines.