OpenStack – El Linux de la computacion en la nube
Uno de los terminos que se ha puesto muy de moda en el mundo de las tecnologias de la informacion actualmente, es el de cloud computing o computación en la nube. La computación en la nube nos permite acceder a servicios de computación en-demanda a través de internet; de esta forma podemos acceder a utilizar software como servicio, una plantaforma como servicio , o infraestructura como servicio. La computación en la nube nos trae la promesa de reducir los costos de computación a través de la vituralización de los recursos informaticos, permitiendo utilizar las capacidades del hardware de una manera mucho más eficiente y controlada.
Existen 3 tipos distintos de nubes informaticas:
- Las nubes publicas: que son manejadas por un proveedor al que le adquirimos los servicios de computación que necesitamos.
- Las nubes privadas: donde los servicios de computación virtualizados estan bajo nuestro control.
- Las nube hibridas: que combina los modelos de nubes publicas y privadas.
Uno de los mayores proveedores mundiales de servicios de computación en la nube es Amazon que a través de su plataforma Amazon Web Services (AWS) ofrece servicios como Amazon Service Storage Service (S3) y Amazon Elastic Compute Cloud (EC2) que han sido adoptados en forma masiva por un gran número de empresas.
El problema con la tecnología de Amazon y con una tecnología similar utilizada por Google, es que no es libre, uno tiene que aceptar los terminos y condiciones impuestas por estas empresas para poder acceder a los beneficios de la computación en la nube.
Es así como OpenStack surgió como una alternativa completamentamente abierta bajo el esfuerzo conjunto de la NASA (la agencia espacial de los Estados Unidos) y Rackspace Hosting (una empresa norteamericana dedicada al hosting). El objetivo del proyecto OpenStack es permitir a las organizaciones crear y ofrecer servicios de computación en la nube corriendo en hardware estandar; nos ofrece software open source para construir nuestras propias nubes públicas o privadas de una forma escalable y sin complejidad. Inicialmente focalizado en la infraestructura como servicio (IaaS), el proyecto comenzo con 3 componentes básicos:
- Compute (Nova): que es el software encargo de gestionar y desarrollar grandes redes de máquinas virtuales en-demanda de una manera escalable y redundante. Es similar a lo que es el servicio Amazon EC2.
- Object Storage (Swift): que se encarga de crear objetos de almacenamiento en los clusters de servidores de la nube. Es similar al servicio Amazon S3.
- Image Service (Glance): que nos provee un registro y repositorio para las imagenes de los discos virtuales de la nube. Tambien similar a lo que ofrece el servicio Amazon S3.
El siguiente diagrama muestra la relacion básica de estos 3 compentes y como se relacionan entre ellos para crear la nube.
Uno de los principales valores detrás del proyecto es que abraza la apertura y libertad utilzando estadares abiertos y código open source. OpenStack fue lanzado bajo la licencia Apache 2.0 y esta totalmente escrito en Python. Su código puede ser consultado desde Launchpad.
OpenStack cuenta con una integración perfecta con Linux, y las principales distribuciones como Ubuntu y Fedora ya vienen preconfiguradas para poder instalar facilmente su plataforma de computación en la nube.
Desde su lanzamiento el proyecto a recibido una gran atención por parte de los principales actores tecnologicos hasta el punto de convertirse en uno de los proyectos de más rápido crecimiento y desarrollo; grandes compañías como IBM, RedHat, Canonical, Intel, AMD, HP, Dell, Cisco y Citrix, entre otras, se han sumado a su comunidad y contribuyen a su desarrollo. Gracias a este gran impulso, se han desarrollado nuevos componentes para la plataforma de OpenStack, que se agregan a los ya estables Nova, Glance y Swift. Estos nuevos componentes son:
- Dashboard (Horizon): que proporciona una interface web modular para todos los servicios de la plataforma de computación en la nube.
- Identity (Keystone): que provee autentificacion y autorizacion para todos los servicios de OpenStack.
Adicionalmente, tambien se esta desarrollando un nuevo componente, Quantum, que proporcionará conectividad de red como servicio entre diferentes equipos y podra ser gestionada a traves de otros servicios de OpenStack.
OpenStack ya ha sido adoptado y esta siendo utilizado en ambientes productivos con gran exito en empresas como eBay y Mercado Libre. Seguramente comenzaran a seguirlas un gran numero de empresas.
En el momento actual en el que vivimos, donde el Software se esta comiendo al mundo!, proyectos como OpenStack que prometen reducir ampliamente el costo de la computación son muy bienvenidos y ayudan a seguir promoviendo el uso masivo de las tecnologías de la información.
Espero les haya gustado este artículo.
Saludos!!