La plataforma tecnológica OpenStack se define como un software libre y de código abierto que se utiliza para trabajar en Cloud Computing o computación en la nube y que proporciona una Infraestructura como servicio (IaaS) mediante un grupo de servicios interrelacionados entre sí.
Esta herramienta open source también se encarga de utilizar determinados recursos virtuales que se encuentran agrupados, con el objetivo de controlar y diseñar nubes públicas y privadas. Cabe destacar que OpenStack es una plataforma que incluye varios componentes o proyectos modulares; es decir, se puede escoger si instalarlos o no (tanto de manera conjunta como independiente, de acuerdo con la distribución elegida por el cliente) y cumplen una determinada función. El usuario también cuenta con la posibilidad de agrupar hasta doce de estos proyectos opcionales con el fin de desarrollar nubes únicas que puedan implementarse.
Características de OpenStack
Una de las principales características de OpenStack es su proyecto abierto, que se distribuye bajo la Licencia Apache en su versión 2.0, lo que le evita tener que redistribuir su código fuente al momento de realizar modificaciones o cambios en el mismo.
Los permisos de esta licencia están respaldados por la llamada comunidad OpenStack, quienes pueden dar sus opiniones y contribuir; así por ejemplo, el proceso de diseño de las nuevas funcionalidades se realiza a través de los launchpad blueprints, que son presentados en los encuentros, o Summit, que se hacen cada semestre en diferentes ciudades.
En lo que respecta a sus proyectos o componentes, se puede asegurar que OpenStack necesita de dos softwares adicionales que deben trabajar en conjunto para poder crearlos, siendo estos la virtualización y un sistema operativo base. En el caso de la virtualización, esta se encarga de crear una capa de recursos virtuales que son extraídos del hardware; mientras que el sistema operativo base permite ejecutar los comandos que provengan de los scripts que conforman los proyectos de la plataforma.
🔴 ¿Quieres entrar de lleno al mundo DevOps & Cloud Computing? 🔴
Descubre el DevOps & Cloud Computing Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada
👉 Prueba gratis el Bootcamp en DevOps & Cloud Computing por una semanaOtra de las características de OpenStack es que se desarrolla bajo la metodología de pago por uso, sin importar si se trata de una nube pública o una nube privada, es decir, el cliente solo tendrá que pagar por el servicio elegido y el tiempo que lo utilice, evitando costes adicionales por cargos fijos para recursos no usados. Del mismo modo, el pago por uso contribuye a la escalabilidad de la plataforma, debido a que permite que el usuario aumente o disminuya la cantidad de un determinado recurso dependiendo de las necesidades que tenga la compañía.
Componentes de OpenStack
OpenStack está compuesto por un conjunto de aplicaciones o componentes que pueden ser combinados o no, dependiendo de las necesidades y requerimientos del cliente. Los también llamados proyectos de OpenStack son utilizados para establecer el undercloud y overcloud de la plataforma. El undercloud hace referencia a la nube de implementación que se encarga de almacenar los elementos que se necesitan para gestionar e implementar una overcloud para los usuarios finales, es decir, la nube de carga de trabajo o nube implementada.
De manera que OpenStack cuenta con una serie de componentes principales que cumplen la función de construir la infraestructura que se utilizará para permitirle a los demás proyectos administrar paneles, aprovisionar equipos, mensajería, coordinación, gobernabilidad, entre otros. Dentro de estos servicios se pueden encontrar:
Nova
Nova es la herramienta y proyecto de OpenStack que se encarga de ofrecer una forma de aprovisionar instancias informáticas como los servidores virtuales, permitiendo también la creación de máquinas virtuales, servidores de tipo bare metal, así como la gestión, planificación, desarrollo y eliminación de recursos informáticos dentro de la plataforma.
Horizon
Este componente es la interfaz gráfica que se encarga de la implementación del dashboard de la plataforma, así como de gestionar el acceso, provisiones y administración de entornos en OpenStack.
Neutron
El proyecto de OpenStack Neutron se encarga de proporcionar conectividad de red como servicio a la plataforma, entre dispositivos de interfaz administrados por otros servicios. Este módulo cumple la función de gestionar todo lo relacionado con las redes de esta herramienta.
Keystone
El también llamado servicio de identidad de la plataforma proporciona la autenticación de cliente de la Interfaz de Programación de Aplicaciones API. Este componente también se encarga de la autorización de los servicios de OpenStack y funciona como el catálogo de extremo de todos estos servicios.
Glance
El componente Glance es conocido por ser el proyecto de servicio de imágenes de la plataforma y permitirle a los usuarios cargar y descubrir data assets destinados para su uso con otros servicios. Además, puede almacenar y recuperar imágenes del disco de la máquina virtual desde diferentes ubicaciones.
Cinder
Cinder es el servicio de almacenamiento en bloque de la plataforma que cumple la función de ofrecer volúmenes a máquinas virtuales de Nova, así como a los Ironic bare metal hosts o contenedores, entre otros. Es posible acceder a este componente mediante el uso de una API de autoservicio.
Swift
Ofrece un servicio de almacenamiento de objetos y tiene una alta tolerancia a los fallos, permitiendo que el cliente recupere objetos de datos no estructurados usando una API RESTful.
¿Cuál es el siguiente paso?
Ahora que ya conoces qué es la plataforma tecnológica OpenStack, cuáles son sus características más importantes y en qué consisten sus componentes, no dudes en continuar tu proceso formativo a través del DevOps & Cloud Computing Full Stack Bootcamp, donde en menos de 6 meses dominarás esta y otras herramientas de la computación en la nube.