Rendimiento trabajando sobre maquina virtual?

Hola a todos!!
Ahora que me voy a cambiar de portatil me estoy planteando cual sería la mejor forma de trabajar (en mi caso) que soy programador y necesito linux y windows. Además me gustaría poder cumplir los siguientes requisitos, por orden de preferencia:
- Velocidad general del sistema con prioridad de linux frente a windows
- Facilidad para restaurar los entornos de desarrollo
- Portabilidad. Poder trabajar con el mismo entorno de desarrollo y código fuente en varios PCs

Iba a partir de una instalación de Ubuntu sobre un SSD interno y lanzar desde ahi una maquina virtual Windows cuando la necesitara. La instalacion del entorno de desarrollo en Windows es mas coñazo que en Ubuntu, por lo que con la maquina virtual me quito eso cuando cambie de PC, o tenga que formatear o lo que sea.
Pero ya que estoy pienso que quizas podria montar subre un Ubuntu las 2 maquinas virtuales donde necesito el entorno de desarrollo: una ubuntu (sobre ubuntu) y otra windows.
La duda en este ultimo caso que me surge es si disminuirá considerablemente la fluidez general. Más aun si buscando portabilidad, lanzo las maquinas virtuales desde un disco duro externo de 5400rpm USB3.0.

¿Como lo veis? Qué harías vosotros? La opción de comprarme el super pepino para mejorar algo la fluidez no me vale XD
¿Has pensado en meter en la máquina VMware ESXi y poner sobre éste los 2 entornos que quieres?
Otra posibilidad es investigarsi podrías hacerlo usando Docker
Newton escribió:¿Has pensado en meter en la máquina VMware ESXi y poner sobre éste los 2 entornos que quieres?
Otra posibilidad es investigarsi podrías hacerlo usando Docker

Pues voy a investigar sobre esas dos opciones, porque aunque uso VMware (o virtuabox) no conozco ESXi. Y tampoco conozco Dockery.

Gracias
CrosMax escribió:Hola a todos!!
Ahora que me voy a cambiar de portatil me estoy planteando cual sería la mejor forma de trabajar (en mi caso) que soy programador y necesito linux y windows. Además me gustaría poder cumplir los siguientes requisitos, por orden de preferencia:
- Velocidad general del sistema con prioridad de linux frente a windows
- Facilidad para restaurar los entornos de desarrollo
- Portabilidad. Poder trabajar con el mismo entorno de desarrollo y código fuente en varios PCs
..

¿Como lo veis? Qué harías vosotros? La opción de comprarme el super pepino para mejorar algo la fluidez no me vale XD


Tambien te recomuiendo el servidor de maquina virtual como el que te comentan, asi el que arranca la PC seria ests servidor de maauina virtual y ya sobre el arrancas las maquinas virtuales y su sistema operativo instalado.

Ahorala cosa es:

Cuantas RAM tienes y cuantos nucleos tiene el procesador, y otra cosa que ayuda mucho: ¿Cuantos hilos por nucleo puede manejar el procesador?, porque tanto cantidad de RAM como cantidad de hilos vas a necesitar para tener funcionando todo de manera decente.


Yo veria de agregar mas RAM y de agregar un SSD.

.
¿Has pensado en Vagrant?
Buenas de nuevo.
Retomo este tema ahora que ando algo mas liberado de trabajo y puedo dedicarle tiempo a la migracion.
@Alecs7k, no te habia leido. Ahora estaba mirando que ofrece Vagrant, porque tampoco lo conocía.
La verdad es que no me imaginaba que hubiera tantas "plataformas" disponibles para tal fin, asique me toca empollar un poco a ver cual se adapta mejor a lo que busco.

La unica pega que me ha surgido en este tiempo, y que es importante, es que me robaron el portatil que pensaba usar, porque con el que ando tiene 4GB de ram y no se puede ampliar mas. [sonrisa] Es una buena reliquía pero que me da pena tirar XD Voy a ver si Docker y Vagrant exigen menos recursos que tirar de maquinas virtuales vmware.

Un saludo! Y si alguien aporta mas opciones, estupendo!!!

EDIT:
Por lo que voy leyendo, docker y vagrant dan un resultado parecido, pero lo veo enfocado mas que al desarrollador que está desarrollando, al momento de poner algo en produccion, y tener un entorno que sabes que es cerrado, que has probado y que no va a fallar. Pero lo que busco es tener mis fuentes, requisitos (librerias, frameworks), IDEs, editores disponibles en el último estado que los dejé sin importar el PC que esté utilizando. Quizas esto se consiga tambien con Docker y Vagrant, pero la sensacion que tengo es que la finalidad que se busca conellas no es esta que describo. ¿Estoy en lo cierto?
CrosMax escribió:Buenas de nuevo.
Retomo este tema ahora que ando algo mas liberado de trabajo y puedo dedicarle tiempo a la migracion.
@Alecs7k, no te habia leido. Ahora estaba mirando que ofrece Vagrant, porque tampoco lo conocía.
La verdad es que no me imaginaba que hubiera tantas "plataformas" disponibles para tal fin, asique me toca empollar un poco a ver cual se adapta mejor a lo que busco.

La unica pega que me ha surgido en este tiempo, y que es importante, es que me robaron el portatil que pensaba usar, porque con el que ando tiene 4GB de ram y no se puede ampliar mas. [sonrisa] Es una buena reliquía pero que me da pena tirar XD Voy a ver si Docker y Vagrant exigen menos recursos que tirar de maquinas virtuales vmware.

Un saludo! Y si alguien aporta mas opciones, estupendo!!!

EDIT:
Por lo que voy leyendo, docker y vagrant dan un resultado parecido, pero lo veo enfocado mas que al desarrollador que está desarrollando, al momento de poner algo en produccion, y tener un entorno que sabes que es cerrado, que has probado y que no va a fallar. Pero lo que busco es tener mis fuentes, requisitos (librerias, frameworks), IDEs, editores disponibles en el último estado que los dejé sin importar el PC que esté utilizando. Quizas esto se consiga tambien con Docker y Vagrant, pero la sensacion que tengo es que la finalidad que se busca conellas no es esta que describo. ¿Estoy en lo cierto?


Si estas en lo cierto ;) Digamos que Docker lo puedes utilizar para tener un 'entorno concreto' [una versión de Apache con una versión concreta de MySQL con una versión concreta de PHP por ejemplo] y así lo puedes desplegar de una máquina a otra sin mayor problema. Tal y cómo dices, es muy utilizado por desarrolladores. No sé si podrías adaptarlo para usarlo con tus fuentes, librerias, frameworks y IDEs.

La opción más recomendable en mi opinión, puede ser contar con una máquina con ESXi y crear ahí las máquinas virtual que necesites; después desde otros equipos/dispositivos puedes conectar al ESXi y utilizar la máquina. Busca documentación sobre ESXi, vSphere etc.
Newton escribió:
CrosMax escribió:Buenas de nuevo.
Retomo este tema ahora que ando algo mas liberado de trabajo y puedo dedicarle tiempo a la migracion.
@Alecs7k, no te habia leido. Ahora estaba mirando que ofrece Vagrant, porque tampoco lo conocía.
La verdad es que no me imaginaba que hubiera tantas "plataformas" disponibles para tal fin, asique me toca empollar un poco a ver cual se adapta mejor a lo que busco.

La unica pega que me ha surgido en este tiempo, y que es importante, es que me robaron el portatil que pensaba usar, porque con el que ando tiene 4GB de ram y no se puede ampliar mas. [sonrisa] Es una buena reliquía pero que me da pena tirar XD Voy a ver si Docker y Vagrant exigen menos recursos que tirar de maquinas virtuales vmware.

Un saludo! Y si alguien aporta mas opciones, estupendo!!!

EDIT:
Por lo que voy leyendo, docker y vagrant dan un resultado parecido, pero lo veo enfocado mas que al desarrollador que está desarrollando, al momento de poner algo en produccion, y tener un entorno que sabes que es cerrado, que has probado y que no va a fallar. Pero lo que busco es tener mis fuentes, requisitos (librerias, frameworks), IDEs, editores disponibles en el último estado que los dejé sin importar el PC que esté utilizando. Quizas esto se consiga tambien con Docker y Vagrant, pero la sensacion que tengo es que la finalidad que se busca conellas no es esta que describo. ¿Estoy en lo cierto?


Si estas en lo cierto ;) Digamos que Docker lo puedes utilizar para tener un 'entorno concreto' [una versión de Apache con una versión concreta de MySQL con una versión concreta de PHP por ejemplo] y así lo puedes desplegar de una máquina a otra sin mayor problema. Tal y cómo dices, es muy utilizado por desarrolladores. No sé si podrías adaptarlo para usarlo con tus fuentes, librerias, frameworks y IDEs.

La opción más recomendable en mi opinión, puede ser contar con una máquina con ESXi y crear ahí las máquinas virtual que necesites; después desde otros equipos/dispositivos puedes conectar al ESXi y utilizar la máquina. Busca documentación sobre ESXi, vSphere etc.


Definitivamente creo que la mejor opcion para mi caso seria instalar ESXi en los 2 pcs que usaría y tirar de una VM Windows y otra VM Linux.

Ahora una cuestión que me ha surgido es que es preferible en términos de fluidez general: ¿Host sobre HDD y VM en SSD o viceversa? Sé que lo mejor sería contar con dos SSD

Gracias
CrosMax escribió:
Definitivamente creo que la mejor opcion para mi caso seria instalar ESXi en los 2 pcs que usaría y tirar de una VM Windows y otra VM Linux.

Ahora una cuestión que me ha surgido es que es preferible en términos de fluidez general: ¿Host sobre HDD y VM en SSD o viceversa? Sé que lo mejor sería contar con dos SSD

Gracias


@CrosMax no entiendo muy bien tu planteamiento ¿quieres instalar ESXi en cada máquina y en ellas tener en cada una, 1 máquina virtual corriendo?

El funcionamiento de ESXi yo lo entiendo cómo un sitio centralizado [servidor] dónde tienes distintas máquinas virtuales y mediante un cliente en distintos dispositivos arrancas las máquinas.

Respecto a ESXi creo que funciona con datastores, pero sin tener muy claro que configuración vas a aplicar no sé decirte dónde sería mejor utilizar un HDD o un SSD.

Los SSDs no sé cuales serán, pero antiguamente creo que no era recomendable ponerlos para operaciones de lecturas/escrituras intensas [por ejemplo un directorio de descargas de P2P] puesto que tenían un número limitado de lecturas/escrituras. Aún así, esto último cogelo con 'pinzas' puesto que no tengo experiencia con discos SSD, supongo que en el subforo de HW encontrarás alguien que sepa del asunto y/o incluso respondan en este hilo.

Saludos ;)
¿ para que vas a montar un esxi con una sola maquina virtual?
Pensaba que el ESXi era una especie de sistema operativo ligero y específico para lanzar distintas máquinas virtuales.
Sabiendo lo que es, no me vale porque me imagino que además necesitas un ancho de banda curioso para que vaya fluida si estoy fuera de la LAN.
Me parece que voy a optar por montarme 2 ubuntus en cada PC y tirar de Dropbox o similares para sincronizar las carpetas más importantes. Y el Win10, que lo uso menos, como una máquina virtual normal.

Gracias a todos
10 respuestas