¿Cuáles son mejores para el desarrollo y prueba de software, múltiples máquinas virtuales o hardware dedicado?

Una gran ventaja de las máquinas virtuales es la facilidad de girarlas hacia arriba o hacia abajo según sea necesario una vez que tenga una biblioteca de imágenes. Es poco probable que un ingeniero determinado necesite todos los sistemas operativos de destino a la vez, por lo que incluso con una estación de trabajo relativamente modesta obtendrá ese beneficio, por lo que obtendrá ahorros puros en comparación con múltiples cajas físicas. Dejaré que los expertos en virtualización lo agreguen aquí …

Algunas de las desventajas que he encontrado:
– VM (o emuladores si también cubre dispositivos que no sean PC) no se comportan al 100% como hardware físico: rendimiento, periféricos, redes, pantalla, etc. Es posible que aún necesite pruebas adicionales antes de enviar a los clientes.
– Las licencias de OS X no son compatibles con VM
– muchas soluciones de virtualización disponibles, desde las de un solo usuario gratuitas hasta las muy escalables

Prefiero tener una cantidad infinita de hardware real, pero tanto el presupuesto como el espacio físico discuten.

Tenga en cuenta que con algunos de los que menciona, las licencias en máquinas virtuales son un problema (a menos que sea un trabajo de desarrollo puro y tenga una suscripción a MSDN).

Realmente depende de lo que estés haciendo.
Compraría una mac de 27 “con 32 GB de RAM y un disco externo muy rápido.
Luego lo convertiré en la máquina de desarrollo principal usando OsX como el SO del día a día.

Luego experimente con la configuración de varias máquinas virtuales, guárdelas en la unidad externa y úselas para sus pruebas.

Pronto descubrirá en qué medida se pueden usar en su situación.
Esperaría un poco para tomar una decisión final.
Eventualmente, puede expandirse más tarde en varias direcciones y optar por comprar más monitores o más máquinas sin monitores.

Tenga en cuenta que incluso si cree que el hardware de Apple es costoso, ya que tiene OsX como uno de sus objetivos, es probable que necesite al menos una máquina.
Obtener la mayor cantidad de memoria es probablemente la mejor opción, con varias CPU (posiblemente más lentas) en segundo lugar, si principalmente desarrolla y ejecuta máquinas virtuales.

Si no necesita ejecutar todas las máquinas al mismo tiempo, esa máquina puede ser suficiente para todas sus necesidades de desarrollo, incluidas todas las pruebas.
Si lo hace, pero no necesita una computadora de escritorio local, puede comprar una Mac mini con 16 GB de RAM o una PC sin computadora de escritorio (maximizar el número de CPU y RAM, es poco probable que la velocidad de la CPU sea importante).

Pero realmente depende de lo que esté desarrollando y es difícil decir qué funcionará y qué no funcionará a menos que nos diga más sobre lo que hace.