He conocido algunos desarrolladores que se niegan realizar el desarrollo en una infraestructura virtual. Se empeñan en montar servidores de desarrollo en máquinas físicas.
¡Yo creo que las ventajas de utilizar máquinas virtuales son clarísimas!
Hace poco en un proyecto de la empresa en la que trabajo, tuvieron un parón por algún problema con el servidor de desarrollo, habían instalado algo y el WSS dejo de funcionar bien, estuvieron unas cuantas horas reinstalando un servidor físico. ¡Con lo fácil que resulta recuperar una imagen virtual de la infraestructura base!
Pienso que para desarrollos para WSS y MOSS lo mejor es que cada desarrollador trabaje con su máquina virtual. Las piezas que desarrolla cada persona del equipo se integren en un entorno de desarrollo(mejor que sea una máquina virtual).
En esta configuración los desarrolladores pueden usar las máquina de escritorio con VirtualPC o VMWare Workstation y el entorno de integración puede ser un VirtualServer o VMWare Server.
En este sentido encontré en el blog de Mark Arend una tabla comparativa de capacidades de VIrtaulServer y VirtualPC:
http://blogs.msdn.com/markarend/archive/2008/03/04/virtual-pc-and-virtual-server.aspx
|
Feature |
VPC |
Virtual Server |
|
Shared Folders? |
Yes | |
|
Copy-n-paste? |
Yes | |
|
Drag-n-drop? |
Yes | |
|
Map a virtual NIC to a wireless physical connection? |
Yes | |
|
Compact disk image to a separate location? |
Yes | |
|
Management tools for multiple guest OS? |
No | Yes |
|
Performance |
Great* | Great*+1 |
|
Runs as Windows Service |
No | Yes |
*Performance really can be very good, on two conditions: enough physical RAM on your host (2GB will do, but 4GB is much better), and putting the virtual hard drive on a physical drive other than the one holding the host OS. On a laptop, a USB 2.0 external drive works very well. Be sure to “safely remove…” the USB drive before unplugging it.
Lo esencial para que el desarrollador trabaje cómodo en su escritorio es tener mucha memoria y bastante disco duro (lo mismo pasa si se plantea montar un entorno de Desarrollo). Otro punto imprescindible es tener un sistema de gestión de código fuete y una buena coordinación en la integración de las piezas de código que trabaja cada uno de los integrantes del equipo.
Yo trabajo con VMWare Workstation en mi portátil y me resulta un poco mas cómodo que VirtualPC(por ejemplo no tengo que montar el adaptador LoopBack de red)
Otro uso ventajoso de los entornos virtuales es la facilidad de llevar nuestras demos en el portátil(con mucha memoria) para poder mostrarlo a los clientes.

En mi caso también uso todo hambiente y control de cambios en desarrollo con Virtualización, pero uso Vmware Server es mucho mas estable y con mejor performance sobre la PC que hace de Host.
Estoy deacuerdo en que lo mejor para entornos de integració o pre-produccion lo mejor son entornos virtualizados. Sin embargo en cuanto al pc de escritorio para el desarrollo soy de los que se niega a virtualizar, ya que en una infraestructura fisica el rendmiento es muy superior, y sinceramente, cuanto más rendimiento tenga mas comodo y rapido podré trabajar y eso en una empresa es más dinero. He trabajado con entronos virtuales con 2Gb en la maquina virtual y 2Gb en el host y por ejemplo el Sharepoint Designer se quedaba frito cada dos por tres y el Visual Studio tardaba minutos en abrir ventanas. Eso sin contar que al sistema host también le costaba lo suyo tener Outlook y otras aplicaciones abiertas, las cuales son necesarias para el trabajo. Lo siento, pero en cuanto a rendimiento donde este lo físico que se quite lo virtual y en mi caso para poder desarrollar comodamente y rápido el rendimiento es fundamental. Respecto a la ventaja de la virtualización porque permite recuperar rapidamente el sistema en caso de que deje de funcionar he de decir que lo mismo se puede hacer con una infraestructura física creando un backup del disco con una herramienta tipo Acronis True Image o Norton Ghost, por lo que no creo que ese sea un buen argumento para virtualizar. Aún así y a pesar de todo lo dicho estoy abierto a que alguién me pueda convencer de las ventajas reales y beneficios de virtualizar una estación de trabajo de desarrollo.
El tiempo y la experiencia te convencerán!creo:)
No se yo, llevo ya 3 años con MOSS, desde que aparecio la primera beta, y hasta ahora lo único que he comprobado es que un entorno físico tiene un rendimiento mucho más alto que uno virtual.
Pues no se!si estas mas cómodo así y vas montando de forma rápida todos los entornos físicos(desde cero) para cada nuevo cliente!?será mejor lo físico,yo seguiré usando la virtual,por cierto no se si sabes que la virtualizacion también de usa para sistemas en explotación y cada día mas!
Si lo se, de echo todos los clientes con los que trabajo tienen entornos de explotación virtualizados, y los entornos que yo creo de pre-producción son virtualizados, creo una maquina virtual para cada cliente, desde luego eso es lo más comodo, económico y práctico, eso no lo voy a discutir. Pero aparte yo tengo mi PC de desarrollo, con Visual Studio, MOSS, Designer, SDKs, etc en el que hago mis desarrollos, los pruebo, los paquetizo y luego los instalo en las maquinas virtuales de pre-producción para realizar más pruebas y si todo va bien entonces ya se lleva al cliente. El único entorno físico es el mio porque como tengo que trabajar con muchas otras herramientas (Office, Photoshop, etc) el rendimiento es mucho mejor, no sólo en cuanto a velocidad del PC sino rendimiento en general del trabajo (que al fin y al cabo es lo que los jefes quieren, que curremos mucho y rapido). Además muchos PCs del equipo de desarrollo son portatiles que sólo cuentan con 2 o 3 Gigas de RAM y un único disco duro de 80Gb, y no se si has probado montar una maquina virtual con W2k3, SQL, MOSS y VS2008 en un portatil así pero te aseguro que no es una experiencia nada agradable, más bien desesperante.