¿Por qué algunas personas configuran una máquina virtual en su computadora? ¿Para qué se usa esto?

Las máquinas virtuales son útiles para emular cosas sin correr el riesgo de destruir su computadora. Supongamos que desea probar una aplicación exclusiva de Android, pero su máquina no ejecuta Android. Una solución es usar una VM, como BlueStacks, que funciona en Windows. La VM le permite ejecutar programas / aplicaciones no nativas.

Sin embargo, esto es diferente de la partición del disco y el arranque dual. En el arranque dual, particiona su memoria (¡solo divídala, como un pedazo de pastel!), Haga que un lado ejecute un sistema operativo como Windows y que el otro lado ejecute algo como Linux. Efectivamente, está haciendo dos computadoras, de una computadora, excepto que usa las mismas partes físicas. (Piense: una persona de dos cabezas).

La ventaja de la VM es que puede usar ambos SO al mismo tiempo. Lo que pasa con las computadoras es que las computadoras no realizan ninguna acción real. Procesan tokens de encendido / apagado (o 0s y 1s) para escupir valores y pretender hacer cosas (no es como si las computadoras supieran que están sumando 1 y 1 cuando ingresas 1 + 1 en una calculadora). El sistema operativo simplemente está haciendo lo mismo. Está ejecutando un programa que está estructurado para ser como otro sistema operativo.

Por supuesto, es completamente posible que un sistema operativo ejecute una máquina virtual que emule el mismo sistema operativo. Generalmente no encuentro esto útil, pero supongo que es bueno que cuando inicies la VM, siempre comiences con un inicio limpio. Esto podría ser más seguro. (Además, el sistema operativo original (fuera de la VM) puede acceder al programa VM, pero el programa VM no puede acceder a la mayoría del sistema operativo que lo está ejecutando. Esto hace que sea más seguro probar sus programas cargados de virus, posiblemente recién descargados, suponiendo la VM funciona como se esperaba)

Finalmente, esto no es realmente una razón para usar uno, pero las máquinas virtuales generalmente son bastante lentas. O al menos los gratuitos son. Dependiendo de qué, los recursos podrían agotarse rápidamente junto con la energía de la batería de la computadora, si eso es un problema.

Dos puntos que faltan, si incluye servidores en “su computadora”, son la optimización de recursos y la separación de servicios.

La separación de servicios es el concepto de que desea tener un solo servicio ejecutándose en un servidor. La razón principal por la que a la gente le gusta es que la actualización y las dependencias generalmente se afectan entre sí, si tiene múltiples servicios ejecutándose en un servidor, una actualización de uno podría interrumpir al otro.

Ahora ejecutando cada servicio en una pieza física de hardware, no usaría los recursos de manera eficiente. En primer lugar, la mayoría del software actual no utiliza todos los recursos de manera eficiente, en segundo lugar, la mayoría de los servicios no se ejecutan todo el tiempo.
Por ejemplo, un servicio de respaldo solo se ejecuta de noche, por otro lado, el servidor de archivos solo se usa cuando hay personas en la oficina, por lo tanto, ambos pueden funcionar bien en una pieza de hardware y si virtualiza el software no se afectan entre sí, pero Todavía usa el mismo hardware.

Utilizo máquinas virtuales para el laboratorio de mi casa para probar o usar nuevas aplicaciones de software de las que no estoy muy seguro. Es una buena manera de proteger y controlar un sistema o conjunto de sistemas para probar cosas. Cada vez más empiezo a usar Docker con mi virtualización para poder crear microinstancias en lugar de máquinas virtuales más pesadas. También hay algunos simuladores virtuales o de red decentes donde puedes construir configuraciones bastante sofisticadas en casa.

Estoy pensando en agregar una VM en mis computadoras portátiles pronto, ya que estoy ejecutando el código temprano para Windows 10, no me importaría tener una instancia de Linux o Windows 8 para ejecutar o verificar algunas cosas que podrían ser OS errores o problemas

Por ejemplo, tengo una máquina virtual que uso para probar varias distribuciones de Linux (usuario de Windows que está pensando en cambiar). Pero hay otras razones para usar una.

Solía ​​tener una máquina virtual Win XP para los estafadores de soporte informático que llaman. Es divertido ver lo que hacen cuando les das el control de tu máquina virtual.

En computadoras de escritorio:
Prueba de aplicación / SO
Seguridad (instale aplicaciones potencialmente inseguras dentro de una VM para que no infecte su computadora principal)
Honeypot (para crear un entorno falso para que los ciberdelincuentes ataquen en lugar de su computadora principal)
Ejecución de aplicaciones heredadas, es decir. Aplicaciones que solo funcionan dentro de un sistema operativo anterior.

En servidores:
Optimice para aplicaciones de servidor que no sean amigables entre sí.
Migre activamente invitados a servidores de respaldo para mantenimiento de hardware, evite el tiempo de inactividad

Esa es una forma en que funciona la nube. Un host de máquina virtual proporciona una capa de abstracción que proporciona una configuración de hardware virtual estándar, de modo que una máquina virtual se puede mover sin problemas a través de hardware real diferente. También se puede marcar (el estado guardado), detenerse, iniciarse y clonarse muy fácilmente, de modo que si un proyecto repentinamente requiere 100 servidores más, se pueden crear 100 máquinas virtuales en unos segundos en lugar de que alguien tenga que instalar y encender 100 computadoras reales
Una máquina virtual también puede proporcionar seguridad y privacidad; Una máquina virtual que utiliza un disco virtual encriptado que se inicia y detiene cuando es necesario es más segura que una máquina real que se deja en funcionamiento o hibernando.

Esto le permite ejecutar programas que no se pueden ejecutar de otra manera. Yo uso Parallels en una Mac. Esto me permite utilizar un programa de administración de documentos de Windows 2000 de 15 años en el hardware actual. La integración es perfecta. Es solo otra aplicación OSX de todas las apariencias.

La virtualización puede brindarle una medida de privacidad. Ejecute un navegador web dentro de una máquina virtual. Cada vez que se inicia el navegador, en realidad se inicia dentro de una instalación limpia del sistema operativo.

La virtualización te permite jugar. ¿Quieres probar Linux? Instale la distribución dentro de una máquina virtual. ¿Quieres probar una aplicación de la que no estás tan seguro? Haz lo mismo otra vez. Deshacerse de él es simplemente hacer clic en el botón Eliminar de VM.

Un par de ejemplos de mi experiencia personal.

Tengo una aplicación que uso, un viejo programa de música, que no se ejecuta en versiones modernas de Windows. Probablemente podría encontrar un reemplazo, pero funciona … así que configuré una VM de Windows XP, solo para esa aplicación.

Así que mis principales aplicaciones para CAD, fotografía y música se ejecutan en Windows. Pero cuando programo, me gusta el entorno superior de Linux para la programación. Así que casi siempre tengo una VM configurada con mi Linux favorito de la semana, para la programación.

Muchos sistemas modernos involucran múltiples computadoras. Supongamos que desea crear y verificar una aplicación de servidor web simple, algo que podría ejecutarse en una máquina virtual basada en la demanda de Amazon. Accede a TurnKey GNU / Linux y encuentra el “dispositivo” más cercano al problema que está tratando de resolver. Póngalo en una máquina virtual y su servidor estará listo en minutos. Puede configurar máquinas virtuales adicionales para la prueba, o tal vez para aplicaciones de servidor cooperativo. Todo lo que se puede probar en una sola PC (suponiendo recursos adecuados), no es necesario involucrar a varias PC o ralentizar las cosas al tener que ejecutarse en Internet abierto, etc.

Como ejemplo de dónde es útil configurar una máquina virtual: teníamos una aplicación de software que falló de cierta manera peculiar, pero solo en máquinas que ejecutan la versión china de Windows XP. El informe de error que recibimos nos dijo dónde estaba ocurriendo el problema, pero no por qué. Ninguno de los desarrolladores de este proyecto es chino, y ninguno de nosotros puede leer o escribir chino (incluso chino simplificado ;-). Pero sí recuerdo el proceso de instalación de Windows lo suficientemente bien como para poder configurar una máquina virtual, instalar Windows XP chino en ella (haciendo clic en los botones correctos, aunque no podía leer los subtítulos), y luego ejecutar una versión instrumentada del aplicación sobre el mismo. Esto me permitió descubrir rápidamente lo que estaba sucediendo.

Una buena razón para usar uno es realizar transacciones financieras como la banca en línea.

Dado que puede hacer una instantánea de la VM en un estado conocido, puede instalar solo el mínimo de SO y software que prácticamente garantiza que la máquina siempre estará libre de virus y malware.

Una vez que haya terminado de realizar su negocio, apague la máquina y vuelva a la instantánea. Si por casualidad detectó algún malware mientras realizaba su negocio, no estará allí la próxima vez que inicie la máquina.

También puede usarlo como una caja de arena para probar cualquier software sospechoso sin temor a que ataque su máquina cotidiana.

Algunos buenos ejemplos aquí. Tengo una computadora portátil que no ejecuta Windows XP de forma nativa porque los controladores no existen para el conjunto de chips, pero tengo un software de diagnóstico automático especializado que solo funcionará con XP, por lo que ejecuto XP en Oracle Virtualbox. Funciona bastante bien, excepto por un poco de retraso del mouse.

Mi amigo tiene su PC con Linux RedHat. También usa Windows en una VM que se carga cada vez como una compilación nueva y evita los problemas de cambios no deseados del sistema.

También ejecutó una PC en su casa en China con 3 máquinas virtuales para ejecutar como 3 máquinas separadas que ejecutan diferentes aplicaciones para que parezcan sistemas independientes.

Utilizo una máquina virtual para aislar mi entorno de trabajo del entorno informático de mi hogar. Trabajo como programador por contrato y tengo la suerte de poder trabajar desde mi oficina en casa la mayor parte del tiempo usando mi moderadamente potente 6 core (12 hilos cada uno de los cuales parece un núcleo real para el software VM) Mac Pro.

Mi contrato actual tiene varios requisitos de software que preferiría no aplicar a mi máquina personal que tendré que revertir una vez que finalice el contrato. En cambio, acabo de crear una VM que ejecuta Mac OS X 10.10 que usa 8 GB de RAM y 4 de los 12 núcleos de VM para usar como mi entorno de desarrollo de trabajo. Cloné un MacBook Air existente en la VM cuando comencé a trabajar desde casa ahorrándome horas de trabajo de configuración. Había usado el MacBook anteriormente en el sitio para un contrato anterior con el mismo cliente. El clon de la máquina virtual de Mac es más potente que la computadora portátil real, por lo que satisface mis necesidades sin ningún problema.

Ahora mi MacPro no tiene instalado mi software VPN de trabajo, que es un proceso algo invasivo. Tampoco necesito instalar Java y Eclipse IDE (entorno de desarrollo) en mi máquina principal. Java frecuentemente tiene algunos problemas de seguridad bastante serios que puedo evitar al no instalarlo en el sistema operativo.

He estado usando la VM durante aproximadamente un mes y está funcionando muy bien. Es probable que también use esta técnica para futuros contratos.

Si usted es desarrollador y desea probar o ejecutar sus aplicaciones en múltiples sistemas operativos y tiene una sola máquina, ¿cómo lo hará? Sí, la única respuesta es máquinas virtuales dentro de una sola computadora física.