LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Virtualization and Cloud (https://www.linuxquestions.org/questions/linux-virtualization-and-cloud-90/)
-   -   Uses of virtualization (https://www.linuxquestions.org/questions/linux-virtualization-and-cloud-90/uses-of-virtualization-762242/)

grin1dan 10-15-2009 07:19 PM

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.

catkin 10-16-2009 01:08 AM

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.

gregvp 10-16-2009 01:25 AM

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.

Forrest Coredump 10-16-2009 01:27 AM

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...

catkin 10-16-2009 01:35 AM

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.

smeezekitty 10-16-2009 01:47 AM

Quote:

Originally Posted by catkin (Post 3721289)
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.

Strange idea and definitely does not help much
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

Forrest Coredump 10-16-2009 02:35 AM

Quote:

Originally Posted by catkin (Post 3721289)
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.

I think what catkin is probably referring to is the fact that most of the virtual hardware is abstracted from the bare metal (thus giving an additional layer of protection, e.g, iptables/ibtables on the bare metal, and the fact that you don't have to worry much about the physical security of the vm (so long and the bare metal is protected).

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...).

dyasny 10-16-2009 05:08 AM

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

grin1dan 10-16-2009 06:15 AM

Thank you!
 
Thank you for all the great answers! This is exactly what I need to move forward!

catkin 10-29-2009 11:44 AM

Quote:

Originally Posted by smeezekitty (Post 3721298)
Quote:

Originally Posted by catkin
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.
Strange idea and definitely does not help much
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

See TOM'S HARDWARE GUIDE interview with Joanna Rutkowska (reportedly "one of the top computing security innovators in the world"), in the "What do you do for your regular systems?" section she says she uses VMs for security.


All times are GMT -5. The time now is 08:04 PM.