¿Por qué hay tanta publicidad sobre la virtualización en estos días?

34

Máquina virtual, servidor virtual, disco virtual, etc.

No tiene mucho sentido para mí por qué alguien querría hacer sus cosas "virtuales" cuando básicamente eso agrega otra capa a todo (lo que en la mayoría de los casos hará que funcione más lento).

¿Cuál es el propósito de la virtualización en los múltiples casos anteriores?

Templario oscuro
fuente
15
Porque puede, con solo un clic del mouse, mover todo su servidor virtual de una computadora física a otra sin tiempo de inactividad, por ejemplo.
AndrejaKo
8
"lo que en la mayoría de los casos lo hará correr más lento" - No estoy de acuerdo con esa declaración.
EJB
44
-1 RAZÓN: "Esta pregunta no muestra ningún esfuerzo de investigación; no está clara o no es útil (haga clic de nuevo para deshacer)"
wizlog
3
"Esta pregunta la dosis no muestra ningún esfuerzo de investigación": LOL!
bwDraco

Respuestas:

67

En pocas palabras, la virtualización no es la respuesta a todo, ¡pero es genial!

Dices que agrega otra capa / hace que se ejecute lentamente, pero, en los sistemas modernos, esto no es tanto. Existen muchas técnicas y características que hacen que esta "capa" sea mínima (como Intel VT-x, AMD-V ). Si está utilizando la virtualización basada en hipervisor , esta capa es aún más pequeña.

Sin embargo, según la forma en que se utilizan los discos y la memoria, es posible ver aumentos de velocidad en algunas situaciones.

Ahora, un resumen rápido de los productos de virtualización ya que existe cierta confusión. Hay 4 categorías, y la mayoría son bastante diferentes:

Hipervisor : la sobrecarga más pequeña y generalmente sólida como una roca, diseñada para la virtualización 24x7. (Por ejemplo, Microsoft Hyper V , VMware ESXi .

Virtualización de escritorio (basada en software) : generalmente diseñada para programadores, probadores y profesionales de TI: la velocidad sigue siendo muy rápida / casi nativa en las máquinas modernas, pero, a merced del sistema operativo invitado, se ejecuta, por lo tanto, mientras estoy ejecutando 3 VM 24x7 en mi máquina para diversas tareas, en realidad no está "diseñado" para esto (por ejemplo, Microsoft Virtual PC , VMware Workstation , Sun (Oracle?) Virtual Box ). Estos emulan una computadora virtual completa.

Virtualización de servidor (basada en software) : este fue un mercado bastante grande durante un tiempo, pero era menos capaz que Hypervisor y, en general, ahora es un mercado muerto. Básicamente, es la virtualización de escritorio la que se acaba de optar por un entorno de servidor (por ejemplo, Microsoft Virtual Server , VMware Server .

Virtualización de software : según los comentarios, dejé este fuera. Este es un mercado especializado que generalmente es para virtualizar programas individuales (por ejemplo, Microsoft App-V , VMware ThinApp ). Esto crea una delgada "capa" entre su computadora y el software: básicamente intercepta todas las llamadas realizadas por el programa para redirigir las escrituras de archivo / registro y, básicamente, proteger la aplicación. Esto tiene algunos beneficios, como la capacidad de ejecutar múltiples versiones de algunas aplicaciones complicadas y hace que la implementación sea bastante fácil (sin embargo, puede ser un área difícil de entender / acceder).

En cuanto a por qué son tan populares ahora: todo se reduce a costos y tiempo de administración.

Por ejemplo, en mi empresa, necesito ejecutar muchos "sistemas" para varios sistemas que uso ... SQL Server, un sistema de intranet, sistema de facturación, sistema de correo electrónico, VOIP, un sistema heredado para algún software antiguo que tengo para algunos clientes y algunos más, dado que algunos de estos se pueden ejecutar desde el mismo cuadro, pero, por una larga lista de razones aburridas, quiero dividirlos.

Esta elección en 2004/5 significaba que tenía 6 servidores aquí que funcionaban las 24 horas, los 7 días de la semana, funcionó muy bien, pero cada máquina tenía 2 GB de memoria (¡cuando era costoso!) Y un procesador de la era P4 en el que podía cocinar un huevo. . Los procesadores en todos los sistemas apenas superaron el 5% ... tal vez un pico en 10-15%, pero la mayoría estuvo inactivo en 0% durante casi la vida útil de las máquinas.

En electricidad, realmente no puedo recordar, pero creo que esto me costó alrededor de £ 100 por máquina por año.

Ahora, si en cambio hubiera virtualizado este entorno (que terminé haciendo), pude mover todos estos sistemas a una sola máquina y beneficiarme de muchas características, como la memoria de sobresuscripción.

Lo que esto significa es que mis 6 máquinas tenían 2 GB de memoria cada una, pero, en promedio, todas usaban alrededor de 1/4 de eso: en esta nueva máquina, pude agregar 8 GB y, en un P2V perfecto ( Movimiento físico a virtual : el proceso de migrar una máquina), tengo todas mis máquinas funcionando tan rápido como siempre ... de hecho, son más rápidas (ya que tiene una CPU más rápida).

Además de esto, hay muchos otros beneficios, como la migración ( V-Motion ) y la alta disponibilidad que solo hacen de la virtualización una opción brillante.

También debería decirse que hay algunos extras en los que muchos usuarios domésticos / no comerciales no piensan: pude deshacerme de algunos de mis equipos de red, perder una carga de cables, no necesité mi costoso KVM ... Podría dejar caer 5 UPS y mi PDU ... Y lo mejor de todo, cabe en un solo armario / fuera del lugar en lugar del molesto zumbido de un estante ventilado. ... y no una necesidad tan importante de tener un aire acondicionado tan alto en el verano (que no tuve en cuenta en los costos de electricidad anteriores).

Puede que haya sido pequeño, pero, piense en las grandes empresas que hacen esto a mayor escala: una vez ayudé a una gran empresa a migrar a un entorno virtualizado. No tenían el presupuesto, así que negocié que los términos de mi contrato eran Obtendría cualquier ahorro de costos durante 1 año, y 20% para los próximos 3 ... Me pagó muy bien, y disfrutaron de los beneficios administrativos en el primer año, y enormes ahorros de costos en el futuro.

¡Espero que esto responda tu pregunta! Si tiene preguntas de seguimiento, con gusto las responderé.

William Hilsum
fuente
2
Muy buena respuesta. Incluso agregaría una cuarta categoría: máquinas virtuales de software (principalmente para programación) como Java VM, Perl, V8, CLI, etc., que mejoran la portabilidad.
schnaader
44
Tal vez deberías escribir una publicación de blog al respecto @Wil ;-)
Ivo Flipse
44
No veo cómo las máquinas virtuales contribuyen a la alta disponibilidad. Justo el otro día tuvimos una bóveda de hardware en el hardware de nuestro servidor VM. Al instante, ocho servidores desaparecieron de la red. VMotion no funciona a menos que el host que desea mover se esté ejecutando, por lo que entiendo.
Andy
2
@Andy - vmware.com/products/high-availability/overview.html - He usado esto para clientes, la VM se ejecuta en dos ubicaciones y si una falla, la otra se recupera al instante sin perder un solo ping, realmente es una tecnología realmente sorprendente sin tener que configurar el agrupamiento ni nada en el software; esto es puramente una característica del hipervisor.
William Hilsum
1
@IvoFlipse Deal! .... Cuando tengo tiempo! Debería comenzar un nuevo trabajo la próxima semana (todo por un contrato de un mes) y las cosas están un poco agitadas en este momento.
William Hilsum
22

Para agregar a la respuesta de William

Prueba de software contra sistemas operativos He visto un script de programación que, cuando se creó una nueva versión de su software, inicia automáticamente máquinas virtuales para varios sistemas operativos diferentes e instala el nuevo software y luego ejecuta algunas pruebas unitarias para asegurarse de que todo funcionó y luego apaga la máquina virtual. En este caso particular, era solo una vm para cada sistema operativo, pero sería posible extender esto a más escenarios. Por ejemplo, un Vm para Windows 7 de 32 bits, otro para Windows 7 de 64 bits. Otro para W7 de 32 bits con Service Pack 1, W7 de 64 bits con SP1, vms con IE 9, vms con IE. Como solo se ejecuta uno de estos vms a la vez, todo lo que está usando es espacio en disco, por lo que es posible tener docenas de vms en un servidor normal.

Ahorro de espacio en disco: si tengo diez computadoras virtuales con el mismo sistema operativo, es posible que compartan el mismo disco duro virtual base y luego escriban sus cambios en su propio disco duro virtual.

Asignación / reasignación de espacio. Con diferentes servidores físicos, es bastante común ver una máquina que se está quedando sin espacio en disco y otros servidores que tienen cargas libres. Desafortunadamente, no puede esa mitad de disco (o mitad de matriz) de un servidor y pegarse en otro servidor. Pero con los servidores virtuales, es posible reducir la asignación para un servidor y aumentar el otro (o simplemente usar discos expandibles dinámicamente).

Instantáneas Esto le permite tomar una instantánea de su servidor en un momento determinado, como una copia de seguridad completa casi instantánea. Esto significa que puede hacer cosas como, tomar una instantánea, apagar el servidor. Monte la instantánea de la semana pasada, verifique algunas cosas y luego apague y monte su instantánea más reciente y continúe, todo sin pasar horas haciendo copias de seguridad y restaurando su servidor. Con un poco más de trabajo, puede montar la instantánea anterior como otra máquina virtual y hacer que las copias antiguas y nuevas se ejecuten una al lado de la otra)

Traslado de servidores virtuales. Si tiene, digamos dos servidores host y encuentra que host1 está sobrecargado de trabajo, pero host2 no, es posible mover una de las misiones de host1 a host2, que es casi tan simple como cerrar el invitado moviendo un (bastante grande) archivo. (Hay opciones, generalmente extras, que le permiten hacer cosas maravillosas, como mover invitados entre hosts sin cerrar el invitado, para que los usuarios no lo noten).

Y no es solo en los servidores / empresas donde la virutalización puede ser beneficiosa.

Hago mis cuentas personales usando una versión antigua de Quicken y una versión muy, muy antigua de Excel y algunos otros pequeños programas. Esta configuración no funciona correctamente en Vista / W7 y no funciona en absoluto en ventanas de 64 bits. Solía ​​ejecutar esto en una computadora vieja que comenzó a ser poco confiable. Esto ahora está en un disco duro virtual XP y ahora, cuando obtengo una nueva máquina, solo instalo Virtual PC y copio mi máquina virtual y comienzo mi máquina virtual y todo está configurado y funciona mucho más rápido. No es necesario instalar Quicken y Excel y no es necesario encontrar los disquetes que sobresalieron (¿dije que era una versión muy, muy antigua).

La desventaja de hacer esto con Windows en casa es el costo adicional de la licencia. Como AaronM ha señalado, puede haber importantes ahorros de costos para las empresas, pero ese no es el caso en el hogar.

sgmoore
fuente
3
Las instantáneas no son tan buenas como suenan: incurren en un gran éxito de rendimiento. Cada instantánea que toma ralentiza la máquina virtual, y si continúa tomando instantáneas con múltiples ramas, su VM se detendrá. Si lo que necesita es una copia de seguridad, será mejor que copie el contenido de la VM en otro lugar en lugar de tomar instantáneas. Las instantáneas son ideales cuando no toma demasiadas y necesita un mecanismo de copia de seguridad y restauración "rápido", como probar instalaciones de software o comportamientos de virus.
Hippo
@sgmoore eso es extraño, porque mi instalación de Windows Office de 32 bits funcionó perfectamente en mi nueva máquina de 64 bits. ¿No se supone que todas estas máquinas son compatibles con versiones anteriores?
Templario oscuro
+1 para instantáneas. Si lo que se está probando no funciona, revierta, si funciona, elimine la instantánea.
Bratch
@JacobHayden. La compatibilidad no es perfecta, que es para lo que sirve el modo XP. Pero en realidad no llegué a probar mi copia de Excel con ventanas de 64 bits (pero estoy ejecutando la versión de 32 bits de Office 2007 en W7 de 64 bits en el trabajo). Mis problemas estaban más relacionados con los otros programas, ya que la configuración de Quicken simplemente falló y en segundo lugar tuve problemas con ODBC. Fue más fácil evitar los problemas y continuar usando XP en una máquina virtual.
sgmoore
Hago todo en Linux en mi computadora portátil (no es la empresa en absoluto), pero todavía necesito algo ocasional en XP o 7. Solía ​​tener que agravar seriamente el reinicio de mi máquina de arranque dual dos veces, una vez para llegar a XP y una vez para volver. Ahora, puedo tener XP ejecutándose en una máquina virtual, por lo que se siente como otra aplicación en Linux. Es una gran mejora. Y además de eso, todo lo que tengo que hacer es copiar un archivo (enorme) para hacer una copia de seguridad completa de Windows, en una forma lista para ejecutar con todas mis configuraciones intactas. ¡Es brillante!
Joe
5

En las grandes empresas también permite ahorros significativos en los requisitos de licencia. Es decir, una licencia de CPU de Microsoft Server 2008 Datacentre dos le permitirá ejecutar tantas copias de Server 2008 R2 en una caja virtual como pueda manejar, sin la sobrecarga adicional de licencias por sistema operativo. Del mismo modo, Microsoft SQL Server tiene licencia por CPU.

Un único servidor físico con dos CPU podría ejecutar varios SO invitados y cada uno de ellos podría ejecutar una instancia de servidor SQL, todo cubierto por la licencia de un solo servidor físico, lo que puede proporcionar un considerable ahorro de costos.

Consulte http://www.bythebell.com/2010/05/virtualization-licensing-savings-for-microsoft-windows-and-sql-server-products.html para ver algunos ejemplos de esto.

Todos los comentarios de William anteriores son válidos también.

AaronM
fuente
5

Otra razón clave por la que creo que es tan popular es que se considera una forma " verde " de operar su centro de datos, ya que tiene el potencial de usar menos electricidad. Y Greenwashing es una gran cosa para los departamentos corporativos de relaciones públicas en los últimos tiempos.

En un entorno no virtualizado típico, ha creado cada servidor con exceso de capacidad para manejar la carga máxima, lo que significa que tiene una gran cantidad de caballos de fuerza adicionales en una toma de corriente en caso de que todos decidan que necesitan iniciar una solicitud costosa al mismo tiempo.

En un entorno virtualizado, varios servidores lógicos pueden compartir ese exceso de capacidad bajo el supuesto de que los servidores lógicos ubicados en una máquina física no se van a maximizar al mismo tiempo.

Una segunda razón por la que está ganando fuerza es porque está manejando las colas de la computación en la nube . Los servidores virtualizados son una tecnología central que permite ofrecer muchas de las características de la computación en la nube, que no coinciden con las de la virtualización. La computación en la nube es una tendencia actual en este momento y es probable que si está colocando servidores en la nube, estos sean servidores virtualizados.

JohnFx
fuente
Hola JohnFX, ¿podría explicarnos un poco acerca de cómo la computación en la nube y la virtualización son similares o relacionadas? Gracias :)
Dark Templar
1
Me refería principalmente a la computación en la nube del tipo Hardware como servicio, en la que subcontratas las plataformas del servidor y accedes a ellas a través de Internet. Antes de la virtualización, compañías como Rackspace literalmente tenían computadoras físicas dedicadas a cada cliente. Ahora solo asignan recursos mediante la virtualización y les ahorra un costo considerable.
JohnFx
0

Todas las cosas mencionadas en las respuestas anteriores son correctas, pero la verdadera razón por la que ganó tanta popularidad desde el principio en las grandes empresas es que eludió todas las restricciones de exportación de cifrado y licencias de software de nuestros proveedores al trasladar los trabajos de centros de llamadas a países en desarrollo.

mrm
fuente
-3

El comentario de Mrm es correcto sobre el dinero. Además de permitir que el software se use muchas, muchas veces más de lo que permitiría la cantidad de licencias compradas (y proporcionar un área gris legal ingeniosa, ya que el software se instaló técnicamente en un solo sistema y es muy difícil demostrar forensemente que múltiples sistemas lo usó, mucho menos explique cómo es ilegal una vez que lo probó) la virtualización permite que los departamentos de TI perezosos implementen versiones antiguas de software. Esto ahorra dinero y horas de trabajo al actualizar, volver a capacitar a los usuarios y tratar los problemas causados ​​por la actualización

jamesson
fuente
44
No diría que esto es muy preciso en absoluto. Lea mi respuesta. No me llamaría vago y ejecuto aplicaciones heredadas. La razón es que puedo ejecutar Windows NT 4 para el sistema de un cliente bien virtualizado, ¿dónde, dónde, dónde voy a encontrar soporte para hardware antiguo como ese? Y si algo se rompe, voy a estar en serios problemas ... Funciona perfectamente dentro de una VM. Además de esto, cada VM tiene una ID de BIOS, NIC MAC y más, por lo que todos se ven como una máquina completamente separada y es muy fácil notar la diferencia.
William Hilsum