Uses of virtualization
Hello, I am new to the concept of virtualization. Years ago I remember hearing about running 'virtual Windows' from the Linux platform but I am really more interested in finding out what other uses there are for the technology. Could someone give me a brief overview of what it is used for in an application development environment? I have googled it and there seems to be some uses for safely testing and debugging apps but I don't know any more than that. TIA.
|
A common use is to allow Linux users to run Windows at the same time as Linux to do those things they cannot do in Linux. In my own case, for example, I run WXP in a virtual machine because the printer/scanner is not supported under Linux and I haven't found a way to replace the email+PIM and mobile phone integration functionality of Outlook with nokia PC Suite.
|
Mmm, I don't know a lot more than you.
AFAIK developers use VMs for testing their software on different OSs (e.g. Linux/*BSD/Solaris/???), and for separation of development, testing and packaging, without having to have multiple boxes. (If the app crashes the OS while being tested, no problem, just restart the VM it's running in. Meanwhile you can continue with other work.) Sysadmins use VMs in order to maintain flexibility - you can easily move a VM from one box to another to balance loads; this is not so easy if the app is running on the base OS. They can also use them to maintain separation between clients in hosted environments, and to provide a specified level of service to a client in a shared environment. Since sysadmins do these things, developers (in larger shops) need to as well. HTH. |
grin1dan,
This goes beyond the scope of your question regarding a development environment, however you may find the following interesting.... One of the more common use cases in the Enterprise is high-availability. If you boot a Virtual Machine from shared storage (SAN), you gain the ability to "Live Migrate" running systems from one piece of hardware to another with no interruption in service. This because both systems would be able to concurrently see and boot from the shared filesystem (i.e., GFS2, Redhat Cluster Suite) Additionally, when using SAN storage for hosting VM's, you can create a single Virtual Disk containing a "golden image" of a workstation/server, and deploy additional servers via snapshots w/LVM2. This reduces the file size of your VM's to the size of the delta (changed bits in relation to original image), which in most cases can be ~10MB per workstation. These capabilities, are further enhanced by the ability to backup your all of your VM's by simply backing up your SAN (for disastor recovery / COOP). This make recovering your environment much easier than backing up/deploying an entire "bare metal" datacenter. There are numerous other use cases in addition to the mulit-os scenario catkin shared above, including but not limited to; Development/test environments, dynamic cluster/HPC node provisioning (desktop cycle harvesting), replacment for X clients/ssh clientes/cygwin on windows systems, etc... |
VMs can also be used for security reasons, such as having a dedicated VM for sensitive transactions. That way it is less likely to be compromised than the everyday system which is exposed to a greater variety of risks.
|
Quote:
A:the data still goes thru the network B:some emulator actually execute the guest code directly on the host processor C:the guest and host are still in the same memory space and its not encrypted D:its a strange idea |
Quote:
Not to mention the ability to manage the exposed surface area of both your bare metal and your vm's centrally (windows GPO, CFEngine, etc...). |
just to add to what was already said - todays' servers are extremely powerful, and an installation of windows + AD, or linux + apache, or $any_other_trivial_usage_of_server_os oes not load a server by even one percent.
So, in order to put the powerful hardware to good use, and save up money in the process, you would use the server as a virtual host, on top of which several instances of $any_other_trivial_usage_of_server_os can be run. This is more secure that chroot, resourses are better used, and you even save power, since only a single server is actually consuming electricity |
Thank you!
Thank you for all the great answers! This is exactly what I need to move forward!
|
Quote:
|
All times are GMT -5. The time now is 08:04 PM. |