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 administración de cómputo, redes y almacenamiento en la nube. Otros para la identidad y la administració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 administrar grandes redes de máquinas virtuales. 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.
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 colaboró 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.
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.
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 para que los desarrolladores puedan 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. Heat también tiene un elemento de auto escalado para 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.)