La virtualización ayuda a mejorar el desarrollo del software

El gran salto a la fama de la tecnología de virtualización fue dudosamente impulsado por la solución VMware Workstation, que permitió que usuarios individuales pudiesen ejecutar distintos sistemas operativos, versiones o aplicaciones en lugar de tener un entorno multi-arranque para cada uno. Es más, en muchas compañías la virtualización llegó a través de desarrolladores que usaban la tecnología por primera vez para llevar a cabo pruebas y desarrollos.
Aunque hoy la virtualización de ordenadores alimenta muchos entornos de producción, como servidores, equipos de escritorio y herramientas de aprovisionamiento, la virtualización también la está utilizando un creciente número de desarrolladores de software.

Proveer múltiples entornos de prueba
Mark Friedman, arquitecto de software, trabaja en la división de desarrollo de Microsoft en la que más de 3.000 personas crean Visual Studio y .NET Framework. El propio Friedman trabaja fundamentalmente en las herramientas de rendimiento que incluye Visual Studio Team System de Microsoft. Según éste: “Cerca de dos tercios del personal de esta división se encarga del desarrollo y de las pruebas, y la mayoría de esos desarrolladores y testers utilizan sistemas de virtualización (a través de la tecnología Microsoft Hyper-V) como una de sus principales herramientas de productividad”.
Una de las principales ventajas que tiene la virtualización es la capacidad de separar un entorno inestable, es decir, lo que obtiene cualquier desarrollador durante las primeras fases del diseño de una aplicación. Y es que, “durante el desarrollo de las herramientas de Microsoft – comenta Friedman–, las pruebas de las primeras versiones pueden desestabilizar todo el entorno de trabajo del desarrollador. Prácticamente cualquier cosa, salvo la más sencilla aplicación de escritorio, puede tumbar el sistema. A menudo les comento a mis desarrolladores que si no lo hacen de forma regular, es porque no están probando el sistema lo suficientemente bien”. Por ello, continúa Friedman, “apreciamos las tecnologías de virtualización porque ahorran tiempo y permiten a nuestros desarrolladores concentrarse más en las cosas importantes, no en los aspectos mundanos y extremadamente lentos”.
De la misma forma que lo hacen otras herramientas de virtualización, Microsoft Hyper-V permite al usuario realizar instantáneas del sistema en la última versión buena. “Creamos una herramienta que nos permite restaurar el sistema a cualquier estado previo correcto en cuestión de minutos”, comenta Friedman. “La alternativa es tener que volver a cargar una imagen del ordenador o volver a construir el entorno, lo que puede costar horas. Es tremendamente rápido”.

Virtualizacion

Control de calidad
El equipo de Friedman también hace un uso intensivo de la virtualización y de imágenes de máquinas virtuales en sus pruebas de control de calidad (QA). “Una vez que el producto pasa las pruebas de los desarrolladores, queremos ver, por ejemplo, sobre qué versiones del sistema operativo funciona bien. Para ello necesitamos probarlo tanto contra las versiones de 32 bits como de 64 bits. Utilizar imágenes de máquinas virtuales (VM) es la forma más rápida, barata y flexible de mantener una variedad de entornos de prueba. Su valor es incalculable. Ahorramos tanto tiempo que es difícil de creer”.
La posibilidad de realizar instantáneas y restaurar una imagen de trabajo en minutos, en lugar de esperar horas para reconstruir un sistema, es particularmente importante. “El proceso de búsqueda de errores conlleva tiempo. Se tarda uno o dos días en reproducir el entorno adecuado para generar determinado error, por lo que el tiempo que se dedica a tener que reconstruirlo una y otra vez es tiempo perdido”, afirma Friedman. “Y esto se traduce en una pérdida de productividad”.
Otro ejemplo del uso de la virtualización en este aspecto es el departamento de desarrollo de SiCortex, que utiliza la versión gratuita de VMware Server sobre un robusto servidor en rack (equipado con 2 ó 4 dual-core x86, 4 GB de RAM, y 300 GB de disco) que puede ejecutar de cuatro a ocho sistemas de control VM. Según afirma Adam Moskowitz, ingeniero de software de la compañía: “Como existe poca carga sobre el sistema de control, trabaja perfectamente con una menor inversión de capital. Cerca de la mitad de nuestros aproximadamente 25 ingenieros utilizan estos sistemas virtuales”.
Uno de los principales beneficios de virtualizar los sistemas de control, comenta Moskowitz, es la facilidad de realizar las pruebas. “¿Queremos un sistema experimental? Clona una VM estándar y ya lo tienes”.

Los límites de la virtualización
No obstante, los desarrolladores admiten que hay partes del proceso donde la virtualización aún no puede ayudar. “Un área donde la virtualización no sirve es para las pruebas de resistencia de nuestro producto, una aplicación de backup basada en red”, indica Eric Floehr, chief technology officer de 3X Systems, compañía que desarrolla y vende aplicaciones de backup remotas. “Aunque podemos probar 10 clientes simultáneos de forma virtual, no es una verdadera prueba de resistencia porque los 10 clientes sólo pasan por cuatro CPU físicas y dos NIC, restricciones que podrían no existir si fuesen 10 clientes físicos en el mundo real”.
Por su parte, John D. Mitchell, desarrollador de la compañía MarkMail, apunta que “la virtualización añade cierta complejidad y la actual generación de virtualizadores de escritorio todavía tienen demasiadas peculiaridades molestas, errores y funciones ausentes”, al menos en lo referente a su uso para el desarrollo de software. “Para realizar pruebas de carga o escala, tienes que trabajar sobre el hardware puro, la máquina física”, comenta Friedman, de Microsoft.

Beneficios reales
A pesar de estos inconvenientes, la virtualización ya ofrece beneficios reales a los desarrolladores. “La virtualización consigue que nuestros desarrolladores sean más productivos una vez que aprenden a trabajar con la tecnología”, afirma Friedman, de Microsoft. “Les permite dedicar más tiempo a codificar, probar y depurar. Elimina un montón de tiempo y retrasos dedicados a configurar y preparar entornos, algo a lo que no queremos que dediquen su tiempo”.

Autor: | Fecha: 20/02/2009  | Votos: 0

Más sobre:   | Virtualizacion |Software
   
Últimos artículos
 
La realidad y las exigencias del mercado laboral en Europa fecha: 08/02/2012 13:32:32
autor: Computerworld
Día Internacional de la Internet Segura fecha: 07/02/2012 13:23:29
autor: Antonio R. García
Las políticas de las organizaciones bloquearán un tercio de los proyectos de BPM hasta 2016 fecha: 06/02/2012 13:53:38
autor: Computerworld
Cómo atraer y retener el talento en la industria TIC fecha: 03/02/2012 13:45:33
autor: Alberto Iglesias
La industria PaaS se encuentra al comienzo de una era de crecimiento estratégico fecha: 02/02/2012 13:46:06
autor: Computerworld

Hoy en IDG.es

©2012 IDG COMMUNICATIONS, S. A. U. Prohibida la reproducción total o parcial en cualquier medio (escrito o electrónico) sin autorización expresa por escrito de la editorial. En particular, IDG COMMUNICATIONS, S.A.U., se opone de manera expresa, salvo consentimiento por escrito, a la reproducción, recopilación, distribución, comunicación pública o puesta a disposición por parte de terceros de los contenidos publicados en los medios de su titularidad (ya se editen éstos en papel, a través de Internet o cualquier otro soporte), de conformidad con lo establecido en el artículo 32 de la Ley 23/2006, de 7 de julio, por la que se modifica el texto refundido de la Ley de Propiedad Intelectual, aprobado por el Real Decreto Legislativo 1/1996, de 12 de abril. En caso de estar interesado en una autorización para reproducir, distribuir, comunicar, almacenar o utilizar en cualquier forma los contenidos titularidad de IDG COMMUNICATIONS, S.A.U. debe dirigir su petición a la siguiente dirección de correo electrónico : idg_nt@idg.es
idg.es