Autor(es) original(es) | Alojamiento en Rackspace y la NASA |
---|---|
Desarrollador(es) | Fundación y comunidad de infraestructura abierta |
Lanzamiento inicial | 21 de octubre de 2010 ( 21 de octubre de 2010 ) |
Versión estable | 2024.1 Caracal [1] / 3 de abril de 2024 ( 03-04-2024 ) |
Repositorio | opendev.org/openstack |
Escrito en | Pitón |
Plataforma | Multiplataforma |
Tipo | Computación en la nube |
Licencia | Licencia Apache 2.0 |
Sitio web | www.openstack.org |
OpenStack es una plataforma de computación en la nube gratuita y de estándar abierto . Se implementa principalmente como infraestructura como servicio (IaaS) en nubes públicas y privadas, donde los servidores virtuales y otros recursos se ponen a disposición de los usuarios. [2] La plataforma de software consta de componentes interrelacionados que controlan diversos grupos de hardware de múltiples proveedores de recursos de procesamiento, almacenamiento y redes en todo un centro de datos . Los usuarios la administran a través de un panel basado en la web, a través de herramientas de línea de comandos o a través de servicios web RESTful .
OpenStack comenzó en 2010 como un proyecto conjunto de Rackspace Hosting y la NASA . A partir de 2012 [actualizar], fue administrado por la OpenStack Foundation , una entidad corporativa sin fines de lucro establecida en septiembre de 2012 [3] para promover el software OpenStack y su comunidad. [4] Para 2018, más de 500 empresas se habían unido al proyecto. [5] En 2020, la fundación anunció que pasaría a llamarse Open Infrastructure Foundation en 2021. [6]
En julio de 2010, Rackspace Hosting y la NASA anunciaron una iniciativa de software en la nube de código abierto conocida como OpenStack. [7] [8] La declaración de misión era "producir la plataforma de computación en la nube de código abierto ubicua que satisfaga las necesidades de las nubes públicas y privadas independientemente del tamaño, al ser simple de implementar y masivamente escalable". [9]
El proyecto pretendía ayudar a las organizaciones a ofrecer servicios de computación en la nube que se ejecutaban en hardware estándar. El primer lanzamiento oficial de la comunidad, cuyo nombre en código era Austin, apareció tres meses después, el 21 de octubre de 2010 , [10] con planes de lanzar actualizaciones regulares del software cada pocos meses. El código inicial provino de la plataforma Nebula de la NASA , así como de la plataforma Cloud Files de Rackspace . Los módulos de pila de nube y pila abierta se fusionaron y lanzaron como código abierto por el equipo Nebula de la NASA [11] en conjunto con Rackspace. ( 21 de octubre de 2010 )
En 2011, los desarrolladores de la distribución Ubuntu Linux adoptaron OpenStack [12] con una vista previa de tecnología no compatible de la versión "Bexar" de OpenStack para Ubuntu 11.04 " Natty Narwhal ". [13] El patrocinador de Ubuntu, Canonical, introdujo luego soporte completo para nubes OpenStack, comenzando con la versión Cactus de OpenStack. [ cita requerida ]
OpenStack estuvo disponible en Debian Sid a partir del lanzamiento de Openstack "Cactus" en 2011, y el primer lanzamiento de Debian que incluyó OpenStack fue Debian 7.0 (nombre en código "Wheezy"), que incluyó OpenStack 2012.1 (nombre en código: "Essex"). [14] [15]
En octubre de 2011, SUSE anunció la versión preliminar pública del primer dispositivo totalmente configurado de la industria con tecnología OpenStack basado en la versión "Diablo" de OpenStack. [16] En agosto de 2012, SUSE anunció su distribución empresarial OpenStack con soporte comercial basada en la versión "Essex". [17]
En 2012, Red Hat anunció una versión preliminar de su distribución OpenStack, [18] comenzando con la versión "Essex". Después de otra versión preliminar, Red Hat introdujo soporte comercial para OpenStack con la versión "Grizzly", en julio de 2013. [19]
La organización OpenStack ha crecido rápidamente y cuenta con el apoyo de más de 540 empresas. [20]
En 2012, la NASA se retiró de OpenStack como colaborador activo y, en su lugar, tomó la decisión estratégica de utilizar Amazon Web Services para servicios basados en la nube. [21] En julio de 2013, la NASA publicó una auditoría interna que citaba la falta de progreso técnico y otros factores como la principal razón de la agencia para abandonar como desarrollador activo del proyecto y, en su lugar, centrarse en el uso de nubes públicas. [22] Este informe se contradice en parte con los comentarios realizados por el CIO del Centro de Investigación Ames , Ray O'Brien. [23] A partir de noviembre de 2021, la NASA continúa utilizando OpenStack en el soporte IAAS y PAAS del clúster de supercomputadoras Discover. El entorno OpenStack se llama "Explore" y opera en el Centro de Simulación Climática de la NASA en el Centro de Vuelo Espacial Goddard. [24]
En noviembre de 2012, el Servicio Digital Gubernamental (GDS) del Reino Unido lanzó Inside Government [25] basado en el modelo de Gobierno como Plataforma (GaaP) de OpenNASA v2.0.
En diciembre de 2013, Oracle anunció que se había unido a OpenStack como patrocinador y planeaba llevar OpenStack a Oracle Solaris, Oracle Linux y muchos de sus productos. [26] A continuación, anunció distribuciones de Oracle OpenStack para Oracle Solaris [27] [28] y para Oracle Linux utilizando Icehouse el 24 de septiembre de 2014. [29]
En mayo de 2014, HP anunció HP Helion y lanzó una versión preliminar de HP Helion OpenStack Community, comenzando con el lanzamiento de IceHouse. HP ha operado HP Helion Public Cloud en OpenStack desde 2012. [30]
En el Interop and Tech Field Day de 2014, Avaya demostró la red definida por software utilizando Shortest path bridging y OpenStack como un campus automatizado, extendiendo la automatización desde el centro de datos hasta el dispositivo final y eliminando el aprovisionamiento manual de la entrega de servicios. [31] [32]
A partir de noviembre de 2021 [actualizar], la NASA aloja la nube privada Explore OpenStack en apoyo de Discover HPC. [24]
A partir de septiembre de 2022 [actualizar], China Mobile utiliza OpenStack como base de su red 5G. Red Hat afirma que su plataforma está implementada en más del 30 por ciento de las redes LTE de producción. [33]
La nube OpenStack en el CERN requiere más de 300.000 núcleos para satisfacer las necesidades del Gran Colisionador de Hadrones . [33]
Varios proyectos OpenStack cambiaron de nombre debido a problemas de marca registrada.
Nombre de lanzamiento | Fecha de lanzamiento | Nombres de código de componentes incluidos [40] |
---|---|---|
Austin | 21 de octubre de 2010 [41] [42] | Nova, Veloz |
Béxar | 3 de febrero de 2011 [43] | Nova, Mirada, Veloz |
Cactus | 15 de abril de 2011 [44] | Nova, Mirada, Veloz |
Diablo | 22 de septiembre de 2011 [45] | Nova, Mirada, Veloz |
Essex | 5 de abril de 2012 [46] | Nova, Mirada, Veloz, Horizonte, Piedra angular |
Folsom | 27 de septiembre de 2012 [47] | Nova, Glance, Swift, Horizon, Keystone, Quantum, Cinder |
Oso pardo | 4 de abril de 2013 [48] | Nova, Glance, Swift, Horizon, Keystone, Quantum, Cinder |
la Habana | 17 de octubre de 2013 [49] | Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilómetro |
Nevera | 17 de abril de 2014 [50] | Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilómetro, Trove |
Juno | 16 de octubre de 2014 [51] | Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilómetro, Trove, Sahara |
Kilo | 30 de abril de 2015 [52] | Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilómetro, Trove, Sahara, Irónico |
Libertad | 16 de octubre de 2015 [53] | Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilómetro, Trove, Sahara, Ironic, Zaqar, Manila, Designate, Barbican, Searchlight |
Mitaka | 7 de abril de 2016 [54] | Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilómetro, Trove, Sahara, Ironic, Zaqar, Manila, Designate, Barbican, Searchlight, Magnum |
Newton | 6 de octubre de 2016 [55] | Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilómetro, Trove, Sahara, Ironic, Zaqar, Manila, Designate, Barbican, Searchlight, Magnum, aodh, cloudkitty, congress, freezer, mistral, monasca-api, monasca-log-api, murano, panko, senlin, solum, tacker, vitrage, Watcher |
Ocata | 22 de febrero de 2017 [56] | Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilómetro, Trove, Sahara, Ironic, Zaqar, Manila, Designate, Barbican, Searchlight, Magnum, aodh, cloudkitty, congress, freezer, mistral, monasca-api, monasca-log-api, murano, panko, senlin, solum, tacker, vitrage, Watcher |
Lucio | 30 de agosto de 2017 [57] | Nova, Glance, Swift, Horizon, Keystone, Neutron, Cinder, Heat, Ceilómetro, Trove, Sahara, Ironic, Zaqar, Manila, Designate, Barbican, Searchlight, Magnum, aodh, cloudkitty, congress, freezer, mistral, monasca-api, monasca-log-api, murano, panko, senlin, solum, tacker, vitrage, Watcher |
Reinas | 28 de febrero de 2018 [58] | Nova, Vistazo, Swift, Horizonte, Keystone, Neutrón, Ceniza, Calor, Ceilómetro, Trove, Sahara, Irónico, Zaqar, Manila, Designate, Barbican, Searchlight, Magnum, aodh, cloudkitty, congreso, congelador, mistral, monasca-api, monasca-log-api, murano, panko, senlin, solum, tacker, vitrage, Watcher, blazar, ceilometer-powervm, karbor, octavia, storlets, tricircle, zun |
Rocoso | 30 de agosto de 2018 [59] | Nova, Vistazo, Swift, Horizonte, Keystone, Neutrón, Ceniza, Calor, Ceilómetro, Trove, Sahara, Irónico, Zaqar, Manila, Designate, Barbican, Searchlight, Magnum, aodh, cloudkitty, congreso, congelador, mistral, monasca-api, monasca-log-api, murano, panko, senlin, solum, tacker, vitrage, Watcher, blazar, ceilometer-powervm, karbor, octavia, storlets, tricircle, zun, Cyborg, ec2-api, Masakari, Qinling (40 servicios) |
Piedra | 10 de abril de 2019 [60] | Nova, Vistazo, Swift, Horizonte, Keystone, Neutrón, Ceniza, Calor, Ceilómetro, Trove, Sahara, Irónico, Zaqar, Manila, Designate, Barbican, Searchlight, Magnum, aodh, cloudkitty, congreso, congelador, mistral, monasca-api, monasca-log-api, murano, panko, senlin, solum, tacker, vitrage, Watcher, blazar, ceilometer-powervm, karbor, octavia, storlets, tricircle, zun, Cyborg, ec2-api, Masakari, Qinling, monasca-events- api, colocación (44 servicios) |
Tren | 16 de octubre de 2019 [61] | Nova, Vistazo, Swift, Horizonte, Keystone, Neutrón, Ceniza, Calor, Ceilómetro, Trove, Sahara, Irónico, Zaqar, Manila, Designate, Barbican, Searchlight, Magnum, aodh, cloudkitty, congreso, congelador, mistral, monasca-api, monasca-log-api, murano, panko, senlin, solum, tacker, vitrage, Watcher, blazar, ceilometer-powervm, karbor, octavia, storlets, tricircle, zun, Cyborg, ec2-api, Masakari, Qinling, monasca-events- api, colocación (44 servicios) |
Ussuri | 13 de mayo de 2020 [62] | Nova, Vistazo, Swift, Horizonte, Keystone, Neutrón, Ceniza, Calor, Ceilómetro, Trove, Sahara, Irónico, Zaqar, Manila, Designate, Barbican, Searchlight, Magnum, aodh, cloudkitty, congreso, congelador, mistral, monasca-api, murano, panko, senlin, solum, tacker, vitrage, Watcher, blazar, karbor, octavia, storlets, tricircle, zun, Cyborg, ec2-api, Masakari, Qinling, monasca-events-api, colocación, ayudante (44 servicios) |
Victoria | 14 de octubre de 2020 [63] | Ayudante, Aodh, Barbican, Blazar, Ceilometer, Cinder, Cloudkitty, Cyborg, Designar, Ec2-api, Congelador, Vistazo, Calor, Horizonte, Irónico, Karbor, Keystone, Magnum, Manila, Masakari, Mistral, Monasca-api, Monasca- eventos-api, Murano, Neutron, Nova, Octavia, Panko, Colocación, Qinling, Sahara, Searchlight, Senlin, Solum, Storlets, Swift, Tacker, Trove, Vitrage, Watcher, Zaqar, Zun (42 servicios) |
Ualabí | 14 de abril de 2021 [64] | Ayudante, Aodh, Barbican, Blazar, Ceilometer, Cinder, Cloudkitty, Cyborg, Designate, Ec2-api, Freezer, Glance, Heat, Horizon, Ironic, Keystone, Magnum, Manila, Masakari, Mistral, Monasca-api, Monasca-events- api, Murano, Neutron, Nova, Octavia, Panko, Placement, Sahara, Senlin, Solum, Storlets, Swift, Tacker, Trove, Vitrage, Watcher, Zaqar, Zun (39 servicios) |
Xena | 6 de octubre de 2021 [65] | Ayudante, Aodh, Barbican, Blazar, Ceilometer, Cinder, Cloudkitty, Cyborg, Designate, Ec2-api, Freezer, Glance, Heat, Horizon, Ironic, Keystone, Magnum, Manila, Masakari, Mistral, Monasca-api, Monasca-events- api, Murano, Neutron, Nova, Octavia, Placement, Sahara, Senlin, Solum, Storlets, Swift, Tacker, Trove, Vitrage, Watcher, Zaqar, Zun (38 servicios) |
Yoga | 30 de marzo de 2022 [66] | Ayudante, Aodh, Barbican, Blazar, Ceilometer, Cinder, Cloudkitty, Cyborg, Designate, Ec2-api, Freezer, Glance, Heat, Horizon, Ironic, Keystone, Magnum, Manila, Masakari, Mistral, Monasca-api, Monasca-events- api, Murano, Neutron, Nova, Octavia, Placement, Sahara, Senlin, Solum, Storlets, Swift, Tacker, Trove, Vitrage, Watcher, Zaqar, Zun (38 servicios) |
Zed | 5 de octubre de 2022 | Ayudante, Aodh, Barbican, Blazar, Ceilometer, Cinder, Cloudkitty, Cyborg, Designate, Ec2-api, Freezer, Glance, Heat, Horizon, Ironic, Keystone, Magnum, Manila, Masakari, Mistral, Monasca-api, Monasca-events- api, Murano, Neutron, Nova, Octavia, Colocación, Sahara, Senlin, Skyline-apiserver, Skyline-console, Solum, Storlets, Swift, Tacker, Trove, Venus, Vitrage, Watcher, Zaqar, Zun (41 servicios) |
2023.1 Antílope | 22 de marzo de 2023 | Ayudante, Aodh, Barbican, Blazar, Ceilometer, Cinder, Cloudkitty, Cyborg, Designate, Ec2-api, Freezer, Glance, Heat, Horizon, Ironic, Keystone, Magnum, Manila, Masakari, Mistral, Monasca-api, Monasca-events- api, Murano, Neutron, Nova, Octavia, Colocación, Sahara, Senlin, Skyline-apiserver, Skyline-console, Solum, Storlets, Swift, Tacker, Trove, Venus, Vitrage, Watcher, Zaqar, Zun (41 servicios) |
Lince montés 2023.2 | 4 de octubre de 2023 | Ayudante, Aodh, Barbican, Blazar, Ceilometer, Cinder, Cloudkitty, Cyborg, Designate, Ec2-api, Freezer, Glance, Heat, Horizon, Ironic, Keystone, Magnum, Manila, Masakari, Mistral, Monasca-api, Monasca-events- api, Murano, Neutron, Nova, Octavia, Colocación, Sahara, Senlin, Skyline-apiserver, Skyline-console, Solum, Storlets, Swift, Tacker, Trove, Venus, Vitrage, Watcher, Zaqar, Zun (41 servicios) |
2024.1 Caracal | 3 de abril de 2024 | Ayudante, Aodh, Barbican, Blazar, Ceilómetro, Cinder, Cloudkitty, Cyborg, Designate, Glance, Heat, Horizon, Ironic, Keystone, Magnum, Manila, Masakari, Mistral, Neutron, Nova, Octavia, Placement, Skyline-apiserver, Skyline-console, Storlets, Swift, Tacker, Trove, Venus, Vitrage, Watcher, Zaqar, Zun (33 servicios) |
La comunidad OpenStack colabora en torno a un ciclo de lanzamiento de seis meses basado en el tiempo, con hitos de desarrollo frecuentes. [67]
Durante la fase de planificación de cada lanzamiento, la comunidad se reuniría en una Cumbre de diseño de OpenStack para facilitar las sesiones de trabajo de los desarrolladores y armar planes. [68] Estas Cumbres de diseño coincidirían con la conferencia OpenStack Summit.
A partir del ciclo de desarrollo de Pike, la actividad de reuniones de diseño se ha separado en un evento independiente, Project Teams Gathering (PTG). [69] Esto se hizo para evitar las distracciones de los desarrolladores causadas por las presentaciones y reuniones con clientes que se llevaban a cabo en la OpenStack Summit y para permitir que las discusiones de diseño se llevaran a cabo antes del inicio del siguiente ciclo.
Las recientes cumbres OpenStack tuvieron lugar en Shanghái del 4 al 6 de noviembre de 2019, [70] Denver del 29 de abril al 1 de mayo de 2019, [71] Berlín del 13 al 19 de noviembre de 2018, [72 ] Vancouver del 21 al 25 de mayo de 2018, [73] Sídney del 6 al 8 de noviembre de 2017, [74] Boston del 8 al 11 de mayo de 2017, [75] Austin del 25 al 29 de abril de 2016, [76] y Barcelona del 25 al 28 de octubre de 2016. [77] Las cumbres OpenStack anteriores también tuvieron lugar en Tokio en octubre de 2015, [78] Vancouver en mayo de 2015, [79] y París en noviembre de 2014. [80] La cumbre de mayo de 2014 en Atlanta atrajo a 4.500 asistentes, un aumento del 50% con respecto a la de Hong Kong. Cumbre de Kong seis meses antes. [81] [82]
Este artículo contiene instrucciones, consejos o contenido instructivo . ( Febrero de 2022 ) |
OpenStack tiene una arquitectura modular con varios nombres de código para sus componentes. [40]
Nova es el proyecto OpenStack que ofrece una forma de aprovisionar instancias de cómputo como máquinas virtuales, servidores de hardware reales (mediante el uso de ironic) y tiene soporte limitado para contenedores de sistema. Nova se ejecuta como un conjunto de demonios sobre servidores Linux existentes para brindar ese servicio. [83] [84]
Nova está escrito en Python . Utiliza muchas bibliotecas externas de Python, como Eventlet (biblioteca de redes concurrentes), Kombu ( marco de mensajería AMQP ) y SQLAlchemy (kit de herramientas SQL y Object Relational Mapper). [85] Nova está diseñado para ser escalable horizontalmente . En lugar de cambiar a servidores más grandes, se adquieren más servidores y simplemente se instalan servicios configurados de manera idéntica. [86]
Debido a su amplia integración en infraestructuras de nivel empresarial, la monitorización del rendimiento de OpenStack en general y del rendimiento de Nova en particular, hizo que la escalabilidad se convirtiera en un tema cada vez más importante. La monitorización del rendimiento de extremo a extremo requiere el seguimiento de métricas de Nova, Keystone, Neutron, Cinder, Swift y otros servicios, además de la monitorización de RabbitMQ , que es utilizado por los servicios de OpenStack para el paso de mensajes. [87] [88] Todos estos servicios generan sus propios archivos de registro, que, especialmente en infraestructuras de nivel empresarial, también deben ser monitorizados. [89]
Neutron es un proyecto OpenStack que ofrece "conectividad de red como servicio" entre dispositivos de interfaz (por ejemplo, vNIC) gestionados por otros servicios OpenStack (por ejemplo, nova). Implementa la API de redes OpenStack. [90]
Gestiona todas las facetas de red de la infraestructura de red virtual (VNI) y los aspectos de la capa de acceso de la infraestructura de red física (PNI) en el entorno OpenStack. OpenStack Networking permite que los proyectos creen topologías de red virtual avanzadas que pueden incluir servicios como un cortafuegos y una red privada virtual (VPN). [90]
Neutron permite direcciones IP estáticas dedicadas o DHCP . También permite direcciones IP flotantes para que el tráfico se redirija de forma dinámica.
Los usuarios pueden utilizar tecnologías de redes definidas por software (SDN) como OpenFlow para admitir la multiusuaria y la escalabilidad. Las redes OpenStack pueden implementar y administrar servicios de red adicionales, como sistemas de detección de intrusiones (IDS), equilibrio de carga , firewalls y redes privadas virtuales (VPN). [91]
Cinder es el servicio de almacenamiento en bloque de OpenStack que proporciona volúmenes a máquinas virtuales Nova, hosts de hardware de Ironic, contenedores y más. Algunos de los objetivos de Cinder son:
Los volúmenes de Cinder proporcionan almacenamiento persistente a las máquinas virtuales invitadas, conocidas como instancias, que son administradas por el software OpenStack Compute. Cinder también se puede utilizar independientemente de otros servicios de OpenStack como almacenamiento independiente definido por software. El sistema de almacenamiento en bloques administra la creación, replicación, administración de instantáneas, conexión y desconexión de los dispositivos de bloques a los servidores. [93]
Keystone es un servicio OpenStack que proporciona autenticación de clientes API, descubrimiento de servicios y autorización distribuida de múltiples inquilinos mediante la implementación de la API de identidad de OpenStack. [94] Es el sistema de autenticación común en todo el sistema operativo en la nube. Keystone puede integrarse con servicios de directorio como LDAP . Admite credenciales de nombre de usuario y contraseña estándar, sistemas basados en tokens e inicios de sesión de estilo AWS (es decir, Amazon Web Services ). El catálogo de servicios Keystone de OpenStack permite a los clientes API descubrir y navegar dinámicamente hacia los servicios en la nube. [95] [96]
El proyecto de servicio de imágenes (glance) ofrece un servicio en el que los usuarios pueden cargar y descubrir recursos de datos que se pueden utilizar con otros servicios. Actualmente, esto incluye imágenes y definiciones de metadatos. [97]
Los servicios de imágenes de Glance incluyen la detección, el registro y la recuperación de imágenes de máquinas virtuales (VM). Glance tiene una API RESTful que permite consultar metadatos de imágenes de VM, así como la recuperación de la imagen real. Las imágenes de VM disponibles a través de Glance se pueden almacenar en una variedad de ubicaciones, desde sistemas de archivos simples hasta sistemas de almacenamiento de objetos como el proyecto OpenStack Swift. [97]
Glance aloja un catálogo de metadefiniciones. Esto proporciona a la comunidad OpenStack una forma de determinar mediante programación varios nombres de claves de metadatos y valores válidos que se pueden aplicar a los recursos de OpenStack. [97]
Swift es un almacén de objetos y blobs distribuido y eventualmente consistente. El proyecto OpenStack Object Store, conocido como Swift, ofrece software de almacenamiento en la nube para que puedas almacenar y recuperar una gran cantidad de datos con una API simple. Está diseñado para escalar y optimizado para la durabilidad, disponibilidad y concurrencia en todo el conjunto de datos. Swift es ideal para almacenar datos no estructurados que pueden crecer sin límites. [98]
En agosto de 2009, Rackspace comenzó a desarrollar el precursor de OpenStack Object Storage, como reemplazo completo del producto Cloud Files . El equipo de desarrollo inicial estaba formado por nueve desarrolladores. [99] SwiftStack, una empresa de software de almacenamiento de objetos, es actualmente el desarrollador líder de Swift con importantes contribuciones de Intel , Red Hat , NTT , HP , IBM y más. [100]
Horizon es la implementación canónica del Dashboard de OpenStack, que proporciona una interfaz de usuario basada en web para los servicios de OpenStack, incluidos Nova, Swift, Keystone, etc. [101] Horizon se entrega con tres dashboards centrales, un "User Dashboard", un "System Dashboard" y un dashboard de "Settings". Entre estos tres, cubren las aplicaciones principales de OpenStack y brindan soporte para el núcleo. La aplicación Horizon también se entrega con un conjunto de abstracciones de API para los proyectos principales de OpenStack con el fin de proporcionar un conjunto consistente y estable de métodos reutilizables para los desarrolladores. Al usar estas abstracciones, los desarrolladores que trabajan en Horizon no necesitan estar familiarizados íntimamente con las API de cada proyecto de OpenStack. [102]
Heat es un servicio para orquestar múltiples aplicaciones de nube compuestas utilizando plantillas, a través de una API REST nativa de OpenStack y una API de consulta compatible con CloudFormation. [103]
Mistral es un servicio que administra flujos de trabajo. El usuario normalmente escribe un flujo de trabajo utilizando un lenguaje de flujo de trabajo basado en YAML y carga la definición del flujo de trabajo en Mistral a través de su API REST. Luego, el usuario puede iniciar este flujo de trabajo manualmente a través de la misma API o configurar un disparador para iniciar el flujo de trabajo en algún evento. [104]
OpenStack Telemetry (Ceilometer) ofrece un único punto de contacto para los sistemas de facturación, ya que proporciona todos los contadores que necesitan para establecer la facturación de los clientes en todos los componentes actuales y futuros de OpenStack. La entrega de contadores es rastreable y auditable, los contadores deben poder ampliarse fácilmente para respaldar nuevos proyectos y los agentes que realizan la recopilación de datos deben ser independientes del sistema general.
Trove es una base de datos como servicio que proporciona un motor de base de datos relacional y no relacional . [105]
Sahara es un componente que permite aprovisionar clústeres Hadoop de forma fácil y rápida . Los usuarios especificarán varios parámetros como el número de versión de Hadoop, el tipo de topología del clúster, detalles de la configuración de los nodos (que definen el espacio en disco, la CPU y la configuración de RAM), entre otros. Una vez que el usuario proporciona todos los parámetros, Sahara implementa el clúster en unos minutos. Sahara también proporciona medios para escalar un clúster Hadoop preexistente agregando y eliminando nodos de trabajo a pedido. [106] [107]
Ironic es un proyecto OpenStack que aprovisiona máquinas físicas en lugar de máquinas virtuales. Inicialmente se bifurcó del controlador Nova Baremetal y ha evolucionado hasta convertirse en un proyecto independiente. Lo mejor es pensar en él como una API de hipervisor físico y un conjunto de complementos que interactúan con las máquinas físicas administradas por Ironic. De forma predeterminada, utilizará PXE e IPMI o Redfish [108] en conjunto para aprovisionar y administrar máquinas físicas, pero Ironic admite y se puede ampliar con complementos específicos del proveedor para implementar funciones adicionales. [109] [110]
Desde el inicio de Ironic, ha generado varios subproyectos [111] para ayudar a respaldar casos de uso y capacidades adicionales. Algunos de los proyectos más utilizados son Ironic-Inspector, Bifrost, Sushy y networking-generic-switch. Ironic-inspector proporciona recopilación de información de hardware y descubrimiento de hardware. [112] Bifrost se centra en el caso de uso de funcionamiento sin otros componentes de OpenStack, [113] y se destaca en el sitio web ironicbaremetal.org. Sushy es una biblioteca de cliente API de Redfish liviana. [114] Networking-generic-switch es un complemento que admite la gestión de la configuración del puerto de conmutación para máquinas de hardware. [115]
Zaqar es un servicio de mensajería en la nube multiusuario para desarrolladores web. El servicio cuenta con una API completamente RESTful, que los desarrolladores pueden usar para enviar mensajes entre varios componentes de sus aplicaciones móviles y SaaS mediante una variedad de patrones de comunicación. Detrás de esta API hay un motor de mensajería eficiente diseñado teniendo en cuenta la escalabilidad y la seguridad. Otros componentes de OpenStack pueden integrarse con Zaqar para mostrar eventos a los usuarios finales y comunicarse con agentes invitados que se ejecutan en la capa "sobre la nube".
OpenStack Shared File System (Manila) ofrece una API abierta para gestionar recursos compartidos en un marco independiente del proveedor. Las primitivas estándar incluyen la capacidad de crear, eliminar y otorgar/denegar acceso a un recurso compartido y se pueden utilizar de forma independiente o en una variedad de entornos de red diferentes. Se admiten dispositivos de almacenamiento comerciales de EMC, NetApp, HP, IBM, Oracle, Quobyte, INFINIDAT y Hitachi Data Systems, así como tecnologías de sistemas de archivos como Red Hat GlusterFS [116] o Ceph.
Designate es una API REST multiusuario para administrar DNS. Este componente proporciona DNS como servicio y es compatible con muchas tecnologías de backend, incluidas PowerDNS y BIND. No proporciona un servicio DNS como tal, ya que su propósito es interactuar con servidores DNS existentes para administrar zonas DNS por usuario. [117]
El proyecto ya no se mantiene activamente.
Searchlight ofrece capacidades de búsqueda avanzadas y consistentes en varios servicios en la nube de OpenStack. Esto se logra descargando consultas de búsqueda de usuarios de otros servidores API de OpenStack mediante la indexación de sus datos en Elasticsearch . [118] Searchlight se está integrando en Horizon [119] y también proporciona una interfaz de línea de comandos . [120]
Barbican es una API REST diseñada para el almacenamiento, aprovisionamiento y gestión seguros de secretos. Su objetivo es ser útil para todos los entornos, incluidas las grandes nubes efímeras. [121]
Magnum es un servicio API de OpenStack desarrollado por el equipo de contenedores de OpenStack que pone a disposición motores de orquestación de contenedores como Docker Swarm, Kubernetes y Apache Mesos como recursos de primera clase en OpenStack. Magnum utiliza Heat para orquestar una imagen del sistema operativo que contiene Docker y Kubernetes y ejecuta esa imagen en máquinas virtuales o en hardware físico en una configuración de clúster. [122]
Vitrage es el servicio RCA (análisis de causa raíz) de OpenStack para organizar, analizar y expandir alarmas y eventos de OpenStack, generando información sobre la causa raíz de los problemas y deduciendo su existencia antes de que se detecten directamente. [123]
Este servicio de alarma permite activar acciones basadas en reglas definidas a partir de datos métricos o de eventos recopilados por Ceilometer o Gnocchi. [124]
OpenStack no busca compatibilidad con las API de otras nubes. [125] Sin embargo, existe cierto grado de compatibilidad impulsada por varios miembros de la comunidad OpenStack para quienes estas cosas son importantes.
OpenStack está gobernado por la fundación OpenInfra y su junta directiva. La junta directiva está formada por patrocinadores Platinum, miembros de los patrocinadores Gold y miembros elegidos por los miembros individuales de la Fundación. [128] El Comité Técnico de OpenStack es el órgano rector del proyecto de código abierto OpenStack. Es un grupo elegido que representa a los contribuyentes al proyecto y supervisa todos los asuntos técnicos. Esto incluye a los desarrolladores, operadores y usuarios finales del software.
Un dispositivo OpenStack [129] es el nombre que se le da al software que puede soportar la plataforma de computación en la nube OpenStack en dispositivos físicos como servidores o máquinas virtuales o una combinación de ambos. Normalmente, un dispositivo de software [130] es un conjunto de capacidades de software que pueden funcionar sin un sistema operativo. Por lo tanto, deben contener suficientes componentes esenciales del sistema operativo subyacente para funcionar. Por lo tanto, una definición estricta podría ser: una aplicación que está diseñada para ofrecer la capacidad OpenStack sin la necesidad de un sistema operativo subyacente. Sin embargo, aplicar esta definición estricta puede no ser útil, ya que realmente no hay una distinción clara entre un dispositivo y una distribución . [131] Se podría argumentar que el término dispositivo es algo así como un nombre inapropiado porque OpenStack en sí mismo se conoce como un sistema operativo en la nube [132], por lo que usar el término dispositivo OpenStack podría ser un nombre inapropiado si uno está siendo pedante.
Si analizamos la gama de dispositivos y distribuciones, se podría distinguir que las distribuciones son aquellos conjuntos de herramientas que intentan proporcionar una amplia cobertura del alcance del proyecto OpenStack, mientras que un dispositivo tendrá un enfoque más limitado, concentrándose en menos proyectos. Los proveedores han estado muy involucrados en OpenStack desde su inicio y desde entonces han desarrollado y comercializado una amplia gama de dispositivos, aplicaciones y distribuciones.
Un gran número de proveedores ofrecen soluciones OpenStack, lo que significa que una organización que desee implementar la tecnología tiene una tarea compleja a la hora de seleccionar la oferta del proveedor que mejor se adapte a sus requisitos comerciales. [133] Barb Darrow ofreció esta descripción general en Fortune el 27 de mayo de 2015, [134] señalando que puede haber cierta consolidación en el mercado que aclarará esas decisiones.
Existen otros aspectos que los usuarios deben tener en cuenta, por ejemplo, los costos reales involucrados. [135] Algunos proveedores harán una oferta que abarque la mayoría de los proyectos OpenStack; otros sólo ofrecerán ciertos componentes. Otras consideraciones incluyen el grado de código propietario utilizado para gestionar la falta de madurez en un componente OpenStack y en qué medida eso fomenta la dependencia del proveedor. [136] [137]
La información más fiable sobre los productos de los proveedores se encuentra en el sitio web de la Open Infrastructure Foundation. [138]
OpenStack es una entidad compleja y quienes adoptan esta tecnología se enfrentan a una serie de desafíos cuando intentan implementarla en una organización. Para muchas organizaciones que intentan implementar sus propios proyectos, un problema clave es la falta de habilidades disponibles. [139] En un artículo en The New Stack , Atul Jha identifica cinco desafíos que enfrentará cualquier organización que desee implementar OpenStack. [140]
OpenStack es un conjunto de proyectos, no un único producto, y como cada una de las distintas aplicaciones debe configurarse para adaptarse a los requisitos del usuario, la instalación es compleja y requiere una serie de habilidades complementarias [141] para una configuración óptima. Una solución obvia sería utilizar un paquete completo suministrado por el proveedor que contenga hardware y software, aunque es esencial realizar la debida diligencia. [142]
Esto es más una función de la naturaleza de la documentación con productos de código abierto que de OpenStack en sí, pero con más de 25 proyectos, gestionar la calidad de los documentos siempre será un desafío. [143]
Uno de los principales objetivos de utilizar infraestructura de tipo nube es ofrecer a los usuarios no sólo alta confiabilidad sino también alta disponibilidad, [144] algo que los proveedores de nube pública ofrecerán en los acuerdos de nivel de servicio . [145]
Debido al enfoque de desarrollo de múltiples proyectos de OpenStack, la complejidad involucrada en la sincronización de los diferentes proyectos durante una actualización puede significar que el tiempo de inactividad sea inevitable . [146]
Es bastante común que una empresa siga utilizando una versión anterior de software durante algún tiempo después de haberla actualizado. Las razones para ello son bastante obvias y se mencionaron anteriormente. Sin embargo, hay pocos incentivos para que los desarrolladores de un proyecto de código abierto brinden soporte para el código reemplazado. Además, el propio OpenStack ha dejado de brindar soporte formal para algunas versiones antiguas. [147]
Considerando los desafíos mencionados anteriormente, la ruta más apropiada para una organización que desee implementar OpenStack sería recurrir a un proveedor y obtener un dispositivo o distribución de OpenStack.
A medida que el proyecto OpenStack ha madurado, los proveedores han sido pioneros en múltiples formas para que los clientes implementen OpenStack:
{{cite web}}
: Falta o está vacío |url=
( ayuda )Oracle OpenStack para Oracle Linux, u O3L, ya está disponible y permite a los clientes controlar tanto Oracle Linux como Oracle VM mediante OpenStack. Sin embargo, también viene acompañado del anuncio de un acuerdo de "cooperación y soporte mutuos" con Canonical, que se considera un ataque directo a Red Hat.