OpenStack es una colección de proyectos de software open source que permite establecer y administrar tu propia infraestructura de cómputo como servicio (IaaS), la cual es administrable de manera programática por medio de APIs. En otras palabras, cloud computing open source desde tu data center.
El proyecto nació en julio de 2010, fundado por la NASA y Rackspace, un proveedor de servicios de hosting. Desde entonces, OpenStack se ha ido ganando el respaldo de varias de las empresas más importantes de la industria, entre ellas IBM, Red Hat, HP, Cisco y Dell.
OpenStack es la base de OpenCloud, una iniciativa que busca la interacción entre nubes de forma estándar, evitando así quedar “atado” a un proveedor específico. La versión más reciente de OpenStack lleva el nombre “Havana” y fue liberada el 17 Octubre del 2013.
OpenStack no es un solo proyecto, sino un conjunto de proyectos, cada uno orientado a desarrollar un componente de la plataforma. La figura 1 ilustra los diferentes componentes de OpenStack y como interactúan. A continuación describo cada uno.
NOVA: Es el componente que se encarga de administrar los recursos de cómputo. Es lo que en el argot de cómputo distribuido se conoce como un fabric controller. Nova maneja todas las tareas requeridas para soportar el ciclo de vida de las instancias que se ejecutan en OpenStack. Nova expone sus capacidades por medio de un API compatible con el API de Amazon EC2.
CINDER: Es el servicio de almacenamiento por volumen o bloque (block storage). Permite que las máquinas virtuales puedan acceder e interactuar con dispositivos de almacenamiento virtuales por medio de una interfaz iSCSI. Brinda una funcionalidad comparable a la que tendrías utilizando un sistema SAN, con sus ventajas (alto desempeño para lectura/escritura) y limitaciones (un dispositivo solamente puede ser usado por una sola máquina virtual al mismo tiempo). Sin embargo, a diferencia de un SAN convencional, el API de Cinder te permite que de manera programática puedas asignar un dispositivo a una u otra máquina virtual conforme lo necesites.
SWIFTS: Es un almacén de objetos distribuido que viene a cumplir una función análoga al Simple Storage Service (S3) de Amazon Web Services. Dada su naturaleza, Swift es altamente escalable tanto en términos de tamaño (varios petabytes) como capacidad (billones de objetos) y cuenta con capacidad nativa de redundancia y tolerancia a fallas.
NEUTRON: Es el subsistema para gestión de conectividad (network connectivity-as-a-service). Quantum está basado en OpenFlow [3] y su tecnología permite a las redes tomar decisiones de ruteo en base a aplicaciones, es decir las redes ya están empezando a entender el software y los servicios de negocio, y tomando las decisiones en base a esto.
GLANCE: Provee servicios para descubrir, registrar y activar imágenes de servidores. La habilidad de copiar o sacar un snapshot de una imagen de un servidor e inmediatamente almacenarla es una capacidad importante de OpenStack. Las imágenes almacenadas se pueden utilizar como plantillas para levantar nuevos servidores rápidamente. También se pueden utilizar para almacenar y catalogar respaldos.
HORIZON: Es una interfaz web gráfica para administrar un ambiente OpenStack. Se puede utilizar para administrar instancias e imágenes de servidores, crear llaves de acceso, asignar volúmenes de almacenamiento, manipular contenedores Swift, etcétera.
Keystone. Provee servicios de identidad y política de acceso para los componentes de OpenStack. Disponible de manera programática por medio de un API tipo REST.
OpenStack es la base de OpenCloud, una iniciativa que busca la interacción entre nubes de forma estándar, evitando así quedar “atado” a un proveedor específico. La versión más reciente de OpenStack lleva el nombre “Havana” y fue liberada el 17 Octubre del 2013.
OpenStack no es un solo proyecto, sino un conjunto de proyectos, cada uno orientado a desarrollar un componente de la plataforma. La figura 1 ilustra los diferentes componentes de OpenStack y como interactúan. A continuación describo cada uno.
NOVA: Es el componente que se encarga de administrar los recursos de cómputo. Es lo que en el argot de cómputo distribuido se conoce como un fabric controller. Nova maneja todas las tareas requeridas para soportar el ciclo de vida de las instancias que se ejecutan en OpenStack. Nova expone sus capacidades por medio de un API compatible con el API de Amazon EC2.
CINDER: Es el servicio de almacenamiento por volumen o bloque (block storage). Permite que las máquinas virtuales puedan acceder e interactuar con dispositivos de almacenamiento virtuales por medio de una interfaz iSCSI. Brinda una funcionalidad comparable a la que tendrías utilizando un sistema SAN, con sus ventajas (alto desempeño para lectura/escritura) y limitaciones (un dispositivo solamente puede ser usado por una sola máquina virtual al mismo tiempo). Sin embargo, a diferencia de un SAN convencional, el API de Cinder te permite que de manera programática puedas asignar un dispositivo a una u otra máquina virtual conforme lo necesites.
SWIFTS: Es un almacén de objetos distribuido que viene a cumplir una función análoga al Simple Storage Service (S3) de Amazon Web Services. Dada su naturaleza, Swift es altamente escalable tanto en términos de tamaño (varios petabytes) como capacidad (billones de objetos) y cuenta con capacidad nativa de redundancia y tolerancia a fallas.
NEUTRON: Es el subsistema para gestión de conectividad (network connectivity-as-a-service). Quantum está basado en OpenFlow [3] y su tecnología permite a las redes tomar decisiones de ruteo en base a aplicaciones, es decir las redes ya están empezando a entender el software y los servicios de negocio, y tomando las decisiones en base a esto.
GLANCE: Provee servicios para descubrir, registrar y activar imágenes de servidores. La habilidad de copiar o sacar un snapshot de una imagen de un servidor e inmediatamente almacenarla es una capacidad importante de OpenStack. Las imágenes almacenadas se pueden utilizar como plantillas para levantar nuevos servidores rápidamente. También se pueden utilizar para almacenar y catalogar respaldos.
HORIZON: Es una interfaz web gráfica para administrar un ambiente OpenStack. Se puede utilizar para administrar instancias e imágenes de servidores, crear llaves de acceso, asignar volúmenes de almacenamiento, manipular contenedores Swift, etcétera.
Keystone. Provee servicios de identidad y política de acceso para los componentes de OpenStack. Disponible de manera programática por medio de un API tipo REST.
HAVANA - Ultima Versión OpenStack



Ayer se cumplió el tercer aniversario de OpenStack!! http://www.openstack.org/birthday y vamos por muchos masss!
ResponderEliminarExcelente! Un sólo detalle: Quantum fue renombrado y ahora es oficialemente denominado 'Neutron'.
ResponderEliminarUy !!! cierto, gracias por el aporte ladquin. Saludos.
Eliminar