OpenStack es un conjunto de herramientas de software para construir y gestionar plataformas de computación en nube para nubes públicas y privadas.
[scriptless]
Respaldado por algunas de las mayores empresas de desarrollo de software y alojamiento, así como por miles de miembros individuales de la comunidad, muchos piensan que OpenStack es el futuro de la computación en nube.
OpenStack está gestionado por la Fundación OpenStack, una organización sin ánimo de lucro que supervisa tanto el desarrollo como la creación de la comunidad en torno al proyecto.
[lwptoc min=»1″ backgroundColor=»»]
Introducción a OpenStack
OpenStack permite a los usuarios desplegar máquinas virtuales y otras instancias que se encargan de diferentes tareas para gestionar un entorno de nube sobre la marcha.
Facilita el escalado horizontal, lo que significa que las tareas que se benefician de la ejecución concurrente pueden servir fácilmente a más o menos usuarios sobre la marcha con sólo poner en marcha más instancias.
Por ejemplo, una aplicación móvil que necesita comunicarse con un servidor remoto podría dividir el trabajo de comunicación con cada usuario entre muchas instancias diferentes, todas ellas comunicándose entre sí pero escalando rápida y fácilmente a medida que la aplicación gana más usuarios.
Y lo que es más importante, OpenStack es un software de código abierto, lo que significa que cualquiera que lo desee puede acceder al código fuente, realizar cualquier cambio o modificación que necesite y compartir libremente estos cambios con la comunidad en general. También significa que OpenStack tiene el beneficio de miles de desarrolladores en todo el mundo que trabajan en conjunto para desarrollar el producto más fuerte, más robusto y más seguro que puedan.
¿Cómo se utiliza OpenStack en un entorno de nube?
La nube consiste en proporcionar computación a los usuarios finales en un entorno remoto, donde el software real se ejecuta como un servicio en servidores fiables y escalables en lugar de en el ordenador de cada usuario final.
La computación en nube puede referirse a muchas cosas diferentes, pero normalmente el sector habla de ejecutar diferentes elementos «como servicio»: software, plataformas e infraestructura. OpenStack entra en esta última categoría y se considera Infraestructura como Servicio (IaaS).
Proporcionar infraestructura significa que OpenStack facilita a los usuarios la adición rápida de nuevas instancias, sobre las que pueden ejecutarse otros componentes de la nube. Normalmente, la infraestructura ejecuta una «plataforma» sobre la que un desarrollador puede crear aplicaciones de software que se entregan a los usuarios finales.
¿Cuáles son los componentes de OpenStack?
OpenStack se compone de muchas partes móviles diferentes. Debido a su naturaleza abierta, cualquiera puede añadir componentes adicionales a OpenStack para ayudarle a satisfacer sus necesidades.
Pero la comunidad de OpenStack ha identificado en colaboración nueve componentes clave que forman parte del «núcleo» de OpenStack, que se distribuyen como parte de cualquier sistema OpenStack y son mantenidos oficialmente por la comunidad de OpenStack.
- Nova es el principal motor informático de OpenStack. Se utiliza para desplegar y gestionar un gran número de máquinas virtuales y otras instancias para manejar las tareas de computación.
- Swift es un sistema de almacenamiento de objetos y archivos. En lugar de la idea tradicional de referirse a los archivos por su ubicación en una unidad de disco, los desarrolladores pueden referirse a un identificador único que hace referencia al archivo o pieza de información y dejar que OpenStack decida dónde almacenar esta información. Esto facilita el escalado, ya que los desarrolladores no tienen que preocuparse por la capacidad de un único sistema detrás del software. También permite que sea el sistema, y no el desarrollador, el que se preocupe por la mejor manera de garantizar que los datos tengan una copia de seguridad en caso de que falle una máquina o una conexión de red.
- Cinder es un componente de almacenamiento por bloques, que es más análogo a la noción tradicional de que un ordenador puede acceder a ubicaciones específicas en una unidad de disco. Esta forma más tradicional de acceder a los archivos puede ser importante en escenarios en los que la velocidad de acceso a los datos es la consideración más importante.
- Neutron proporciona la capacidad de red para OpenStack. Ayuda a garantizar que cada uno de los componentes de una implementación de OpenStack pueda comunicarse entre sí de forma rápida y eficiente.
- Horizon es el panel de control de OpenStack. Es la única interfaz gráfica de OpenStack, por lo que para los usuarios que quieran probar OpenStack, este puede ser el primer componente que realmente «vean». Los desarrolladores pueden acceder a todos los componentes de OpenStack individualmente a través de una interfaz de programación de aplicaciones (API), pero el panel de control proporciona a los administradores de sistemas una visión de lo que está sucediendo en la nube, y para gestionarlo según sea necesario.
- Keystone proporciona servicios de identidad para OpenStack. Es esencialmente una lista central de todos los usuarios de la nube OpenStack, mapeada contra todos los servicios proporcionados por la nube, que tienen permiso para usar. Proporciona múltiples medios de acceso, lo que significa que los desarrolladores pueden mapear fácilmente sus métodos de acceso de usuarios existentes contra Keystone.
- Glance proporciona servicios de imagen a OpenStack. En este caso, «imágenes» se refiere a imágenes (o copias virtuales) de discos duros. Glance permite utilizar estas imágenes como plantillas al desplegar nuevas instancias de máquinas virtuales.
- Ceilometer proporciona servicios de telemetría, que permiten a la nube proporcionar servicios de facturación a los usuarios individuales de la misma. También mantiene un recuento verificable del uso del sistema de cada usuario de cada uno de los diversos componentes de una nube OpenStack. Piensa en la medición y los informes de uso.
- Heat es el componente de orquestación de OpenStack, que permite a los desarrolladores almacenar los requisitos de una aplicación en la nube en un archivo que define qué recursos son necesarios para esa aplicación. De este modo, ayuda a gestionar la infraestructura necesaria para que un servicio en la nube funcione.
¿Para quién es OpenStack?
Puede que usted sea un usuario de OpenStack ahora mismo y ni siquiera lo sepa. A medida que más y más empresas comienzan a adoptar OpenStack como parte de su conjunto de herramientas de la nube, el universo de aplicaciones que se ejecutan en un backend de OpenStack es cada vez más amplio.
[scriptless]