Blog del grupo de investigación GRITS. Redes de próxima generación para el Internet del futuro, Fog Computing e Internet de las cosas para implementar nuestros diseños personalizados en nubes híbridas ciberseguras, en sistemas de almacenamiento a gran escala y comunicaciones de larga distancia.

07 Noviembre 2014 | Publicado por Editorial Team GRITS

OpenStack. Descripción de la solución Cloud opensource

OpenStack Logo

OpenStack es un software de gestión integral de un entorno Cloud que proporciona herramientas para la virtualización, gestión de imágenes, gestión de identidad, redes definidas por software (SDN), almacenaje de objetos,... Un sinfín de módulos que complementan y permiten adaptar un entorno cloud a cualquier necesidad. Y lo mejor de todo, es que toda la solución es de código abierto. A finales del pasado mes de Octubre presentaron la décima versión del proyecto: Juno. El proyecto tiene mucha energía, seguidores y desarrolladores detrás para convertir esta plataforma en la referencia para el despliegue de Clouds públicos, privados e híbridos. A lo largo de este artículo se hará referencia a la principal competencia: vmware.

OpenStack está formado por tres módulos principales:

  • Compute
  • Networking
  • Storage

Existe un último módulo llamado Horizon que es opcional pero permite ver des de una interfaz web el estado de toda la infraestructura y realizar acciones de forma gráfica y visual.

En primera instancia, el módulo de compute es el encargado del sistema de virtualización. Permite definir una serie de nodos de 'compute' que arrancarán las distintas máquinas virtuales. Para poder decidir des de donde hay que arrancar estas máquinas, OpenStack define un tipo de nodo llamado 'nova' que se encarga de guardar todas las imágenes de instalación o plantillas para arrancar los distintos SO.

Des del dashboard (Horizon) se pueden cargar fácilmente imágenes en el host que ejecuta nova las imágenes que queremos y lanzar las instancias que queramos. Todo el proceso es muy simple y se realiza como una subida de un archivo a cualquier página web. Además las instancias se pueden visualizar des de la web con un conector 'kvm' tipo VNC que nos transporta al navegador la pantalla/consola del la máquina virtual. En el apartado de compute se pueden visualizar todas las instancias que se ejecutan y se pueden migrar en caliente de un host a otro (como en vmotion de vmware). Si comparamos con vmware, los nodos de compute serían los servidores ESXi y Horizon sería el vCenter.

El módulo de Networking se encarga de proporcionar recursos de red a las instancias que se ejecutan a los módulos de compute. Se pueden definir pozos de direcciones IP que se asignarán a las instancias y grupos de switch distribuidos donde se conectarán las máquinas virtuales. La principal característica que ofrece Neutron (nombre interno del módulo de red) es la interacción con los switch que incorporan OpenFlow. De esta forma se puede aprovisionar la red en tiempo real y según necesidades des de un punto centralizado y transparente. Comparando con vmware, Neutron sería la tecnología vmware NSX.

Por último se ofrecen dos tipos distintos de storage: block storage y object storage. La diferencia entre ambos es sustancial y los casos de uso son completamente distintos.

Block storage se centra en el almacenaje en cabinas de disco tradicionales basadas en iSCSI o FC/FCoE. Su misión es albergar la información de las instancias. Permite la creación de volúmenes virtuales que luego serán formateados según el sistema operativo que se instale. Por ejemplo si instalamos un Windows Server 2012, la imagen de instalación estaría en Nova y el disco duro virtual, en Cinder (Block Storage). Se definen unos nodos físicos para conectar con el Storage y los nodos de compute preguntarán a los proxy de storage para acceder a la información. Como símil en vmware, Block Storage sería el equivalente a las Datastore.

Object Storage (Swift) tiene como misión guardar información de un usuario o grupo de usuarios a mas alto nivel que el Block Storage. Como símil de este servicio podríamos decir que se trata de una unidad 'nfs' pero accesible vía una API RESTful. Otro símil sería Dropbox. Cada usuario tiene sus archivos y no puede acceder a los de los demás, y, vía web puede añadir o quitar archivos. De momento no existe aplicación de escritorio para acceder a Object Storage.

En este post solamente se han mencionado los módulos mas importantes de OpenStack. En futuros posts se hablará en detalle de cada uno de los módulos y las topologías habituales de despliegue. También se hablará de otros módulos que no se han mencionado que permiten funciones avanzadas como el procesado BigData, la monitorización detallada de todos los elementos del Cloud y bases de datos middleware.

 

Share

Comentarios

Me parece una muy buena introducción a OpenStack, sobre todo por los símiles hechos con otras tecnologías, que pueden dar una idea de la función de cada uno de los módulos principales. Quizás estaría bien un listado completo de los módulos, para ver una visión general inicial, y entender por qué OpenStack ofrece una solución tan completa:

Compute (Nova)
Object Storage (Swift)
Block Storage (Cinder)
Networking (Neutron)
Dashboard (Horizon)
Identity Service (Keystone)
Image Service (Glance)
Telemetry (Ceilometer)
Orchestration (Heat)
Database (Trove)
Bare Metal Provisioning (Ironic)
Multiple Tenant Cloud Messaging (Zaqar)
Elastic Map Reduce (Sahara)

Un saludo!

Todo muy claro y bien explicado, permitiendo entender y obtener una base del funcionamiento del OpenStack sin necesidad de saber previamente de qué trata.

Añadir nuevo comentario

CAPTCHA
Esta pregunta es para comprobar si usted es un visitante humano y prevenir envíos de spam automatizado.
2 + 7 =
Resuelva este simple problema matemático y escriba la solución; por ejemplo: Para 1+3, escriba 4.