Modelado de sistemas virtuales con herramientas de arquitectura de implantación IBM Rational Software Architect

Este artículo se refiere al uso de las herramientas de arquitectura de implantación en IBM® Rational® Software Architect 7.5 para el modelado de sistemas virtuales. Describe cómo representar implantaciones virtuales en una topología y cómo trabajar con imágenes virtuales existentes.

Tim McMackin, Software Engineer, IBM

Author photoTim McMackin es technical writer para software IBM Rational en Raleigh, Carolina del Norte. Tiene antecedentes como escritor para publicidad de productos técnicos y trabaja en IBM desde el año 2004.



19-11-2010

Introducción

Las herramientas de arquitectura de implantación en IBM Rational Software Architect Version 7.5 se pueden utilizar para describir una amplia variedad de sistemas de computación en un tipo de modelo llamado topología. Las topologías pueden incluir computadoras personales, servidores, aplicaciones de software, hardware, componentes de redes de computación, y muchos otros elementos de sistemas de computación, todos a diversos niveles de abstracción. El autor de este artículo supone que los lectores tienen un conocimiento básico de topologías. Para una introducción a las topologías y a las herramientas de arquitectura de implantación, ver los vínculos en la sección Recursos:

Las tecnologías específicas y las estrategias de virtualización también escapan al alcance de este artículo, pero, en resumen, un sistema virtual es un sistema de computación aislado de su host por un intermediario. Este intermediario interpreta las solicitudes desde el sistema virtual al host, y de ese modo agrega una capa de virtualización entre el sistema virtual y el host.

En el contexto de este artículo, un sistema operativo que funciona directamente sobre el hardware es un sistema físico (o no virtualizado). Para crear un sistema virtual, se inserta una capa de virtualización para separar al sistema operativo del hardware y para administrar la comunicación entre estos componentes. Hay una variedad de tecnologías con este fin, pero, en general, la creación de un sistema virtual implica un hipervisor, que es software con apariencia de hardware hacia uno o más sistemas virtuales e intercepta los intentos de un sistema virtual de comunicarse con el hardware.

En lugar de permitir que el sistema virtual acceda al almacén de datos, a la memoria, y a la capacidad de procesamiento del sistema físico directamente, el hipervisor administra estos recursos y proporciona un acceso mediato a ellos. Por ejemplo, el hipervisor puede limitar el acceso del sistema virtual a la memoria. El hardware físico puede tener mucha memoria, pero el hipervisor podría asignar solamente 1GB de esa memoria al uso de un sistema virtual en particular. Por lo tanto, ese sistema virtual parece funcionar sobre un hardware (o sea, un servidor virtual) de sólo 1GB de memoria. Del mismo modo, el hipervisor puede arbitrar el acceso al almacén de datos, a la capacidad de procesamiento, o a las conexiones de red.

De esta manera, el hipervisor hace que los sistemas virtuales sean más flexibles que los físicos. Por ejemplo, supone que hay dos sistemas físicos similares, que ejecutan cada uno una aplicación diferente, como se ve en la Figura 1.

Figura 1. Dos sistemas físicos (no virtualizados) simples
Dos sistemas físicos (no virtualizados) simples

Debido a que cada sistema tiene su propio hardware aparte, la cantidad de capacidad de procesamiento disponible para cada aplicación es fija. Si la aplicación A empieza a tener un uso intensivo, podría ejecutarse con lentitud, mientras que la aplicación B podría estar inactiva. Por lo tanto, habría una subutilización de la capacidad de procesamiento en el hardware B. Al ejecutar ambas aplicaciones sobre el mismo hardware por medio de un hipervisor, se pueden orientar los recursos hacia el sistema que los necesita. Con los sistemas A y B virtualizados en el mismo hardware, el hipervisor puede darle más capacidad de procesamiento y memoria a la aplicación que está siendo usada con más intensidad Figura 2).

Figura 2. Dos sistemas virtuales
Dos sistemas virtuales

El ejemplo de la Figura 2 muestra cómo se pueden alojar varios sistemas virtuales en un solo sistema físico. La virtualización también funciona en sentido contrario; se pueden combinar varios sistemas físicos para que alojen a un solo sistema virtual. El ejemplo más común de este tipo de virtualización es el clustering, en el que un grupo de servidores de aplicaciones trabajan juntos para alojar a una aplicación. En lugar de ejecutar una instancia distinta de la aplicación en cada sistema físico, la capa de virtualización presenta un entorno de alojamiento único para la aplicación, con los recursos combinados de los sistemas físicos. El siguiente ejemplo muestra un cluster de dos servidores de aplicaciones que alojan a una sola instancia de una aplicación.

Figura 3. Un cluster de servidores simple
Un cluster de servidores simple

La virtualización permite entornos de cloud computing, que son entornos de alojamiento dinámico que proporcionan recursos de computación aparentemente infinitos. En la actualidad se usan diversos entornos de cloud computing, pero en general, una nube proporciona una biblioteca de sistemas virtuales y un hipervisor en donde se los ejecuta. Los usuarios solicitan instancias a esos sistemas virtuales, los usan, y los desasignan cuando ya no los necesitan. De esta manera, los sistemas de nube usan la virtualización para brindar un entorno flexible que puede ser configurado y expandido con mucha más facilidad que un sistema físico.

Un sistema virtual puede proporcionar un sistema completo, o se puede concentrar en un recurso virtualizado, como el almacenamiento. Por ejemplo, un sistema de almacenamiento virtual puede incluir varios discos físicos representados como medio de almacenamiento único. Las aplicaciones que acceden al sistema de almacenamiento hacen una interfaz con el sistema virtual, en lugar de almacenar los datos directamente en los discos. De esta forma, se pueden combinar varios discos en un disco virtual único.

Figura 4. Un sistema de almacenamiento virtual simple
Un sistema de almacenamiento virtual simple

La virtualización tiene muchos otros usos y ventajas que aquí no se analizan detalladamente, tales como la capacidad de ejecutar varios entornos independientes para pruebas o compatibilidad y la capacidad de pasar sistemas virtuales de un alojamiento físico a otro con relativa facilidad. Existen muchos documentos de IBM sobre virtualización en circunstancias especiales. Para más información, ver la sección Recursos.


Virtualización básica con el editor de topologías

Parte de la importancia de la virtualización es que una aplicación no necesita saber si está siendo ejecutada en un sistema virtual o en uno físico. Para la aplicación, el sistema virtual parece exactamente un sistema físico, y los detalles del sistema físico que aloja al sistema virtual están ocultos para la aplicación. Del mismo modo, se pueden usar diagramas de topología distintos para ocultarle a la aplicación los detalles del sistema físico.

Por ejemplo, supongamos que hay un sistema físico simple, como se ve en la Figura 5, compuesto por hardware con un sistema operativo.

Figura 5. Un sistema físico simple
Un sistema físico simple

Este sistema puede alojar a una imagen virtual, que es un entorno encapsulado en el que se puede ejecutar un sistema virtual. Como se ve en la Figura 6, esta imagen virtual puede contener hardware virtual y un sistema operativo virtual.

Figura 6. Una imagen virtual simple
Una imagen virtual simple

Observe que la unidad del servidor virtual es idéntica a la unidad del servidor físico. (La unidad del sistema operativo es idéntica a la unidad del sistema operativo físico, salvo que la unidad del sistema operativo físico tiene la capacidad del hipervisor, del que se habla más adelante.) El sistema virtual puede alojar aplicaciones exactamente de la misma manera que puede hacerlo el sistema físico.

En una topología, se puede hacer que esta virtualización sea transparente mediante la creación de un diagrama dedicado al sistema virtual. Cuando se visualizan las unidades del sistema virtual en un nuevo diagrama (haciendo clic con el botón derecho en las unidades del sistema virtual y luego clic en Visualize (Visualizar) > Add to New (Agregar a nuevo)Topology Diagram (Diagrama de topología)), el diagrama nuevo sólo muestra las unidades del sistema virtual, pese a que estas unidades sigan vinculadas al sistema físico.

Ahora se puede usar el sistema virtual en otras topologías importando el diagrama. Cuando se importa un diagrama desde otra topología, se puede crear una nueva instancia de las unidades y otros elementos de la topología en aquel diagrama. Se pueden alojar aplicaciones en el sistema virtual del diagrama importado, igual que como se puede hacer en cualquier otro sistema. En consecuencia, el sistema virtual de la topología se comporta exactamente igual que un sistema virtual en el mundo real: puede alojar aplicaciones sin exponer al sistema físico subyacente o incluso ser ostensiblemente virtual.

Figura 7. Alojar una aplicación en un sistema virtual
Alojar una aplicación en un sistema virtual

De esta manera, si un diseño necesita una pila de hosting, se puede sustituir un sistema virtual compatible. Por ejemplo, la siguiente topología contiene una pila de hosting conceptual, una especificación para el sistema que debe alojar una aplicación.

Figura 8. Una pila de hosting conceptual simple
Una pila de hosting conceptual simple

Como en todas las unidades conceptuales, las unidades de esta pila de hosting pueden tener un vínculo de realización que puede realizar todas las mismas tareas que las unidades conceptuales. Por ejemplo, la unidad™ del servidor de aplicaciones de la Plataforma Java 2, Enterprise Edition (J2EE) puede desarrollarse en cualquier servidor de aplicaciones que tenga soporte de la misma versión de Java EE, sin importar la marca de ese servidor. Esta pila de hosting se puede desarrollar en un sistema físico:

Figura 9. Desarrollo de la pila conceptual en un sistema físico
Desarrollo de la pila conceptual en un sistema físico

Sin embargo, esta pila de hosting conceptual se puede desarrollar también en un sistema virtual de la misma forma:

Figura 10. Desarrollo de la pila conceptual en un sistema virtual
Desarrollo de la pila conceptual en un sistema virtual

No es necesario encapsular los sistemas virtuales en diagramas diferentes, pero hacerlo suele ser una buena costumbre de modelado porque las topologías permanecen independientes y pequeñas.


Trabajar con sistemas virtuales

En lugar de diseñar un sistema virtual desde cero, se puede convertir un sistema físico existente en uno virtual. Por ejemplo, se puede crear un entorno de pruebas virtual que refleje un entorno de producción. Alternativamente, se puede recibir un diseño para un sistema físico y optar por implementarlo de manera virtual. Convertir un sistema físico en uno virtual como éste implica agregar el sistema físico a una imagen virtual y después configurar la imagen virtual para usar la conexión de red y el espacio de almacenamiento del host de la imagen virtual.

Convertir un sistema físico en un sistema virtual

Seguir estos pasos para convertir un sistema físico en un sistema virtual:

  1. Crear la topología para el sistema físico original que se quiere convertir en virtual. Se puede duplicar un sistema existente copiando y pegando sus unidades, o se pueden crear unidades nuevas, o se puede usar directamente el sistema físico.
Figura 11. Un sistema físico para ser convertido en virtual
Un sistema físico para ser convertido en virtual
  1. Si el hardware del sistema no tiene una unidad de interfaz de red, agregar una unidad de interfaz L2 al servidor. Esta unidad representa la conexión de red, igual que una conexión Ethernet alámbrica o inalámbrica.
  2. Si el sistema operativo no tiene una unidad de interfaz IP, agregar una unidad de interfaz IP para representar el uso del sistema operativo de la conexión de red (No es necesario vínculo alguno entre las unidades de la interfaz IP y la interfaz L2.)
Figura 12. Agregar la información de conexión de red al sistema físico
Agregar la información de conexión de red al sistema físico
  1. Agregar una unidad de imagen virtual a la topología. Se puede utilizar una imagen virtual genérica, como la plantilla (Virtual Image) del dibujante de Virtualizaciones de la Paleta, o se puede usar una imagen virtual VMWare o Xen específica, si se quiere trabajar con una tecnología de virtualización en particular.
  2. Arrastrar la unidad de servidor físico a la unidad de imagen virtual para que el servidor sea miembro de la imagen virtual.
Figura 13. Pasar el hardware físico a la imagen virtual
Pasar el hardware físico a la imagen virtual
  1. Agregar una unidad de definición de disco virtual y una unidad de conexión Ethernet virtual a la imagen virtual. Si se trata de una imagen virtual genérica, usar una unidad de definición de disco virtual genérica de la plantilla (Virtual Disk Def) y una conexión Ethernet virtual genérica de la plantilla (Virtual Ethernet NIC Def). De lo contrario, usar las plantillas específicas de Xen o VMWare equivalentes.

Estas unidades representan la información de configuración específica de un sistema virtual. En este caso, representan la configuración del disco virtual y la conexión de red. Cuando se modela un sistema virtual en una topología, se puede agregar esta información para planificar la forma en que el entorno de virtualización abastecerá y administrará al sistema virtual.

Figura 14. Agregar los recursos virtuales a la imagen virtual
Agregar los recursos virtuales a la imagen virtual
  1. En la capacidad de conexión Ethernet virtual, establecer el tipo de conexión a la conexión de red del sistema host a utilizar, como por ejemplo bridge, host-only o NAT.
Figura 15. Establecer el tipo de conexión
Establecer el tipo de conexión
  1. Alojar la imagen virtual en un hipervisor apropiado:
    • Para una imagen genérica, agregar la capacidad virtualization.Hypervisor a una unidad de sistema operativo.
    • Para una imagen VMWare, usar una unidad VMWare ESX.
    • Para una imagen Xen, agregar la capacidad virtualization.XenHypervisor a una unidad de sistema operativo.
  2. Alojar el hipervisor en una unidad de hardware adecuada, tal como una unidad de servidor x86 de la plantilla (x86 Server) del dibujante de hardware de la Paleta.
Figura 16. Alojamiento de la imagen virtual
Alojamiento de la imagen virtual
  1. Crear un vínculo de dependencia desde la unidad de conexión Ethernet virtual en la imagen virtual hacia la conexión L2 del servidor físico. Este vínculo representa el acceso de red que el servidor le suministra al sistema virtual. Como cuando se agregan las unidades de disco virtual y de conexión de red, este vínculo de dependencia aumenta al modelo con información adicional para describir la configuración de la imagen virtual.
Figura 17. Especificar la conexión de red con un vínculo de dependencia
Especificar la conexión de red con un vínculo de dependencia

El sistema virtualizado completo se comporta exactamente igual que un sistema físico. Como se explicó anteriormente, se puede importar el sistema virtualizado dentro de otra topología y usarlo igual que como se usaría un sistema físico. Para facilitar la reutilización, visualizar el sistema virtualizado en un diagrama aparte para poder importar este sistema en otras topologías sin exponer los detalles del host físico.

Figura 18. Alojar una aplicación en el nuevo servidor virtualizado
Alojar una aplicación en el nuevo servidor virtualizado

Planificación de implantación de una imagen virtual existente

Si ya se tiene una imagen virtual, se puede planificar la implantación de esa imagen en una topología. El editor de topologías reconoce los archivos Xen XMDOMAIN y los archivos VMWare VMX y VMSD. Estos archivos suministran información acerca de un host virtual, y el editor de topologías puede crear unidades que representen al host en base a esta información. Sin embargo, estos archivos no contienen información suficiente para modelar el sistema operativo y otro software alojado en la imagen virtual. Se puede usar el editor de topologías para agregar información acerca del sistema de la imagen virtual y para planificar cómo se implantará la imagen virtual. (No obstante, el editor de topologías no puede efectuar cambios en los archivos de la imagen virtual.)

Seguir estos pasos para implantar una imagen virtual existente en una topología:

  1. Arrastrar y soltar una imagen virtual, como un archivo VMWare o VMX, en una topología (Figura 19). El editor de topologías crea una unidad de imagen virtual asociada coincidente (Figura 20) que contenga las unidades de definición de discos y las unidades de conexión de red, de acuerdo con los datos del archivo de imagen virtual.
Figura 19. Arrastrar una imagen virtual al editor de topologías
Arrastrar una imagen virtual al editor de topologías
Figura 20. Las unidades que representan la imagen virtual
Las unidades que representan la imagen virtual

Consejo

En lugar de copiar los archivos de la imagen virtual a un proyecto del espacio de trabajo, puede resultar más sencillo crear una carpeta, en el espacio de trabajo, que esté vinculada con la carpeta de algún disco donde se guardan las imágenes virtuales. Para crear una carpeta vinculada:

  1. Haga clic con el botón derecho sobre un proyecto de la vista Project Explorer (Explorador de proyecto) y luego haga clic en New > Folder (Nueva > Carpeta).
  2. En la ventana New Folder, expandir la sección Advanced (Avanzado), seleccionar la casilla de verificación Link to a folder in the file system (Vincular a una carpeta en el sistema de archivos), y seleccionar la carpeta en el disco.
  3. Ahora se pueden usar los archivos de esa carpeta como si estuvieran en el espacio de trabajo.
  1. Alojar la imagen virtual en una unidad de hipervisor apropiada:
    • Para imágenes VMWare, usar una unidad VMWare ESX, o una unidad de sistema operativo con la capacidad virtualization.VMwareHypervisor, que representa al software VMWare instalado en un sistema operativo.
    • Para Xen, usar una unidad de sistema operativo y agregar la capacidad virtualization.XenHypervisor para representar al software de hosting Xen.
Figura 21. Alojamiento de la imagen virtual
Alojamiento de la imagen virtual
  1. Dentro de la unidad de imagen virtual, agregar unidades para el uso de la imagen virtual según corresponda. Por ejemplo, se puede agregar una unidad de hardware de servidor y una unidad de sistema operativo para representar las capacidades de hosting del sistema virtual.
Figura 22. Representación del software que está en el sistema virtual
Representación del software que está en el sistema virtual
  1. Alojar la unidad de hipervisor en una pila de hosting adecuada.

Ejemplos de topologías virtuales

La siguiente sección muestra algunos ejemplos de sistemas virtuales modelados en el editor de topologías. Hay muchos ejemplos más de topologías en la ayuda del producto: hacer clic en Help (Ayuda) > Help Contents (Contenido de Ayuda) y después expandir Samples > Technology Samples > Topologies (Muestras > Muestras de Tecnología > Topologías). Muchas de las topologías que aparecen en este artículo se encuentran en la sección Recursos.

VMWare ESX

Un sistema VMWare ESX (Figura 23) es un tipo de hipervisor que se ejecuta directamente sobre hardware, en lugar de en un sistema operativo. Una sola instancia de VMWare ESX puede alojar una o más imágenes virtuales, cada una de las cuales contiene un sistema virtual. La imagen virtual también contiene unidades de definición de disco virtual y de conexión de red que representan los recursos virtuales que el hipervisor le suministra al sistema virtual.

Figura 23. Ejemplo de un sistema VMWare ESX
Ejemplo de un sistema VMWare ESX

Xen

Xen es una tecnología de virtualización de código abierto. Las topologías que usan Xen para virtualización se parecen mucho a las que usan VMWare, salvo que el hipervisor Xen está representado por la capacidad virtualization.XenHypervisor en la unidad de sistema operativo físico, y no en una unidad aparte.

Figura 24. Ejemplo de un sistema Xen
Ejemplo de un sistema Xen

Clustering

En la introducción se dio un ejemplo simple de clustering. Hay un ejemplo similar en la muestra Topologías para dominios especializados (ver la sección Recursos). El clustering implica combinar un grupo de sistemas físicos en un entorno de hosting único para una o más aplicaciones o sistemas virtuales. La Figura 25 muestra un cluster de IBM® WebSphere® Application Servers que alojan una aplicación.

Figura 25. Ejemplo de un cluster de servidores
Ejemplo de un cluster de servidores

System z

Comenzando por IBM Rational Software Architect 7.5.4, las herramientas de arquitectura de implantación incluyen unidades y otros elementos de topología que representan a los componentes® IBM® System z. System z permite la virtualización en dos áreas principales: a nivel de hardware con particiones lógicas (LPARs) y a nivel de sistema operativo con IBM® z/VM®. Un hardware System z puede tener varios procesadores diferentes, y se los puede asignar a las LPARs del sistema. Las LPARs se pueden usar para dividir un solo hardware System z en varios hardwares virtuales diferentes. Cada una de estas LPARs puede ejecutar un sistema operativo, como z/VM, IBM® z/VSE™, o IBM® z/Linux.

Figura 26. Ejemplo de LPARs en un sistema System z
Ejemplo de LPARs en un sistema System z

Para proporcionar más capas de virtualización, una instancia de z/VM puede alojar uno o más sistemas operativos, llamados huéspedes z/VM. Estos huéspedes proporcionan otra capa de virtualización. La topología de la Figura 27 muestra un sistema System z simple que aloja varios sistemas virtuales diferentes.

Figura 27. Ejemplo de un sistema System z completo con huéspedes z/VM
Ejemplo de un sistema System z completo con huéspedes z/VM

En este ejemplo, el sistema tiene cuatro procesadores físicos: dos procesadores centrales (CPs) y dos Procesadores de Asistencia de Aplicaciones (zAAPs). Estos procesadores están compartidos entre tres LPARs, cada una de las cuales ejecuta un sistema operativo virtual. Uno de estos sistemas operativos virtuales está a su vez dividido en dos sistemas virtuales huéspedes, uno que aloja z/Linux y uno que aloja z/VSE. De esta forma, la virtualización en System z permite dividir una computadora grande en varios sistemas virtuales y distribuir los recursos del sistema como sea necesario.


Resumen

Los ejemplos de este artículo muestran algunas formas de modelar sistemas virtuales simples con las herramientas de arquitectura de implantación. También muestran cómo separar sistemas virtuales en diagramas, lo que explica la independencia de los sistemas virtuales de sus hosts físicos. De esta manera, las herramientas de arquitectura de implantación sirven para planificar aplicaciones complejas o entornos complejos. Varias de estas topologías a modo de ejemplo están en un proyecto de la sección Descarga.


Descargar

DescripciónNombretamaño
Virtual topology examplesVirtualTopologyExamples.zip77KB

Recursos

Aprender

Obtener los productos y tecnologías

Comentar

Comentarios

developerWorks: Ingrese

Los campos obligatorios están marcados con un asterisco (*).


¿Necesita un IBM ID?
¿Olvidó su IBM ID?


¿Olvidó su Password?
Cambie su Password

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


La primera vez que inicie sesión en developerWorks, se creará un perfil para usted. La información en su propio perfil (nombre, país/región y nombre de la empresa) se muestra al público y acompañará a cualquier contenido que publique, a menos que opte por la opción de ocultar el nombre de su empresa. Puede actualizar su cuenta de IBM en cualquier momento.

Toda la información enviada es segura.

Elija su nombre para mostrar



La primera vez que inicia sesión en developerWorks se crea un perfil para usted, teniendo que elegir un nombre para mostrar en el mismo. Este nombre acompañará el contenido que usted publique en developerWorks.

Por favor elija un nombre de 3 - 31 caracteres. Su nombre de usuario debe ser único en la comunidad developerWorks y debe ser distinto a su dirección de email por motivos de privacidad.

Los campos obligatorios están marcados con un asterisco (*).

(Por favor elija un nombre de 3 - 31 caracteres.)

Al hacer clic en Enviar, usted está de acuerdo con los términos y condiciones de developerWorks.

 


Toda la información enviada es segura.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=90
Zone=Rational
ArticleID=588281
ArticleTitle=Modelado de sistemas virtuales con herramientas de arquitectura de implantación IBM Rational Software Architect
publish-date=11192010