Archive for the ‘virtualización’ Category

Herramientas Open Source en Cloud Computing

Miércoles, Julio 21st, 2010

La noticia en cloud computing desde hace unos días es que Rackspace ha abierto su plataforma de cloud computing como open source, como proyecto OpenStack.

Aunque por ahora solo hay una developer preview, se espera que para el último trimeste del año ya estén disponibles completamente dos componentes: OpenStack Compute (para aprovisionar y gestionar grandes despliegues de instanacias en la nube) y OpenStack Object Storage (para gestionar servidores normales como clústeres para ser utilizados como almacenamineto seguro, redundante y de gran escala).

Esta iniciativa no solo viene respaldada por Rackspace, sino que se ha incluído teconlogía empleada por el proyecto Nebula de la NASA.

Siempre es buena noticia que se libere código, pero además viene a reforzar la posición del open source como base para las teconlogías de cloud computing.

Open Source y la nube

Con la entrada en el mercado de OpenStrack, la oferta de infraestructura para clod computing en open source es más que excelente, además respaldado por empresas especializadas en soporte:

  • Cloudera: proporciona servicios sobre Apache Hadoop, la plataforma escalable para computación distribuida open source de la Apache Software Foundation.
  • Eucalyptus Systems: la empresa detrás de la plataforma open source de cloud computing Eucalyptus, popularizada por su interfaz compatible con los servicios EC2 y S3 de Amazon, y por sus acuerdos con Canonical y Ubuntu cloud.
  • Nimbus: se trata de un toolkit para convertir un clúster en una plataforma cloud. Aunque no hay una empresa oficialmente respaldando la propuesta, cuenta con muchos apoyos en la comunidad cientítica americana.
  • Rackspace: con el mencionado OpenStack.
  • Scalr: Scalr es una plataforma open source basada en web para gestionar los servicios EC2 de Amazon, como alternativa al servicio equivalente (cerrado) de RightScale.
  • Deltacloud: se trata de una capa de abstracción open source que proporciona un API común a diferentes servicios cloud computing del mercado, promovido por Red Hat, y ahora parte del Apache Incubator de la ASF.

Además muchos de los proveedores de cloud computing dependen de herramientas e infraestructura open source, con lo que las preguntas que nos hacíamos con el SaaS vemos que también son aplicables al nuevo concepto tras cloud computing: IaaS (Infraestructure as a Service).

Virtualización, Sanidad y Software Libre

Martes, Febrero 17th, 2009

El pasado Noviembre escribí un artículo sobre Virtualización, Sanidad y Software Libre a propósito del congreso de la S.E.I.S celebrado en Valladolid. Como ya ha salido publicado en varios medios, me permito el ponerlo aquí íntegro.

Virtualización, Sanidad y Software Libre

Durante el congreso de la S.E.I.S celebrado en Valladolid a principios de octubre pudimos escuchar diversas ponencias muy intersantes relacionadas con la virtualización aplicada a los CPDs en Sanidad. En dichas ponencias pudimos obtener experiencias de primera mano sobre la aplicación de soluciones de virtualización en diversos entornos y problemáticas.

En este articulo se pretende dar una visión general sobre esta tecnología alrededor de de dos aplicaciones específicas de dicha tecnología: la virtualización de escritorios y la virtualización de puestos de trabajo, proporcionando al mismo tiempo información general sobre las distintas alternativas de solución que existen tanto propietarias como basadas en Software Libre.

La virtualización en este contexto consiste en la posibilidad de crear máquinas virtuales (máquinas lógicas) sobre un hardware físico. A cada máquina virtual se le puede asociar una serie de dispositivos hardware lógicos (memoria RAM, uno o varios discos lógicos, tarjetas de red lógicas, etc) independientemente de los recursos hardware de la máquina física. De este modo, las aplicaciones que se ejecutan en la máquina lógica no saben que se están ejecutando sobre una máquina virtual sino que creen que se ejecutan sobre una máquina física con recursos dedicados.

El concepto de virtualización no es nuevo. De hecho surgió en los años 60 asociado a los mainframes. A finales de los años 90 aparecieron las primeras aplicaciones de virtualización bajo arquitecturas x86 tales como SoftPC o Bochs, especializadas para cubrir necesidades específicas como la creación de entornos simulando arquitecturas o procesadores no disponibles para x86 (por ejemplo, entornos ARM sobre Bochs). Más adelante aparecieron soluciones más orientadas al usuario de escritorio como VMWare, que supuso en su momento una revolución ya que proporcionaba por primera vez la posibilidad de ejecutar aplicaciones Windows sobre sistemas Linux y viceversa con suficiente eficiencia para poder ser usados por el usuario final sobre el hardware disponible entonces (era común disponer de PCs de sobremesa basados en Intel Pentium y 128Mb de RAM).

En la actualidad existen multitud de opciones en el mercado para los sistemas operativos más extendidos. La opción propietaria más conocida es VMware. Son los líderes del mercado y disponen de una gama de productos relacionados con la virtualización muy completa. Otras soluciones propietarias son Virtual PC o zVM. Existen también soluciones basadas en Software Libre como Virtualbox, Xen, Qemu, KVM, OpenVZ, … Las soluciones libres han llegado a tal nivel de madurez y calidad que son opciones realmente sólidas incluso para los entornos de producción más exigentes.

En cualquier caso, tal y como apuntaba Ignacio Martín Llorente de la UCM en el congreso, la falta de interés por parte de los grandes fabricantes para crear estándares que permitan interoperabilidad entre las distintas opciones puede haber ralentizado la disponibilidad de otras alternativas. Posiblemente la presión que las alternativas libres están ejerciendo en favor de la estandarización y la interoperabilidad de las distintas soluciones sea uno de los motivos importantes para los grandes avances tecnológicos que se han podido observar en los últimos 18 meses en el entorno de la virtualización.

Según nos comentaba Carlos Villacastín de Intel, existen unos 30 Millones de servidores físicos en la actualidad, todos ellos consumiendo electricidad y refrigeración, sin olvidar los costes de operación y mantenimiento así como el coste del espacio ocupado en los CPDs. La proporción de servidores virtualizados es únicamente del 12%, por lo que el potencial de crecimiento de las soluciones virtualizadas es enorme. Por tanto cabe esperar un incremento en la cantidad de fabricantes relacionados con virtualización.

Existen varias técnicas de virtualización, cada una de ellas adecuada para una tarea determinada. Así encontramos:

  • Emulación de hardware: Consiste en que la máquina virtual simula completamente los componentes hardware. Software como Qemu o Bochs siguen este planteamiento. Es el más versátil ya que las máquinas virtuales pueden emular arquitecturas totalmente distintas a las del hardware real, pero su utilidad práctica en entornos de propósito general se disminuye debido a la importante pérdida de rendimiento que la emulación provoca en el sistema final.
  • Virtualización completa: Permite la ejecución de múltiples máquinas virtuales simulando un conjunto de dispositivos hardware suficientes para que un sistema operativo pueda ejecutarse sin modificaciones sobre el hardware real. Recientes procesadores de AMD e Intel implementan tecnología que permiten en última instancia aumentar el rendimiento de estos sistemas. VMware Workstation o Parallels Desktop son dos ejemplos de este tipo.
  • Paravirtualización: Mediante paravirtualización podemos lograr rendimientos realmente cercanos a la máquina física, pero requiere ciertas modificaciones en el Sistema Operativo de la máquina virtual de modo que coopere con el sistema anfitrión. Una de las opciones más interesantes en este ámbito la presenta Xen.
  • Virtualización a nivel del Sistema Operativo: Se ejecuta una única instancia del Sistema Operativo y no se virtualiza el hardware, pudiendo crear múltiples espacios de ejecución aislados muy similares en concepto a máquinas virtuales. La pérdida de rendimiento debida a la virtualización es prácticamente nula. El ejemplo más representativo lo podemos encontrar en el producto basado en Software Libre OpenVZ o su equivalente propietario Virtuozzo.

A pesar de ser la virtualización una de las tecnologías más veteranas, es en los últimos años cuando realmente se ha convertido en una tecnología disruptiva, sobre todo en los CPD (Centros de Proceso de Datos) proporcionando múltiples ventajas, algunas de las cuales las apuntaba Jesús Rodríguez (hospital Gregorio Marañón):

  • Optimización de uso del hardware disponible
  • Ahorro de energía
  • Simplicidad de administración
  • Ahorro de costes
  • Mejora en la seguridad
  • Menor espacio utilizado en el CPD
  • Continuidad del servicio

Un aspecto crítico que está afectando al mundo de la virtualización en el entorno del servidor es la disponibilidad de entornos de virtualización fiables y de gran calidad basados en Software Libre tales como KVM, Xen o Virtualbox que proporcionan acceso a dicha tecnología sin necesidad de grandes desembolsos de dinero. Esto elimina las barreras de entrada a la tecnología y la convierte en una ‘commodity’ accesible por cualquiera. Esto en mi opinión debe llevar en un futuro bastante cercano a importantes cambios en el mapa de empresas que ofrecen soluciones de virtualización.

La consolidación de las distintas tecnologías de virtualización lleva a que aparezcan diversas herramientas y entornos de gestión de máquinas virtuales muy interesantes. Ignacio Martín Llorente de la UCM nos presentó en el congreso de Valladolid de la S.E.I.S una herramienta libre llamada Opennebula (http://www.opennebula.org). Es una herramienta más de gestión de máquinas virtuales, pero con un aspecto realmente diferencial: se integra de forma transparente con Amazon EC2 (servicio de máquinas virtuales a demanda a coste variable por consumo de CPU, disco y memoria). Las posibilidades son impresionantes. Desde cubrir picos de carga puntuales, sistemas de backup o proporcionar servidores en alta disponibilidad sobre una plataforma que -supuestamente- nunca falla y proporciona capacidades de proceso y almacenamiento a medida.

Una de las aplicaciones de la virtualización con más potencial es la virtualización orientada a escritorio (denominada VDI). Aunque en el congreso no se profundizó en este tema concreto, es una de las aplicaciones más interesantes ya que proporciona unos beneficios si cabe más obvios que en la virtualización de servidores. VDI puede proporcionar ahorros de coste de hasta el 40% en la gestión y aprovisionamiento del parque de PCs de una organización además de la simplicidad de administración que se obtiene. Esta tecnología se basa esencialmente en la ejecución del entorno de trabajo completo de cada puesto de trabajo en el servidor. De este modo se hace irrelevante la capacidad de proceso de cada puesto, pudiendo alargar enormemente la vida útil de los PCs junto a otras muchas ventajas como el ahorro enorme de espacio de almacenamiento al compartir imágenes de sistemas, acceso remoto a tu puesto de trabajo, etc.

Como conclusión creo que es importante plantear que, si bien la virtualización es una tecnología muy veterana, realmente se ha generalizado su uso en los últimos años. A pesar de esto, todavía la amplia mayoría de los servidores están sin virtualizar, por lo que cabe esperar un crecimiento sostenido del mercado de la virtualización así como un aumento del número de fabricantes que ofrezcan soluciones de virtualización.

No utilizar este artículo sin autorización expresa de su autor Fernando Monera (fmonera@opensistemas.com).
Referencias:

Interesante movimiento de Redhat al comprar KVM

Viernes, Septiembre 5th, 2008

Para quien no lo sepa aún, Redhat ha comprado la empresa que desarrolla KVM, Qumranet. Recuerdo que KVM es en este momento el único sistema de virtualización soportado por Linux en su rama principal.

Teniendo en cuenta el bajo rendimiento de Entrada/Salida que proporciona Xen en algunos entornos (lo digo por experiencia) y las pocas posibilidades que tiene Xen de ser aceptado por completo en la línea principal del Kernel, me imagino que este movimiento va a recolocar algunas piezas del mapa de proveedores de Virtualización.

Por otro lado, Virtualbox acaba de sacar la versión 2.0. Virtualbox es otro sistema de virtualización recientemente adquirido por Sun Microsystems. Aunque desde el punto de vista de arquitectura Virtualbox es una maravilla y puede funcionar de forma confiable en entornos de servidor, su uso principal sigue siendo la virtualización en entorno de escritorio personal. Es el equivalente a VMWare Workstation, de hecho, la interfaz es muy parecida. Todavía tengo que probar la nueva versión, así que no comento nada de momento.

En general, es interesante volver a comentar la misma idea de siempre. Todo software horizontal / de infraestructura (sistemas operativos, bases de datos, virtualización, ofimática, navegadores, …) va a ser copado por el Software Libre tarde o temprano. No hay ninguna posibilidad de crear un modelo de negocio “sostenido” alrededor de este software si no es con Software Libre. A ver si le entra en la cabeza a algunos (Microsoft, Oracle, …).

¿He dicho alguna vez que me encanta Redhat? :D