¿Qué es OpenStack?

¿Qué es OpenStack?

Si usted no ha estado durmiendo bajo una enorme roca en los últimos años, probablemente haya oído hablar de virtualización y Cloud Computing. Y es probable que hayas oído hablar de OpenStack. Un framework gratuito y de código abierto para desplegar nubes como IaaS de cualquier tamaño: grande, pequeño, medio, privado y no. Este artículo es una introducción a OpenStack para principiantes. Sin embargo, como tal, es un argumento bastante complicado para las personas que no han entendido lo que son la virtualización, la agrupación y la escalabilidad. Así que si no sabes lo que son, mejor ir a aprender ahora!

Un poco de historia

En los primeros años de cloud computing, la mayoría de las nubes en el cielo eran propietarias y no permitían mucha flexibilidad. Hoy no ha cambiado mucho, muchas nubes se han desarrollado y cada una de ellas sigue su conjunto de reglas. Microsoft tiene Azure, Amazon tiene Servicios Web, Google tiene Google Cloud Computing. Sin embargo, todos hablan diferentes idiomas, en el punto que el cliente tendrá dificultades para migrar de una nube a otra. Este es el llamado bloqueo del proveedor. Afortunadamente para nosotros, hoy tenemos OpenStack.

Entonces, ¿qué es OpenStack?

En el primer párrafo lo llamé marco, sin embargo hay muchas definiciones como: conjunto de herramientas o incluso Sistema Operativo. OpenStack cae en cada categoría sin embargo no encaja completamente, por lo que es y no es cada uno de ellos. OpenStack COO Mark Collier, dice que OpenStack es un motor de integración. Vamos a decirlo de esta manera: OpenStack necesita un sistema operativo subyacente: Ubuntu, RHEL, CentOS, SUSE, Fedora, Debian o lo que sea. Es un marco, ya que también es extensible. Pero también proporciona muchas herramientas, incluyendo una Interfaz Web, una interfaz CLI (perdón de la repetición) y una interfaz REST. Por lo tanto, sí, es cada uno y ninguno de ellos. OpenStack también es modular: se compone de muchos componentes que se pueden desplegar de manera singular o conjunta, y eso es lo que vamos a ver en el próximo párrafo.

Módulos OpenStack

Como dijimos OpenStack se compone de muchos módulos que pueden funcionar solos o juntos. Cada módulo cubre un área diferente y es bueno para hacer sólo una cosa.

Nova [compute]

Nova es el principal componente de OpenStack, es responsable de gestionar VMs y puede utilizar diferentes hipervisores incluyendo KVM, XEN, VMware e incluso Hyper-V o Docker (experimental)! (Puede encontrar una lista completa de hipervisores compatibles aunque sea un poco desordenado).

Swift & Cinder [almacenamiento]

Swift y Cinder son dos módulos separados, sin embargo sirven el mismo propósito: almacenamiento. Cinder proporciona almacenamiento en bloque, mientras que Swift proporciona almacenamiento de objetos.

Neutrón [red]

Este es probablemente el componente más complicado, maneja las redes y requiere un montón de conocimientos para utilizarlo plenamente. Puede manejar muchas cosas como IP flotante, IP estática, dhcp, subredes, enrutamiento y mucho, mucho más!

Mirada [imágenes]

Se utiliza para almacenar, administrar y entregar imágenes de disco. Supongamos que desea implementar 100 VMs RHEL. Almacenar una imagen de la plantilla en vista le permitirá comenzar de eso y desplegar las 100 instancias que necesita. Mirar sin embargo, no almacena las imágenes, se basa en un back-end como Swift para hacerlo; En lugar de ello almacena metadatos para otros servicios a consumir; Principalmente Nova.

Horizon [tablero]

Horizon es la Interfaz Web para OpenStack, está diseñado para ser una manera elegante de comunicarse con OpenStack sin usar la CLI. Puede ser utilizado por ambos administradores (para gestionar proyectos) o por usuarios finales (para gestionar sus propios proyectos).

Keystone [identidad]

Keystone trabaja detrás de las escenas para proporcionar un punto central para autenticar a los usuarios. También puede interactuar con otros métodos de autenticación como LDAP o incluso Kerberos! (No lo he probado yo mismo, pero supongo que no es tan simple.)

Otros componentes

También hay otros componentes, pero no hablaremos de ellos aquí. Sólo sé que hay otros componentes. En aras de la integridad aquí están los nombres (hasta la fecha): Ceilometer, Heat, Trove, Ironic, Zaqar, Sahara.

Así que ESTO es OpenStack?

Sí, esto es OpenStack. Al final es un conjunto de herramientas que proporciona servicios similares a un framework que es similar a un Sistema Operativo. Es modular, por lo tanto, proporciona flexibilidad. Y es escalable horizontalmente (agregando nodos al clúster). Sí, ¡todavía no hablamos de racimos! Este es un punto difícil: por lo general muchas personas temen expandir un OpenStack todo en uno a un OpenStack de múltiples nodos. No tenemos ni tiempo ni espacio para hablar de agrupación, sin embargo tenga en cuenta que OpenStack está diseñado para escalar horizontalmente; Hablaré de eso en otro artículo.

¡Fantástico! ¿Cómo empiezo?

Al principio OpenStack puede ser un poco difícil. Si sólo desea obtener una demo, puede ir a trystack.org. o está interesado en instalar OpenStack debe usar DevStack. Si decides usar Fedora / CentOS / RHEL, te sugiero que eches un vistazo a RDO: administrar SELinux mientras aprendes que OpenStack puede ser un mal viaje, así que si usas esta opción, recomiendo RDO.

Lo único que queda para que usted haga es recoger la paciencia y la voluntad de aprender! En las próximas semanas voy a escribir acerca de cómo configurar un pequeño laboratorio en casa y consejos y trucos con OpenStack.