Boss quiere convertir a todos los desarrolladores a escritorios virtualizados [duplicado]

7

Mi jefe ha estado cantando las alabanzas de aprovechar los escritorios virtualizados para todos nuestros desarrolladores de la empresa, unas 100 personas. Creo que esta es una idea horrible y no se me ocurre ninguna otra empresa que siga un curso de acción similar.

Él cree que puede ejecutar Word y Outlook mucho más rápido en su máquina virtual alojada en el servidor y, de alguna manera, cree que esto también funcionará para el desarrollo de software. Tengo graves dudas sobre esto.

¿Alguien más puede proporcionarme información técnica y / o empresarial objetiva sobre este escenario que pueda usarse para disuadirlo?

Puedo ver la virtualización de escritorio como una opción viable para los trabajadores basados en tareas que se sientan frente a MS Office o una aplicación LOB todo el día, pero para el desarrollo de software, veo esto como un gran error potencial. Por mi parte, no tengo ningún interés en volver a las terminales tontas y la fe ciega en las operaciones para mantener los servidores y la red sintonizados con nuestras necesidades.

Si se instituye un sistema de este tipo, es muy posible que deje la empresa ... ya que veo que la política revela una clara falta de comprensión y una percepción de valor disminuida en lo que hacen los desarrolladores ...

    
pregunta Community 15.09.2011 - 07:24

5 respuestas

13

¿Por qué no intentarlo? Ofrezca configurar una comparación lado a lado para que pueda hacer una comparación justa y para que todos los desarrolladores puedan probar el nuevo sistema. Incluso puede cambiar por un mes o dos y realmente darle una oportunidad. Posibles resultados:

  • Tienes muchos problemas. Tal vez los administradores de sistemas no le den acceso a las herramientas que necesita, o el sistema es demasiado lento, o el teclado hace que le duelen las manos, o lo que sea. Como primer desarrollador en probar el nuevo sistema, su administrador querrá saber qué piensa y probablemente estará ansioso por ayudarlo a resolver los problemas que encuentre.

  • El nuevo sistema funciona mejor de lo que esperaba y al menos es pasable. El mayor inconveniente es que pierdes algo de control sobre tu máquina. Sin embargo, es probable que eso ocurra de todos modos, y al ofrecerse voluntario para ir primero (y no quejarse), al menos acumula algunos puntos con su gerente.

  • ¡Sorpresa! El nuevo sistema realmente funciona bien. Tal vez sea tan rápido como su máquina actual, o tal vez sea más rápido. Podría descubrir algunas ventajas que no tenía con su máquina de escritorio. Por ejemplo, trabajé en uno de esos sistemas donde podrías sacar tu token de un terminal y pegarlo en otro, y estarías justo donde lo dejaste. Todavía no amaba el sistema, pero era realmente ingenioso poder sentarme en cualquier escritorio y acceder a su propio entorno. Funcionó muy bien para mostrarle a alguien algo en lo que estabas trabajando. La desventaja aquí es que debes admitir que tu gerente tenía razón, pero aún así obtienes los puntos por ir primero.

Si le da al sistema nuevo un intento honesto y encuentra problemas reales, su administrador debe ser lo suficientemente inteligente y lo suficientemente honesto como para admitir que su plan podría no funcionar tan bien, al menos para los desarrolladores. No debería estar tan involucrado en su plan que no pueda ver los problemas reales. Pero de la misma manera, no deberías estar tan apegado emocionalmente a la forma en que trabajas ahora que tienes miedo de probar algo nuevo.

    
respondido por el Caleb 15.09.2011 - 08:08
4

Usamos escritorios virtuales en gran medida y con servidores potentes en su LAN y almacenamiento rápido, el rendimiento puede ser bastante adecuado para el desarrollo de software. No está a la par con el último y más rápido pero está cerca. Algunos de los beneficios son poder replicar e implementar rápidamente máquinas virtuales, hacer copias de seguridad automáticas y poder acceder a su escritorio desde cualquier lugar (por ejemplo, sala de reuniones, hogar, etc.).

¿Necesita un sabor de SO particular para probar? No es un problema. Puedes tomar instantáneas antes de instalar cosas, etc.

La sensación (esto es VMware View) es bastante indistingible de una PC física. Monitores múltiples, USB ...

Así que realmente depende. Tienes que sopesar los beneficios frente a la pequeña disminución de rendimiento. No es solo el costo de una PC, sino el costo de mantener ese hardware. La inversión inicial en la construcción de una buena infraestructura VDI para el desarrollo de software puede ser mucho más alta que el costo de las PC (el almacenamiento es una locura y los servidores tampoco son baratos).

He comentado una pregunta similar antes, vea:

enlace

Divulgación :-) Desarrollamos software para escritorios virtuales, por lo tanto, comemos nuestra propia comida para perros.

EDIT: expandiendo la pregunta de rendimiento:

  • La sobrecarga de ejecutar dentro de una máquina virtual con CPU modernas es bastante pequeña.
  • Hay soluciones de E / S muy rápidas orientadas a entornos VDI (en su mayoría utilizan almacenamiento en caché SSD).
  • Por lo tanto, en un entorno "en bruto" de VDI bien descargado y bien diseñado, el rendimiento es bastante bueno. Nuevamente, no es tan bueno como una PC autónoma de vanguardia pero es bastante bueno.
  • El costo "residual" es el costo de la comunicación remota del escritorio (por ejemplo, pantalla, teclado, mouse) a través de la red. Esto se debe principalmente a la cantidad de píxeles que cambian en la pantalla y para el trabajo de desarrollo de software no es una carga pesada. Como una directriz aproximada, estimaría que se necesita menos del 5% de un núcleo de CPU moderno para admitir esto. Si haces gráficos 3D intensivos (por ejemplo), la virtualización probablemente no sea para ti (¿aún?).
respondido por el Guy Sirton 15.09.2011 - 08:12
2

No veo cómo podemos responder objetivamente esta pregunta. ¿Por qué parece tan malo? ¿Cuáles son tus problemas con el entorno virtual?

Aunque estoy de acuerdo con los problemas relacionados con el entorno virtualizado, en su mayoría se retrasa la entrada y la disponibilidad. Usamos ese escenario por un tiempo pero obtuvimos esto ... los programadores y los servidores estaban en lados opuestos del globo.

El retraso fue horrible, sin embargo, todavía logramos ser productivos. Ahora, eso no significa que volvería a ese entorno, realmente fue horrible. Por otro lado, hay muchas configuraciones especializadas que tenemos que usar para algunos aspectos del desarrollo del sistema. Para su uso, es mucho más conveniente utilizar un entorno virtual y activarlo cuando lo necesitemos que tener todos los entornos en funcionamiento en todas las estaciones.

Hay ventajas en la ejecución en un entorno virtual y las desventajas se pueden solucionar. Por ejemplo, las pruebas de rendimiento me parecería obvio que sería necesario un hardware dedicado para que esto obtenga cualquier tipo de resultados confiables a lo largo del tiempo.

También hay desventajas, la mayoría de las cuales tienen un mayor impacto en el lado comercial del trabajo que en el lado estricto de la ingeniería. Por ejemplo disponibilidad. Quizás la compañía realmente lo pensó y estimó que pueden reducir costos al centralizar las configuraciones incluso si esto significa que el x% del tiempo o parte del equipo estará inactivo debido a las interrupciones del sistema. Dicho esto, los verdaderos estudios de impacto ya que rara vez se hacen correctamente. Ahora, tener tiempo libre forzado (pagado, podría agregar) puede que no siempre se sienta bien, pero es su dinero lo que están esperando aquí. Su tiempo ya ha sido comprado y pagado, la forma en que se usa realmente depende de ellos. Pero como usted dijo, si la forma en que deciden pasar su tiempo se siente mal, entonces siempre tiene la opción de seguir adelante.

Lo que quiero decir aquí es que si quieres convencer a alguien de que una decisión es incorrecta, debes estar listo para ver el otro lado de la moneda. Tal vez no vieron los problemas que usted teme que pasen, pero tal vez usted no vio los problemas que llevaron a esta decisión. Pero cómo hizo su pregunta aquí, puedo ver que esto no va a ninguna parte.

    
respondido por el Newtopian 15.09.2011 - 08:10
0

Trabajo diariamente (como desarrollador) utilizando RDP en un escritorio virtualizado y diría que no es tan práctico. Especialmente cuando estás haciendo pruebas de rendimiento, nunca puedes hacer una prueba limpia, por lo que los resultados son menos fáciles de comparar. Además, siempre tendrá un poco de retraso entre las pulsaciones de teclado y la computadora remota que maneja su entrada

    
respondido por el thekip 15.09.2011 - 07:56
0

Mientras esté conectado con una LAN razonablemente rápida y no haya hecho un lío completo en cuanto al tamaño y la configuración de los servidores, no debería notar ninguna diferencia.

Hay muchas ventajas en este entorno: -

  • Algunas tareas son más rápidas: las tareas de compilación grandes pueden aprovechar la potencia de procesamiento adicional y la memoria del hardware del servidor.
  • Si necesita realizar pruebas con varias versiones del sistema operativo o del software del sistema, simplemente implementa más escritorios virtuales.
  • Es rentable implementar muchas estaciones de trabajo más baratas y unos pocos servidores potentes que viceversa.
  • Utilización. A menos que todos los desarrolladores nunca se enfermen, nunca se vayan de vacaciones, nunca vayan a reuniones y nunca tomen un café, entonces obtendrán una mejor utilización del entorno del servidor compartido: un 90% de CPU, memoria, etc. durante un día de trabajo, en lugar de quizás un promedio del 10% de uso de la estación de trabajo por día laborable.

Tal vez prefieras una estación de trabajo dedicada pero realmente no vale la pena pelear con tu jefe.

    
respondido por el James Anderson 15.09.2011 - 08:38

Lea otras preguntas en las etiquetas