Articulo
Implementación de servicios de infraestructura (IaaS) con KVM
Actualmente con el avance de las TICs, han surgido nuevos campos de investigación, uno
de ellos es el Cloud Computing, termino relativamente nuevo surgido en el 2005, todo
esto gracias a las investigaciones y al avance tecnológico que se ha dado tanto en el
hardware,en los servicios de internet, en el computo paralelo y virtualización.

El Cloud Computing describe una seria de servicios, aplicaciones, información e
infraestructura compuesta por reservas de recursos de computación, redes, información y
almacenamiento. En resumen Cloud Computing es un modelo de entrega de recursos
(hardware y software) a través de la red. Entre sus características estas:

       Autoservicio. El consumidor puede abastecerse del servicio según sus necesidades.
       Amplio acceso a internet. Las capacidades de procesamiento están disponibles en
       la red y se accede a ellas por medio de clientes remotos tanto ligeros como
       pesados (ej. Teléfonos móviles, PDAs, laptops…)
       Rapidez y elasticidad. Al ser un servicio automático para el consumidor, las
       capacidades de abastecimiento los ilimitadas y pueden adquirirse en cualquier
       cantidad y momento.
       Servicio supervisado.

Ahora bien para poder visualizar mejor la estructura de Cloud Computing, existe el modelo
SPI (Software, Platform and Infraestructure), el cual hace referencia a Software,
Plataforma e Infraestructura, estos se definen como:

       Software as a Service (SaaS): Software como servicio, consiste en utilizar las
       aplicaciones del proveedor que se ejecutan en la infraestructura del mismo, se
       accede a ellas desde los dispositivos del cliente a través de una interfaz de cliente
       ligero como un navegador de internet por ejemplo.
       Platform as a Service (PaaS): Plataforma como servicio, en este nivel se despliegan
       las aplicaciones creadas o compradas por el consumidor, el consumidor controlalas
       aplicaciones desplegadas y su configuración.
       Infraestructure as a Service(IaaS): Infraestructura como servicio, aquí se abastece
       al consumidor de procesamiento, almacenamiento, redes y de otros recursos
       computaciones, el consumidor controla los sistemas operativos, almacenamiento,
       las aplicaciones y los componentes de red seleccionados.
Hypervisor
Un hypervisor es un administrador de maquinas, este se instala tanto sobre hardware
puro (a esto se le conoce como bare - metal) como sobre un sistema operativo. El
hypervisor nos ayuda a virtualizar equipos, esto quiere decir que crearemos maquinas
virtuales con los recursos asignados (espacio de disco duro, memoria RAM o número de
procesadores), además por lo general se indica el tipo de sistema operativo alojado en esa
maquina virtual. Posteriormente se instala el sistema operativo sobre la maquina virtual
creada. De esta manera solo tenemos una maquina física, pero a nivel lógico solo tenemos
varias computadoras trabajando al mismo tiempo.

Hay dos conceptos que deben quedar claros con respecto a la virtualización:

       Anfitrión (host): es la computadora en la cual instalamos nuestro programa de
       virtualización y que asignará o prestara determinados recursos de hardware a la
       maquina virtual que creemos.
       Invitado (guest): es la computadora virtual en la que hemos creado con nuestro
       programa de virtualización y al cual le asignamos determinados recursos para
       funcionar.

Hay varios tipos de virtualización, los siguientes son:

       Emulación de hardware. Esta virtualización consiste en la emulación de hardware,
       este tipo de virtualización es de las más completas. Por lo tanto en el sistema
       anfitrión se utiliza una maquina virtual que emula el hardware.
       Virtualización completa. Este tipo de virtualización utiliza una maquina virtual que
       media entre el sistema operativo de la maquina virtual y el hardware nativo.
       Algunas instrucciones protegidas deben capturarse y manejarse dentro del
       virtualizador puesto que el hardware subyacente no es propiedad del sistema
       operativo sino que es compartido a través del hypervisor.
       Paravirtualización.Similar a la virtualización completa pero el hypervisor integra
       código que esta al tanto de la virtualización como del acceso al hardware
       subyacente. Esta aproximación evita la necesidad de recompilar y capturar ya que
       los propios sistemas operativos cooperan en el proceso de virtualización.
       Virtualización en el nivel del sistema operativo. Esta técnica virtualiza los
       servidores dentro del propio sistema operativo. Este método soporta un solo
       sistema operativo y simplemente aísla los servidores independientes.

En este caso KVM utiliza la virtualización completa y la paravirtualización.
KVM
Es una es una solución completa de virtualización única al convertir el núcleo Linux en un
hypervisor. El módulo KVM en el núcleo expone el hardware virtualizado a través del
dispositivo de caracteres /dev/kvm. El sistema operativo alojado se comunica con el
módulo KVM utilizando un proceso que ejecuta un QEMU modificado para obtener la
emulación de hardware.

El módulo KVM introduce un nuevo modo de ejecución en el núcleo. Donde el
kernelvanilla (estándar) aporta el modo kernel y el modo user, KVM aporta el modo guest.
Este modo es utilizado para ejecutar todo el código del huésped en el que no se utiliza
entrada/salida, y el modo normal de usuario proporciona la entrada/salida para los
huéspedes. La presentación de KVM es una interesante evolución de Linux, ya que es la
primera tecnología de virtualización que pasa a formar parte del propio núcleo Linux.

                         Por Juan Carlos Aguilar Rincón y Aníbal Benjamín Negrete Tinoco

Cloud Computing

  • 1.
    Articulo Implementación de serviciosde infraestructura (IaaS) con KVM Actualmente con el avance de las TICs, han surgido nuevos campos de investigación, uno de ellos es el Cloud Computing, termino relativamente nuevo surgido en el 2005, todo esto gracias a las investigaciones y al avance tecnológico que se ha dado tanto en el hardware,en los servicios de internet, en el computo paralelo y virtualización. El Cloud Computing describe una seria de servicios, aplicaciones, información e infraestructura compuesta por reservas de recursos de computación, redes, información y almacenamiento. En resumen Cloud Computing es un modelo de entrega de recursos (hardware y software) a través de la red. Entre sus características estas: Autoservicio. El consumidor puede abastecerse del servicio según sus necesidades. Amplio acceso a internet. Las capacidades de procesamiento están disponibles en la red y se accede a ellas por medio de clientes remotos tanto ligeros como pesados (ej. Teléfonos móviles, PDAs, laptops…) Rapidez y elasticidad. Al ser un servicio automático para el consumidor, las capacidades de abastecimiento los ilimitadas y pueden adquirirse en cualquier cantidad y momento. Servicio supervisado. Ahora bien para poder visualizar mejor la estructura de Cloud Computing, existe el modelo SPI (Software, Platform and Infraestructure), el cual hace referencia a Software, Plataforma e Infraestructura, estos se definen como: Software as a Service (SaaS): Software como servicio, consiste en utilizar las aplicaciones del proveedor que se ejecutan en la infraestructura del mismo, se accede a ellas desde los dispositivos del cliente a través de una interfaz de cliente ligero como un navegador de internet por ejemplo. Platform as a Service (PaaS): Plataforma como servicio, en este nivel se despliegan las aplicaciones creadas o compradas por el consumidor, el consumidor controlalas aplicaciones desplegadas y su configuración. Infraestructure as a Service(IaaS): Infraestructura como servicio, aquí se abastece al consumidor de procesamiento, almacenamiento, redes y de otros recursos computaciones, el consumidor controla los sistemas operativos, almacenamiento, las aplicaciones y los componentes de red seleccionados.
  • 2.
    Hypervisor Un hypervisor esun administrador de maquinas, este se instala tanto sobre hardware puro (a esto se le conoce como bare - metal) como sobre un sistema operativo. El hypervisor nos ayuda a virtualizar equipos, esto quiere decir que crearemos maquinas virtuales con los recursos asignados (espacio de disco duro, memoria RAM o número de procesadores), además por lo general se indica el tipo de sistema operativo alojado en esa maquina virtual. Posteriormente se instala el sistema operativo sobre la maquina virtual creada. De esta manera solo tenemos una maquina física, pero a nivel lógico solo tenemos varias computadoras trabajando al mismo tiempo. Hay dos conceptos que deben quedar claros con respecto a la virtualización: Anfitrión (host): es la computadora en la cual instalamos nuestro programa de virtualización y que asignará o prestara determinados recursos de hardware a la maquina virtual que creemos. Invitado (guest): es la computadora virtual en la que hemos creado con nuestro programa de virtualización y al cual le asignamos determinados recursos para funcionar. Hay varios tipos de virtualización, los siguientes son: Emulación de hardware. Esta virtualización consiste en la emulación de hardware, este tipo de virtualización es de las más completas. Por lo tanto en el sistema anfitrión se utiliza una maquina virtual que emula el hardware. Virtualización completa. Este tipo de virtualización utiliza una maquina virtual que media entre el sistema operativo de la maquina virtual y el hardware nativo. Algunas instrucciones protegidas deben capturarse y manejarse dentro del virtualizador puesto que el hardware subyacente no es propiedad del sistema operativo sino que es compartido a través del hypervisor. Paravirtualización.Similar a la virtualización completa pero el hypervisor integra código que esta al tanto de la virtualización como del acceso al hardware subyacente. Esta aproximación evita la necesidad de recompilar y capturar ya que los propios sistemas operativos cooperan en el proceso de virtualización. Virtualización en el nivel del sistema operativo. Esta técnica virtualiza los servidores dentro del propio sistema operativo. Este método soporta un solo sistema operativo y simplemente aísla los servidores independientes. En este caso KVM utiliza la virtualización completa y la paravirtualización.
  • 3.
    KVM Es una esuna solución completa de virtualización única al convertir el núcleo Linux en un hypervisor. El módulo KVM en el núcleo expone el hardware virtualizado a través del dispositivo de caracteres /dev/kvm. El sistema operativo alojado se comunica con el módulo KVM utilizando un proceso que ejecuta un QEMU modificado para obtener la emulación de hardware. El módulo KVM introduce un nuevo modo de ejecución en el núcleo. Donde el kernelvanilla (estándar) aporta el modo kernel y el modo user, KVM aporta el modo guest. Este modo es utilizado para ejecutar todo el código del huésped en el que no se utiliza entrada/salida, y el modo normal de usuario proporciona la entrada/salida para los huéspedes. La presentación de KVM es una interesante evolución de Linux, ya que es la primera tecnología de virtualización que pasa a formar parte del propio núcleo Linux. Por Juan Carlos Aguilar Rincón y Aníbal Benjamín Negrete Tinoco