OpenStack es una plataforma de cloud computing de código abierto que permite controlar grandes conjuntos de recursos de computación, almacenamiento y red dentro de un data center. Se distribuye bajo licencia Apache 2.0.
Proyecto OpenStack
Rackspace Hosting y la NASA lanzaron el proyecto en 2010. De hecho, el código inicial estaba basado en la plataforma Nebula de la NASA y la plataforma de archivos cloud de Rackspace. Sin embargo, desde 2012, la OpenStack Foundation (Open Infrastructure Foundation, desde 2021) y la comunidad son las encargadas de su desarrollo y mantenimiento. El proyecto OpenStack está respaldado por una gran comunidad y cientos de empresas —como Canonical, Intel y Hewlett Packard Enterprise—.
Como se afirma en su wiki:
«La misión de OpenStack es producir una plataforma de cloud computing de código abierto ubicua, que sea fácil de usar, simple de implementar, interoperable entre despliegues, que funcione bien a todas las escalas, y que cumpla con las necesidades de los usuarios y operadores tanto de nubes privadas como públicas.»
Actualmente, hay más de 40 millones de cores en producción en todo el mundo, las distribuciones de Linux más populares cuentan con imágenes oficiales de OpenStack, y el proyecto continúa integrando nuevas tecnologías emergentes año tras año.
Despliegue de OpenStack
OpenStack se puede desplegar como IaaS en nubes privadas, nubes públicas, servidores dedicados y servidores con GPU. Los usuarios pueden gestionarlo mediante herramientas de la línea de comandos, servicios web RESTful o dashboards web como Soax.
A medida que la plataforma cloud madura, cada vez más proveedores ofrecen opciones para que los negocios puedan desplegarla, desde soluciones de nube privada OpenStack alojada a distribuciones OpenStack on-premises.
Arquitectura modular de OpenStack
La arquitectura modular de la plataforma está compuesta de diversos proyectos y servicios, como:
Componente Compute: Nova
Nova se centra en el aprovisionamiento, gestión y automatización de conjuntos de recursos. Su objetivo es proporcionar acceso muy escalable, bajo demanda y autoservicio a recursos de computación mediante la implementación de servicios y librerías. Nova se lanzó en la primera versión, «Austin», en 2010.
Componente Object Store: Swift
Swift es un servicio de almacenamiento de objetos que destaca por ser altamente disponible, distribuido y fiable, que proporciona gran tolerancia a fallos. Se puede usar para almacenar muchos datos de forma eficiente, segura y económica. Swift se lanzó en la primera versión, «Austin», en 2010.
Muchos usuarios también optan por Ceph, como un alternativa compatible con la API de Swift.
Componente Image: Glance
Glance es un servicio que incluye el descubrimiento, registro y recuperación de imágenes de máquina virtual. Su API RESTful permite consultar metadatos de imágenes de máquina virtual y recuperar la imagen actual. Glance se lanzó en la segunda versión, «Bexar», en 2011.
Componente Dashboard: Horizon
Horizon es la implementación canónica del dashboard de OpenStack. Se lanzó en la quinta versión, «Essex», en 2012.
Componente Identity: Keystone
Keystone proporciona autenticación de cliente API, descubrimiento del servicio y autorización distribuida multitenant al implementar la API de identidad de OpenStack. Keystone se lanzó en la quinta versión, «Essex», en 2012.
Componente Networking: Neutron
Neutron, inicialmente conocido como Quantum, busca proporcionar NaaS (Networking as a Service) en entornos de computación virtuales. Se lanzó en la sexta versión, «Folsom», en 2012.
Componente Block Storage: Cinder
Cinder es un servicio que virtualiza el aprovisionamiento y la gestión de dispositivos de almacenamiento en bloque. Proporciona una API autoservicio a los usuarios finales. Cinder se lanzó en la sexta versión, «Folsom», en 2012.
Componente Orchestration: Heat
Heat está diseñado para orquestar recursos de infraestructura para aplicaciones cloud basadas en plantillas en forma de archivos de texto que se pueden tratar como código. Heat se lanzó en la octava versión, «Havana», en 2013.
Componente Bare Metal provisioning: Ironic
Ironic es un servicio de aprovisionamiento bare metal pensado para proporcionar acceso muy escalable, bajo demanda y autoservicio a recursos de computación mediante la implementación de servicios y librerías. Ironic se lanzó en la 11ª versión, «Kilo», en 2015.
Componente Container Orchestration: Magnum
Magnum se centra en conseguir que motores de orquestación de contenedores como Docker Swarm o Kubernetes estén disponibles en OpenStack. Magnum se lanzó en la 13ª versión, «Mitaka», en 2016.
Versiones de OpenStack
Nombre de la actualización | Fecha de lanzamiento |
Austin | Octubre 2010 |
Bexar | Febrero 2011 |
Cactus | Abril 2011 |
Diablo | Septiembre 2011 |
Essex | Abril 2012 |
Folsom | Septiembre 2012 |
Grizzly | Abril 2013 |
Havana | Octubre 2013 |
Icehouse | Abril 2014 |
Juno | Octubre 2014 |
Kilo | Abril 2015 |
Liberty | Octubre 2015 |
Mitaka | Abril 2016 |
Newton | Octubre 2016 |
Ocata | Febrero 2017 |
Pike | Agosto 2017 |
Queens | Febrero 2018 |
Rocky | Agosto 2018 |
Stein | Abril 2019 |
Train | Octubre 2019 |
Ussuri | Mayo 2020 |
Victoria | Octubre 2020 |
Wallaby | Abril 2021 |
Xena | Octubre 2021 |
Yoga | Marzo 2022 |
Zed | Octubre 2022 |
Última actualización de OpenStack: Zed
OpenStack Zed incluye características de seguridad mejoradas y habilitación de hardware extendida. Además, la comunidad ha introducido dos nuevos proyectos que buscan dar respuesta al feedback de los usuarios: Venus —para mejorar la agregación de logs para grandes despliegues— y Skyline —para mejorar la interfaz de usuario web—.
Arquitectura de alta disponibilidad de OpenStack
La alta disponibilidad en una arquitectura de nube privada OpenStack se puede conseguir dentro del mismo centro de datos, a nivel del nodo, y también contando con dos centros de datos geográficamente distantes. El siguiente ejemplo de arquitectura en HA incluye dos centros de datos:
En el ejemplo, los nodos y todos los elementos de red están redundados tanto en el datacenter activo como en el secundario para conseguir una nube privada en alta disponibilidad. Por lo tanto, en caso de contingencia grave en el CPD activo, el nodo o nodos en el segundo centro de datos pueden hacerse cargo del servicio. No obstante, para asegurar un RTO=0 en el servicio, los sistemas operativos, BBDD y aplicaciones también deben soportar este tipo de arquitectura y configurarse como tal.
Si estás buscando una solución cloud segura, fiable y rentable para las aplicaciones de misión crítica de tu empresa, no dudes en contactar a nuestros expertos en Cloud Privado para una propuesta a medida.