OpenStack y Cloud Computing, Computación en la Nube con Software Open Source

15th Mar 2016Posted in: Noticias, Tutoriales, Uncategorized 0

Openstack  se creó como un proyecto de trabajo de infraestructura de “Open Source” (Código Abierto) bajo la figura de un servicio en Linea (IaaS) para la creación y administración de grandes grupos de servidores privados virtuales en un centro de datos.

Los objetivos de esta eran soportar la interoperabilidad entre los servicios en la nube para lograr construir servicios en la nube (iguales al tipo Amazon) en sus propios centros de datos. OpenStack, actualmente está disponible de forma gratuita bajo la licencia Apache 2.0. Por lo cual, muchos se refieren a menudo a OpenStack en los sitios informativos como Linux Cloud, es decir, “el Linux de la nube”. Otros lo comparan con proyectos tales como Eucalyptus y Apache CloudStack, otras dos iniciativas de nube de código abierto.

¿Y como esta estructurado Openstack?

OpenStack cuenta con una arquitectura modular que actualmente consta de once (11) componentes:

  • Nova: Para proporcionar las máquinas virtuales (VM) sobre las demandas (On demand) requeridas.
  • Swift: Para proporcionar un escalable sistema de almacenamiento que soporte el almacenamiento de objetos necesarios.
  • Cinder: Para proporcionar el almacenamiento de los bloques persistentes para el alojamiento de las máquinas virtuales ejecutadas.
  • Glance: Para ofrecer el listado y almacenamiento de imágenes de disco virtuales con los que se trabajaran..
  • Keystone: Para proporcionar la tecnología de autenticación y autorización de todos los servicios de OpenStack a ejecutarse.
  • Horizon: Para proporcionar la interfaz modular web al usuario (UI) para la interacción con los servicios de OpenStack.
  • Neutron: Para proporcionar la conectividad de red requerida como un servicio entre los dispositivos de interfaz que controlan los servicios de integrados en OpenStack.
  • Ceilometer: Para proporcionar un punto único de contacto para los sistemas de facturación.
  • Heat: Para proporciona los servicios de orquestación para las múltiples aplicaciones en la nube de distintos proveedores y tecnologías.
  • Trove: Para proporcionar el aprovisionamiento de las base de datos como un servicio unificado para los motores de bases de datos relacionales y no relacionales implementadas.
  • Sahara: Para ofrece los servicios de procesamiento de datos requeridos para los recursos gestionados por OpenStack.

OpenStack-Nova-Cinder-Diagram

¿Y como nació Openstack?

La Administración Nacional de Aeronáutica y del Espacio (NASA) en conjunto con Rackspace, desarrollaron OpenStack. RackSpace aportó el código que potencia el servicio de entrega de contenidos y  almacenamiento de los archivos de la nube (Cloud Files) y los Servidores de producción en la Nube (Servidores Cloud). La NASA dio la tecnología que soporta a Nebula, su propio servicio de computación en la nube, con características de alto rendimiento, trabajo en redes y eficiente gestión del almacenamiento de datos, para lograr la gestión de grandes conjuntos de datos científicos.

OpenStack oficialmente se convirtió en una organización sin fines de lucro totalmente independiente enseptiembre de 2012. La comunidad OpenStack, creada a su alrededor es supervisada por un consejo de administrativo, que se compone de muchos competidores directos e indirectos, como IBM, Intel y VMware.

¿Y que hace que Openstack sea tan exitoso, practico y usado?

OpenStack tiene como objetivo construir una plataforma de nube, tipo CMP (Cloud Management Platform) que facilite la construcción y gestión de distintos elementos dentro de una infraestructura para lograr dar servicios de nube a sus clientes (usuarios). Si comparáramos el Stack de VMware,Openstack estaría al mismo nivel de vCAC y/o vCD).

OpenStack tiene una gran capacidad de extensibilidad mediante APIs que son “fáciles” de implementar y adaptar (muy al estilo de AWS), públicas y del tipo “vendor free”, por lo que muchos“Service Providers” han volteado a ver a OpenStack como una alternativa clave para sus propias iniciativas de infraestructura en la nube. OpenStack con su tecnología modular en base a los requerimientos de “Nube” que se necesiten entregar permite ir integrando distintos proyectos a la arquitectura creada de forma progresiva y estable.

¿Que NO es Openstack?

OpenStack no es:

  • Un producto: En realidad es un conjunto de servicios, que crean una nube, con tecnología Open Source, lo que permite su modificación, adaptación y personalización en pro de las necesidades propias que luego podrán compartirse y contribuir con las de la comunidad. OpenStack es mantenido y controlado por la Fundación OpenStack.
  • Un Hipervisor: Es más que un simple elemento de virtualización, ya que es un elemento que esta en una capa muy arriba de la nube, ha la altura de competidores como vCD y vCAC (VMware) y con otros CMPs de terceros (3) que están allá afuera.
  • 100% Gratis: Solo el código por ser abierto, ya que los costos de mantenimiento, entrenamiento, troubleshooting, gestión y el mantenimiento de las capas que estén por debajo (ej. vSphere, networking, storage, etc.) tienen o pueden tener un costo asociados dependiendo del proveedor y/o tecnología usada. Adicionalmente algunas Distros Linux están comenzando a ofertar su “sabor” (versiones) de OpenStack propio, agregando valor asociado,  un costo no por el código si no por el soporte y lo demás.
  • Solo para Service Providers: OpenStack puede ser utilizado por cualquier tipo de Institución, Empresa, Organizaciones y no solo por los Proveedores de Servicios (SPs), ya que claramente la modularidad y facilidad de consumo a través de sus APIs, hace que el producto sea tan interesante para los SPs y cualquier otro interesado.

¿Y QUÉ ES LA COMPUTACIÓN EN LA NUBE (CLOUD COMPUTING)?

Según el NIST (National Institute of Standards and Technology) OpenStack se puede definir o concebir como un modelo de servicios escalables bajo demanda para la asignación y el consumo de recursos de cómputo. Todo esto englobando el uso de infraestructuras, aplicaciones, data (información) y un conjunto de servicios integrados por las reservas de recursos de computación, redes, data (información) y la capacidad de almacenamiento. Y asumiendo también que estos elementos pueden construirse, abastecerse, implementarse y liberarse rápidamente, con un pequeño esfuerzo de desarrollo, control e interacción por parte del proveedor de Cloud Computing, en pro de satisfacer las necesidades actuales del cliente.

La prestación de servicios de cloud computing puede asociarse a tres (3) modelos de negocio específicos:

  • Infrastructure as a Service (IaaS): Este Modelo de negocio ofrece al consumidor (usuario) la provisión de procesamiento, almacenamiento, redes y cualquier otro recurso de cómputo necesario para poder instalar software, incluyendo el sistema operativo y aplicaciones. Excepto el control sobre el sistema de nube subyacente pero si del Sistema Operativo y sus Aplicaciones. Ejemplo: Amazon Web Services EC2.
  • Plattform as a Service (PaaS): Este Modelo de negocio ofrece al consumidor (usuario) la capacidad de ejecutar aplicaciones por éste desarrolladas o contratadas a terceros, a partir de los lenguajes de programación o interfaces provistas por el proveedor. Excepto el control sobre el sistema subyacente ni sobre los recursos de Infraestructura.
  • Software as a Service (SaaS): Este Modelo de negocio ofrece al consumidor (usuario) la capacidad de utilizar las aplicaciones del proveedor que se ejecutan sobre la infraestructura en la nube. Las aplicaciones son accedidas desde los dispositivos cliente a través de interfaces, por ejemplo un navegador web. En este caso, el usuario solo tiene acceso a una interfaz de configuración del software provisto.

La prestación de servicios de cloud computing puede asociarse a tres (3) modelos de implementación específicos:

  • Nube Publica: Este Modelo de implementación de la Nube permite que la infraestructura y los recursos lógicos que forman parte del entorno se encuentran disponibles para el público en general o un amplio grupo de usuarios. Suele ser propiedad de un proveedor que gestiona la infraestructura y los servicios ofrecidos. Ejemplo: Servicio de GoogleApps.
  • Nube Privada: Este Modelo de implementación de la Nube permite que la infraestructura se gestiona únicamente por una organización. La administración de aplicaciones y servicios puede estar a cargo de la misma organización o de un tercero. La infraestructura asociada puede estar dentro de la organización o fuera de ella. Ejemplo: Cualquier servicio de nube propio de la organización o contratado a un proveedor pero cuyos recursos sean exclusivos para dicha organización.
  • Nube Comunitaria: Este Modelo de implementación de la Nube permite que la infraestructura sea compartida por diversas organizaciones y su principal objetivo es soportar a una comunidad específica que posea un conjunto de preocupaciones similares (misión, requisitos de seguridad o de cumplimiento normativo, etc.). Al igual que la Nube Privada puede ser gestionada por las organizaciones o bien por un tercero y la infraestructura puede estar en las instalaciones propias o fuera de ellas. Ejemplo: El servicio proveído por www.apps.gov del gobierno de EEUU, el cual provee servicios de cloud computing a las dependencias gubernamentales.
  • Nube Híbrida: Este Modelo de implementación de la Nube permite que se combinen dos o más tipos de Nubes anteriores de Nube, manteniéndolas como entidades separadas pero que unidas por tecnologías estandarizadas o propietarias, que permitan la portabilidad de los datos y aplicaciones gestionadas.


Related Posts

Leave a Reply