Llegamos a ustedes gracias a:



Reportajes y análisis

OpenStack 101

Las partes que componen el proyecto.

[13/06/2014] En esencia, OpenStack es un sistema operativo sobre el que se construyen las nubes públicas o privadas. Pero OpenStack es una plataforma, no es solo una pieza de software que se descarga y se instala para construir una nube y "¡voila!".

En lugar de eso, OpenStack se compone de más de una docena de elementos que controlan los aspectos más importantes de una nube. Hay un proyecto para la gestión de cómputo, redes y almacenamiento en la nube. Otros para la identidad y la gestión de acceso, y unos para orquestar las aplicaciones que corren encima de todo esto. Al colocarlos juntos, esos componentes permiten a las empresas y proveedores de servicio ofrecer recursos de computación bajo demanda, al provisionar y gestionar grandes redes de máquinas virtuales.

Vea también: OpenStack: Las 15 principales empresas

El código para cada proyecto puede ser descargado gratuitamente de GitHub y muchos de esos proyectos son actualizados dos veces al año cuando sale un nuevo reléase. La mayoría de compañías que interactúan con OpenStack lo hacen través de una nube pública que se ejecuta en estos componentes, o a través de una versión producida de este código distribuido por uno de los muchos proveedores involucrados en el proyecto. Es importante conocer las piezas que componen el proyecto. Así que aquí está el OpenStack básico.

Openstack Compute

Cómputo
Nombre código: Nova
OpenStack se inició en el 2010, cuando Rackspace y la NASA se unieron. La NASA contribuyó con la parte de cómputo, mientras que Rackspace contribuyó con el almacenamiento. Hoy, ese proyecto de computación vive como Nova.

Nova está diseñado para gestionar y automatizar el aprovisionamiento de los recursos informáticos. Este es núcleo del software de administración de la máquina virtual, pero no es un hipervisor. En lugar de ello, Nova soporta tecnologías de virtualización, incluyendo KVM, Xen, ESX y Hyper-V, y puede correr en configuraciones bare-metal y de computación de alto rendimiento. Los recursos de cómputo están disponibles a través de API para desarrolladores, y a través de interfaces web para administradores y usuarios. La arquitectura de cómputo está diseñada para escalar horizontalmente en hardware estándar. En el reléase Icejouse se están desplegando nuevas actualizaciones que permiten a las nubes OpenStack actualizarse a una nueva versión sin tener que apagar las VM.

Nova se puede considerar como el equivalente a la Elastic Compute Cloud de Amazon Web Service (EC2).

Openstack Networking

Redes
Nombre código: Neutron (anteriormente Quantum)
Neutrón gestiona los temas de red asociados a las nubes OpenStack. Es un sistema manejado por API que permite a los administradores o a los usuarios personalizar los ajustes de red, luego jugar con una variedad de tipos de redes (como redes planas, VLAN o redes privadas virtuales) bajo demanda. Neutron permite direcciones IP dedicadas o flotantes (estas últimas pueden ser usadas para re enrutar el tráfico durante un mantenimiento o una falla, por ejemplo). Soporta el protocolo de red definido por software OpenFlow y están disponibles plugins para servicios como detección de intrusos, balanceo de carga y firewalls.

Almacenamiento de objetos
Nombre código: Swift
OpenStack tiene dos principales plataformas de almacenamiento: Un sistema de almacenamiento de objetos llamado Swift y una plataforma de almacenamiento en bloque llamada Cinder. Swift, que fue uno de los componentes originales aportados por Rackspace, es una plataforma accesible totalmente distribuida y escalable por API, que puede ser integrada en aplicaciones o usada para backup y archivo. No es un sistema tradicional de almacenamiento de archivos; en lugar de eso, Swift no tiene un cerebro central. El software OpenStack automáticamente replica datos almacenados en Swift a través de múltiples nodos, para asegurar redundancia y tolerancia a fallas. Si un nodo falla, el objeto automáticamente es replicado a un nuevo nodo que es añadido al sistema. Esa es una de las características clave que permiten a OpenStack escalar a dimensiones masivas. Piense en Swift como el equivalente del Simple Storage Service (S3) de AWS.

Almacenamiento en bloque
Nombre código: Cinder
A diferencia de Swift, Cinder permite bloques de almacenamiento que serán administrados. Están destinados a ser asignados a instancias de cómputo para permitir almacenamiento extendido. El software Cinder administra la creación de esos bloques, además de los actos de adjuntar y desvincular los bloques a los servidores de cómputo. La otra función principal de Cinder es su integración con los sistemas de almacenamiento empresarial tradicional, como almacenamiento Linux Server y otras plataformas como Ceph, NetApp, Nexenta, SolidDire y Zadara, entre otras. Este es el equivalente de la característica Elastic Block Storage (EBS) de AWS. Más información.

Openstack Identity

Gestión de identidad y acceso
Nombre código: Keystone
OpenStack tiene una variedad de componentes que son servicios compartidos, lo que significa que trabajan a través de las diversas partes del software, tales como Keystone. Este proyecto es la herramienta principal para la autenticación de usuario y controles de acceso basados en roles en nubes OpenStack. Keystone se integra con LDAP para proporcionar un directorio central de usuarios, y permite a los administradores establecer políticas que controlan los diversos recursos a los que tienen acceso los usuarios. Keystone soporta logins tradicionales de usuario y contraseña, además de inicios de sesión basados en token.

Openstack Dashboard

Dashboard
Nombre código: Horizon
Esta es la interfaz gráfica de usuario principal para utilizar las nubes OpenStack. La herramienta basada en web ofrece a los usuarios y administradores la capacidad de suministro y automatización de servicios. Es la vía principal de acceso a los recursos si no se usan llamadas a la API.

Servicio de imágenes
Nombre código: Glance
Uno de los beneficios clave de una plataforma en la nube es la posibilidad de hacer funcionar máquinas rápidamente cuando los usuarios lo solicitan. Glance ayuda a cumplir con esto creando plantillas para máquinas virtuales. Glance puede copiar o tomar una instantánea de la imagen de una máquina virtual y permitir que sea recreada. Esto significa que los administradores pueden establecer un catálogo de plantillas de máquina virtual, del que los usuarios pueden seleccionar y auto provisionarse. Glance también puede ser usado para respaldar imágenes actuales para guardarlas. Glance se integra con Cinder para almacenar las imágenes.

Uso de datos y orquestación
Dos de los más recientes proyectos en OpenStack son Ceilometer y Heat. Ceilometer es un sistema de telemetría que permite a los administradores rastrear el uso de la nube OpenStack, incluyendo que usuarios accedieron a qué recursos, así como agregar datos sobre el uso de la nube en conjunto.

Heat es un motor de orquestación que permite a los desarrolladores automatizar el despliegue de infraestructura. Esto permite que las configuraciones de cómputo, redes y almacenamiento sean asignadas automáticamente a una máquina virtual o aplicación. Esto permite la preparación más sencilla de nuevas instancias. Heat también tiene un elemento de auto escalado, el cual permite servicios y añade recursos a medida que son requeridos.

En el camino: Bases de datos, gestión de bare metal, mensajería y Hadoop
Hay una serie de proyectos que todavía se están incubando, lo que significa que están en desarrollo y aún no son componentes totalmente desplegados en OpenStack. Estos incluyen Trove, el cual es un servicio de base de datos MySQL como servicio (piense en esto como el equivalente de Relational Database Service (RDS) de AWS). Otro es Sahara (anteriormente conocido como Savanah) el cual tiene por objeto permitir al software OpenStack controlar los clusters Hadoop. Lo irónico es que es un proyecto que permitirá a OpenStack manejar servidores bare metal. Y Macaroni es un servicio de mensajería.

Estos proyectos continuarán siendo desarrollados por la comunidad OpenStack y muy probablemente serán integrados de forma más completa en el proyecto en los próximos lanzamientos.
Brandon Butler, Network World (EE.UU.)