5
WHITE PAGE www.partnersconsulting.com | 1(866) 736.5500 Virtualization for Non-Hosted Applications Introduction Virtualization is the concept of using a program (the most popular is called VMware) to allow one computer to “host” other computers on it. These virtual computers, or virtual machines, can run applications simultaneously with each other and with the host machine. The program shares the host computer’s hardware and peripherals with each virtual machine, so that each virtual machine acts as its own computer. Historically, virtualization has been confined to the realm of large scale servers and other hosted solutions. With faster and more efficient desktops and laptops, which boast as much memory as servers did only a few years ago, it is now possible to use virtualization outside of the realm of hosted solutions and large scale server farms. Virtualization has three major features: the fact that you can run multiple environments on the same machine, the fact that you can take a snapshot of an environment, save it, and restore back to that snapshot extremely easily, and the fact that the snapshots are hardware independent, allowing them to be shared between computers, even if those computers have different hardware and peripherals. Use of Multiple Environments on one Machine One of the prime advantages of Virtualization is the ability for one machine to act as a host to multiple additional environments. These environments are completely separate from one another. There is no file system overlap, no memory overlap, and the environments need not even be the same operating system or the same type of operating system. A Windows XP box can be used to host a Virtualized Linux server, or a Windows Vista installation, or even something older, like a Windows NT 4.0 installation.

Hosted Virtualization

Embed Size (px)

DESCRIPTION

Best Practices around Non-Hosted Virtualization, by Ira Blum

Citation preview

Page 1: Hosted Virtualization

 

 

 

WHITE PAGE  

 

 

www.partnersconsulting.com | 1(866) 736.5500

 

Virtualization for Non-Hosted Applications Introduction  Virtualization is the concept of using a program (the most popular is called VMware) to allow one computer to “host” other computers on it. These virtual computers, or virtual machines, can run applications simultaneously with each other and with the host machine. The program shares the host computer’s hardware and peripherals with each virtual machine, so that each virtual machine acts as its own computer. Historically, virtualization has been confined to the realm of large scale servers and other hosted solutions. With faster and more efficient desktops and laptops, which boast as much memory as servers did only a few years ago, it is now possible to use virtualization outside of the realm of hosted solutions and large scale server farms. Virtualization has three major features: the fact that you can run multiple environments on the same machine, the fact that you can take a snapshot of an environment, save it, and restore back to that snapshot extremely easily, and the fact that the snapshots are hardware independent, allowing them to be shared between computers, even if those computers have different hardware and peripherals.

Use of Multiple Environments on one Machine  One of the prime advantages of Virtualization is the ability for one machine to act as a host to multiple additional environments. These environments are completely separate from one another. There is no file system overlap, no memory overlap, and the environments need not even be the same operating system or the same type of operating system. A Windows XP box can be used to host a Virtualized Linux server, or a Windows Vista installation, or even something older, like a Windows NT 4.0 installation.

Page 2: Hosted Virtualization

 

 

 

WHITE PAGE  

 

 

www.partnersconsulting.com | 1(866) 736.5500

 

For a developer, this aspect can be utilized to create any number of test environments for their applications. Without it, the user would either have to have dozens of extra computers, or spend the time and effort to install from scratch multiple operating systems, just to do his testing on. This could take days or even weeks, time which few developers have. If a developer is working on multiple applications, then he can use virtualization to keep his application development environments on separate machines, reducing the possibility of conflict between them. If that developer is working remotely, he may have firewall or other security concerns for logging into remote client sites. These security restraints can often cause conflicts if he tries to maintain more than one on the same computer. Virtualization solves this problem by separating the security systems into each individual environment.

For a salesperson or demonstrator, it allows his single laptop to act like a multitude of servers, displaying how the application would work if it utilized all of these separate servers for its enterprise, or it can show different versions of the application, or even different localizations. In addition, it can be used to display multiple applications, each one operating independently on its own machine.

For the home user, virtualization can be used to create environments which would otherwise be unavailable for specific applications. For example, a Macintosh user can utilize VMware to create a Windows XP VM and then use that machine to play certain Windows-only games on it. The same can be done with a user who operates a Linux workstation. In addition, a home user who wishes to learn more about Linux operation and administration can setup a Linux VM on his Windows box, without having to perform dual booting or re-partitioning of his hard drive. But that’s only one feature of Virtualization.

Figure 1  Virtualization can be used to maintain separate security connections to different apps simultaneously 

Page 3: Hosted Virtualization

 

 

 

WHITE PAGE  

 

 

www.partnersconsulting.com | 1(866) 736.5500

 

Ability to Easily Save and Restore Environments   

VMware is one of the software packages available to perform virtualization. One of its features is the ability to take a snapshot of an environment. These snapshots are usually taken when the environment is in a stable configuration, with no viruses or malware active. This is obviously a boon to any user of a system, especially when they are in the process of installing and configuring unknown software or immature software. If the software installation fails, the user can restore back to the previous snapshot and the user doesn’t have to worry about whether the failed install correctly deleted any temporary files and removed any extraneous registry Key. In addition, the saved environments can be burned to a CD or stored in a tape backup system. This allows the saved environment to be physically located off-site in case of disaster.

Developers can benefit from this feature as much as anyone else, as they often install applications which might be charitably called “immature”. If any of these applications spawn memory leaks or worms or accidentally cause operating system problems, the developer is secure in the fact that his system is easily restored.

Demonstrators usually don’t have to worry about unexpected changes to their systems, so their dependence on this feature can be minimal. But there is one aspect of this feature which can be a great benefit to them. Sometimes demonstrations of a product include “destructive” changes. For example, if the demonstration calls for certain data to be removed from the database, either to show that the commands work properly, or to demonstrate the products ability to handle loss of data. In this case, the ability to easily restore an environment becomes a demonstrator’s best friend. The demonstrator simply restores the environment to the point it was before the demonstration began, and he’s ready for the next demonstration.

Home users can benefit from this if their network isn’t that secure, or if they have a habit of downloading “questionable” files which might contain viruses or other malware. Or if they share their computers with kids who might not be as responsible with their computer usage as they should be.   

Page 4: Hosted Virtualization

 

 

 

WHITE PAGE  

 

 

www.partnersconsulting.com | 1(866) 736.5500

 

Ability to Share Saved Environments  VMwares snapshots have almost universal portability. Since the virtualization client handles interfaces to hardware elements and peripherals, the shares can be moved from computer to computer with very few portability problems. This can be helpful to users in many ways.

Developers can use these saved environments for knowledge management purposes. If the developer is moved from an application and another developer takes over, the first developer can give the new developer a snapshot of his current environment and the new developer would be up and running immediately. Also, these saved environments can be stored, so that if a developer is inactive on a project for a long time, and then has to go back to that project (for example, if the client elects to pay for an additional phase of implementation), he can easily restore the environment to exactly where he was when the previous phase was completed.

The developer can create demonstration environments that he can then hand off to the demonstrators and sales people to use, secure in the knowledge that these demonstration environments will work. And, if the company uses Independent Validation and Verification, then the developer can provide the testers with an environment that they can easily test on. One that the developers are confident is valid and doesn’t contain inconsistencies from the development environment or the production environments. Demonstrators themselves can share environments to allow the same presentations to be made in different places at the same time.

Home users don’t have as many reasons to share environments. There are some users who routinely setup other people’s machines and would probably love to be able to use VM ware to quickly install a working environment as easily as installing a VM, but until VMWare is widely used by home users, such a thing probably won’t happen.   

 

 

Page 5: Hosted Virtualization

 

 

 

WHITE PAGE  

 

 

www.partnersconsulting.com | 1(866) 736.5500

 

Disadvantages and Limitations  Virtualization is not the be all and end all of computing, and there are limitations to its abilities. One limitation is that a user can only run so many independent VM’s on his desktop before the whole thing starts running very slowly. Because each virtual machine acts and thinks like its own separate machine, it can quickly eat up all of the available cycles, especially on an older machine or a cheaper machine with fewer capabilities. It obviously runs best on machines with multiple processors, and requires lots of RAM and quite a bit of HD space. For the home user, there are certain graphic intensive games that might not run on it or might not run well on it. But with new computers getting faster and more powerful every day, virtualization becomes a viable option for many people who would otherwise never be able to afford multiple computers.

Conclusion   In conclusion there are many situations where virtualization is not only appropriate, but can be a great time-saver to developers, application demonstrators and salesmen, and even the advanced home user. Virtualization does require the latest hardware, though, so it is not something to be used lightly, but properly utilized, it can provide flexibility, security, and convenience to these types of users. As laptop and desktop computers become faster, and gain more and more processers and more and more hard disk space, virtualization suffers fewer and fewer limitations on its ability and users can get more and more out of having the ability to host multiple environments on their single computer.