Openstack es una infraestructura de código abierto como servicio (IaaS) para crear y gestionar un gran número de servidores virtuales privados en un Centro de Datos.
Los objetivos de la iniciativa OpenStack son apoyar la interoperabilidad entre los servicios en la nube y permitir a las empresas construir servicios en la nube como Amazon en sus propios centros de datos. OpenStack, que está disponible gratuitamente bajo la licencia Apache 2.0, se refiere a menudo en los medios de comunicación como "el Linux de la Nube" y se compara con Eucalyptus y el proyecto Apache CloudStack, otras dos iniciativas de nube de código abierto.
Openstack tiene una arquitectura modular que consta de varios componentes:
Compute (Nova) Es un controlador de estructura cloud computing, que es la parte principal de un sistema de IaaS. Está diseñado para gestionar y automatizar los pools de los recursos del equipo y puede trabajar con tecnologías ampliamente disponibles de virtualización. KVM y Xen son las opciones disponibles para la tecnología de hipervisor, junto con la tecnología Hyper-V, la tecnología vSphere de VMware y la tecnología de contenedores Linux como LXC.
Object Storage (Swift). Es un sistema de almacenamiento redundante y escalable. Los objetos y los archivos se escriben en varias unidades de disco repartidos por los servidores del centro de datos, con el software OpenStack responsable de asegurar la replicación y la integridad de los datos en el clúster.
Block Storage (Cinder). Proporciona dispositivos de almacenamiento a nivel de bloque persistentes para usar con instancias de OpenStack Compute.
Networking (Neutron). (anteriormente Quantum) Es un sistema para la gestión de redes y direcciones IP. Asegura que la red no presente el problema del cuello de botella o el factor limitante en un despliegue en la nube y ofrece a los usuarios un autoservicio real, incluso a través de sus configuraciones de red.
Dashboard (Horizon). Proporciona a los administradores y usuarios una interfaz gráfica para el acceso, la provisión y automatización de los recursos basados en la nube. El diseño permite que los productos y servicios de terceros, tales como la facturación, el monitoreo y las herramientas de gestión adicionales.
Servicio de Identidad (Keystone). Ofrece un directorio central de usuarios asignados a los servicios de OpenStack que pueden acceder. Actúa como un sistema de autenticación común en todo el sistema operativo para la nube y se puede integrar con los servicios de directorio backend existentes como LDAP.
Servicio de Imagen (Glance). Proporciona servicios de descubrimiento, de inscripción y de entrega de los discos y del servidor de imágenes. Las imágenes almacenadas se pueden utilizar como una plantilla. También se puede utilizar para almacenar y catalogar un número ilimitado de copias de seguridad.
Telemetría (Ceilometer). Proporciona un único punto de contacto para los sistemas de facturación, proporcionando todos los contadores que se necesitan para establecer la facturación del cliente, a través de todos los componentes actuales y futuras de OpenStack.
Orquestación (Heat). Heat es un servicio para orquestar múltiples aplicaciones compuestas en la nube utilizando plantillas, tanto a través de una API REST OpenStack nativa y una API de consultas compatibles con CloudFormation
Base de datos (Trove). Trove es una base de datos que funciona como un servicio de aprovisionamiento de motores de bases de datos relacionales y no relacionales.