sábado, 8 de diciembre de 2012

Bienvenidos a nuestro blog


Bienvenidos a nuestro blog!

Esto tiene como proposito brindar informacion acerca del "Cloudcomputing"
=)


Ya entrando en materia, vamos a definir "Cloud computing" es un termino que en los ultimos dias, en el mundo de la informatica, se ha puesto muy de moda, lo escuchamos en todas partes, pero muchas veces no tenemos un concepto muy claro.

A continuacion una definicion de nuestro amigos de Wikipedia =)

"Es un paradigma que permite ofrecer servicios de computacion a traves de Internet"

File:Cloud computing.svg



Con el cloud computing cada uno de nosotros puede acceder a miles de soluciones de negocio o de uso personal que son brindadas principalmente por internet en una modalidad de servicios y donde se paga solamente por el uso real de los servicios sin necesidad de adquirir ni administrar activos informáticos.(www.Intergrupo.com)



Los comienzos:


Empezó en proveedores de servicio de Internet a gran escala, como:
  • Google
  • Amazon AWS
  • Microsoft y otros
Construyeron su propia infraestructura. De entre todos ellos emergió una arquitectura: un sistema de recursos distribuidos horizontalmente, introducidos como servicios virtuales de TI escalados masivamente y manejados como recursos configurados y mancomunados de manera continua


Como en todos los avances, siempre existen detractores...

Aclaracion: "En este blog no se toman partes, es totalmente imparcial"


Citamos a: Richard Stallman, fundador de la Free Software Foundation,
"simplemente una trampa destinada a obligar a más gente a adquirir sistemas propietarios, bloqueados, que les costarán más y más conforme pase el tiempo."

Ademas...


Si yo subo información a la nube: ¿Cómo estoy seguro de que no está en el mismo servidor que mi competencia? No existe una forma de ir a validarlo. A lo mejor yo tengo un servidor en N empresa donde cargo datos y resulta ser que, por azares del destino, mi información y la de mi competencia se almacenan en el mismo espacio. Llega una orden judicial contra mi competencia, mi competencia logra que se ejecute en el servidor, y en ese momento mi información y la del servidor está siendo entregada a un proceso judicial. Ese es uno de los casos.(Andrés Velázquez mexicano especialista en delitos informáticos y forensia digital, es presidente y fundador de MaTTica; y cuenta con las certificaciones CISSP, GCFA, ACE, IAM, IEM y BS7799. )




Pero, por el otro lado tenemos:

En una infraestructura 100% de cloud computing permite al proveedor de contenidos o servicios en la nube prescindir de instalar cualquier tipo de hardware, ya que éste es provisto por el proveedor de la infraestructura o la plataforma en la nube. Un gran beneficio del cloud computing es la simplicidad y el hecho de que requiera mucha menor inversión para empezar a trabajar.(Wiki)

Contribuye al uso eficiente de la energía. En este caso, a la energía requerida para el funcionamiento de la infraestructura. En los datacenters tradicionales, los servidores consumen mucha más energía de la requerida realmente. En cambio, en las nubes, la energía consumida es sólo la necesaria, reduciendo notablemente el desperdicio.(Wiki)
Además, tradicionalmente, se definen tres capas en el Cloud Computing, las cuales son:
  • Software as a Service (SaaS) Aplicación completa ofrecida como servicio en la nube (Servicios de Google, Salesforce.com, Microsoft Office 365, etc. )
  • Platform as a Service (PaaS) Aplicación completa para el desarrollo ofrecida como servicio en la nube (Google App Engine, Windows Azure, RedHat OpenShift, etc)
  • Infrastructure as a Service (IaaS) Almacenamiento (también denominado Storage as a Service) y capacidades de cómputo (máquinas completas) ofrecida como servicio en la nube.
Y puede ser de tres tipos:
  • blico Una empresa ofrece IaaS a terceros, encargándose de toda la gestión del Cloud. El caso más conocido es Amazon Elastic Compute Cloud (EC2).
  • Privado Una organización configura sus propios recursos como IaaS para tener más flexibilidad y control total sobre sus recursos.
  • Híbrido Algunos servicios se gestionan en el cloud privado y otros se tranfieren a uno público, normalmente utilizan una API común que permita una buena integración.
Esta información fue obtenida gracias a un Proyecto de Innovación realizado por Gonzalo Nazareno y asociados.











Un poco sobre OpenStack

Objetivo de OpenStack

"Crear una plataforma en software libre para cloud computing que cumpla con las necesidades de los proveedores de nubes públicas y privadas, independientemente de su tamaño, que sea fácil de implementar y masivamente escalable."


OpenStack es una colección de tecnologías Open Source que proporcionan un software para el despliegue escalable de un cloud computing. OpenStack proporciona Infraestructura como Servicio ó IaaS (Infrastructure as a Service) y es un proyecto que se inició en el año 2010 por la empresa Rackspace Cloud y por la agencia espacial norteamericana, NASA. Actualmente más de 150 empresas se han unido al proyecto, entre las que se encuentran empresas tan importantes como AMD, Intel, Canonical, SUSE Linux, Red Hat, IBM, Dell, HP, Cisco, etc. OpenStack es software libre bajo los términos de la licencia Apache.

Actualmente OpenStack desarrolla dos proyectos relacionados: OpenStack Compute, que proporciona recursos computacionales a través de máquinas virtuales y gestión de la red, y OpenStack Object Storage, que proporciona un servicio de almacenamiento de objetos redundante y escalable. Muy relacionado con el proyecto "OpenStack Compute" tenemos otros proyectos complementarios como Keystone ó Glance que describiremos en breve.

OpenStack puede ser utilizado por cualquiera organización que busque desplegar un cloud de gran escala tanto para uso privado como público. OpenStack es un proyecto interesante casi para cualquier tipo de organización: pequeñas y medianas empresas, administración, grandes corporaciones, proveedores de servicio, empresas de valor añadido, centros de cálculo y un largo etcétera.

¿Qué es OpenStack?

Básicamente OpenStack es un software Open Source usado para la construcción de clouds públicas y privadas. OpenStack representa tanto a una comunidad y un proyecto de Software Libre, como un software para ayudar a las organizaciones a ejecutar sus propios clouds para computación o almacenamiento virtual.

Desde el punto de vista de software, OpenStack es una colección de proyectos de software libre mantenidos por la comunidad que incluyen varios componentes, siendo los más importantes:

• OpenStack Compute, con nombre en clave Nova.
• OpenStack Object Storage, con nombre en clave Swift.
• OpenStack Image Service, con nombre en clave Glance.

A través de estos servicios, OpenStack proporciona una completa plataforma operativa para la administración y gestión de clouds.

Definir a OpenStack es mucho más sencillo una vez que los principales conceptos sobre Computación en la Nube se hacen más aparentes. La misión principal del proyecto es proporcionar un software que cubra el ciclo completo de este tipo de despliegues y que proporcione el poder desplegar de forma sencilla, escalable, elástica y de cualquier tamaño, tanto clouds públicos como clouds privados.

Componentes de OpenStack

Actualmente, hay cinco componentes principales de OpenStack: Compute, Object Storage, Identity, Image Service y Dashboard.

OpenStack Compute es el controlador de la estructura básica del Cloud. Es el encargado de iniciar las instancias (máquinas virtuales) de los usuarios y grupos. También es el servicio encargado de la gestión de la red virtual para cada instancia o para las múltiples instancias que formen parte de un proyecto (tenant).

OpenStack Object Storage es el servicio encargado del almacenamiento masivo de objetos a través de un sistema escalable, redundante y tolerante a fallos. Las posibles aplicaciones de Object Storage son numerosas, como por ejemplo: almacenamiento simple de ficheros, copias de seguridad, almacenamiento de streamings de audio/vídeo, almacenamiento secundario/terciario, desarrollo de nuevas aplicaciones con almacenamiento integrado, etc.

OpenStack Identity Service es un servicio usado para la autenticación entre el resto de componentes. Este servicio utiliza un sistema de autenticación basado en tokens y se incorporó en la versión 2012.1 de OpenStack.

OpenStack Image Service es un servicio para la búsqueda y recuperación de imágenes de máquinas virtuales. Este servicio puede almacenar las imágenes directamente o utilizar mecanismos más avanzados como: usar Object Storage como servicio de almacenamiento, usar Amazon's Simple Storage Solution (S3) directamente, ó usar Object Storage como almacenamiento intermedio de S3.

OpenStack Dashboard es un panel web para el manejo de instancias y volúmenes. Este servicio es realmente una aplicación web desarrollada en django que permite comunicarse con las diferentes APIs de OpenStack de una forma sencilla. OpenStack Dashboard es fundamental para usuarios noveles y en general para realizar acciones sencillas sobre las instancias.

El siguiente diagrama muestra las relaciones entre los componentes principales (Nova, Glance y Swift), cómo están relacionados y cómo pueden cumplir los objetivos propuestos por OpenStack para el despliegue de infraestructuras de cloud computing.



Arquitectura de OpenStack

Antes de revisar los componentes de OpenStack, conviene revisar un poco la historia del proyecto. Fundado en 2010 por la empresa Rackspace y por la NASA, el proyecto ha tenido hasta la fecha cuatro versiones, actualmente se encuentra en su quinta revisión, lanzada en abril con el nombre en clave Essex (ó 2012.1). Originalmente el proyecto consistía en tan solo tres servicios principales:

• Object Store ("Swift"): proporciona almacenamiento de objetos. Swift nos permite almacenar y/o recuperar ficheros, pero no montar directorios como un sistema de ficheros basado en NFS ó CIFS. Varias compañías proporcionan servicios de almacenamiento comercial basado en Swift, tales como la propia Rackspace (desde la que se inició este proyecto), KT, ó Internap entre otras. Una página web puede fácilmente mostrar imágenes almacenadas en un servidor Swift.

• Image ("Glance"): proporciona un catálogo y un repositorio de imágenes de discos virtuales. Muy utilizado por Nova y de forma casi exclusiva, aunque es un servicio técnicamente opcional, cualquier infraestructura de cloud de un tamaño considerable lo necesita.



• Compute ("Nova"): proporciona máquinas virtuales bajo demanda. Similar al servicio EC2 de Amazon. Nova también es capaz de proporcionar gestión de volúmenes de discos a través de uno de sus servicios, de forma similar al EBS (Elastic Block Service).

Estos son los servicios básicos hasta la versión Essex de OpenStack, que además incluye dos servicios básicos adicionales:

• Dashboard ("Horizon"): proporciona una interfaz de usuario modular, basada en la web, para la gestión de todos los servicios de OpenStack.

• Identity ("Keystone"): proporciona servicios de autenticación y autorización a todos los servicios de OpenStack. Keystone proporciona, además, un catálogo de los servicios ofrecidos en un despliegue de Openstack en concreto.

Estos dos proyectos adicionales, ya incluidos en la última versión de OpenStack, proporcionan una infraestructura adicional para los tres proyectos originales. Básicamente servicios de autenticación y un frontal basado en web.

Arquitectura conceptual

Desde una perspectiva global, OpenStack está diseñado para "entregar un sistema operativo para el despliegue de clouds masivamente escalables". Para poder lograrlo, cada uno de los servicios que conforman OpenStack están diseñados para trabajar conjuntamente y poder proporcionar una Infraestructura como Servicio (IaaS, Infrastructure as a Service) completa. Esta integración se consigue a través de APIs (Application Programming Interfaces) que cada servicio ofrece, y que cada servicio puede consumir. Mientras que estas APIs permiten a cada uno de los servicios utilizar el resto, también permiten al desarrollador poder reemplazar cualquier servicio con otra implementación, siempre y cuando se respeten estas APIs. Dichas APIs también se encuentran disponibles para el usuario final del cloud.

Conceptualmente, se pueden representar las relaciones entre los servicios a través del siguiente diagrama:



En la figura quedan claras las siguientes relaciones:

• Horizon proporciona un frontal gráfico basado en web para la gestión del resto de servicios de OpenStack
• Nova almacena y recupera imágenes de discos virtuales y sus datos asociados (metadatos) a través del servicio Glance.
• Glance almacena las imágenes en un directorio en disco, pero puede hacerlo a través del servicio Swift.
• El servicio Keystone es el encargado de la autenticación de todos los servicios.

Esta es una visión muy simplificada de toda la arquitectura, asumiendo además que utilicemos todos los servicios. Por otro lado, muestra únicamente el lado "operador" del cloud, la imagen no representa cómo los consumidores del cloud pueden realmente usarlo, por ejemplo, se puede hacer uso del servicio Swift de forma intensa y directa.

Arquitectura lógica

Como nos podemos imaginar, la arquitectura real del cloud, su arquitectura lógica, es mucho más complicada que la mostrada anteriormente. Como cualquier arquitectura orientada a servicios, cualquier diagrama que intente ilustrar todas las posibles combinaciones de comunicación de servicios, enseguida se vuelve muy confuso. El siguiente diagrama trata de mostrar el escenario más común, mostrando arquitectura perfectamente integrada de un cloud basado en OpenStack:



Este dibujo es perfectamente consistente con la arquitectura conceptual descrita anteriormente:

• Los usuarios finales del cloud pueden interactuar con él a través de la interfaz web (Horizon) o directamente con cada servicio a través de su API.
• Todos los servicios se autentican a través de un mismo servicio, el proporcionado por Keystone.
• Los servicios individuales interactúan con el resto a través de sus APIs públicas (excepto en los casos en los que se requieran comandos administrativos con privilegios).
En los siguientes apartados se describirán las arquitecturas para cada uno de los servicios.

Dashboard

Horizon es una aplicación web modular desarrollada con el framework de Python Django, cuyo objetivo principal es proporcionar una interfaz a los servicios de OpenStack al administrador del cloud y a los usuarios.

Horizon no proporciona toda la funcionalidad que podemos conseguir a través del intérprete de comandos, pero lo "poco" que hace lo hace correctamente.

Como cualquier aplicación web, la arquitectura de Horizon es bastante simple:

• Horizon normalmente se despliega a través del módulo de Apache mod_wsgi, el cual implementa la interfaz WSGI que permite al servidor Apache ejecutar aplicaciones Python
El código de Horizon está separado en dos módulos Python reutilizables, uno de ellos mantiene toda la lógica de la aplicación y es el encargado de interactuar con varias de las APIs de OpenStack, mientras que el otro es el encargado de la presentación, permitiendo fácilmente la adaptabilidad e integración con la apariencia del sitio web.

• Una base de datos. Horizon almacena muy pocos datos, ya que utiliza los datos del resto de servicios. Desde el punto de vista de la red, este servicio debe ser accesible por los usuarios a través de la web (tráfico HTTP), de la misma forma que necesita poder acceder a las APIs públicas del resto de servicios. Si además se usa la funcionalidad de administración, necesita además conectividad a las APIs de administración de los endpoints (las cuales no son accesibles por los usuarios finales).

Compute

Nova no ha cambiado mucho desde las anteriores versiones, se han añadido ciertas mejoras en determinados servicios para la compatibilidad de EC2 y servicios de consola.

Nova depende de los siguientes demonios para su funcionamiento:

• nova-api es la encargada de aceptar y responder a las llamadas del usuario final a las APIs de nova-compute y nova-volume. El demonio nova-api soporta la API de OpenStack, la API EC2 de Amazon y la API especial de administración (para usuarios con privilegios que realicen tareas administrativas).

Además, este demonio es el encargado de la coordinación de ciertas actividades (como la ejecución de una instancia) y la aplicación de ciertas políticas (como la comprobación de cuotas).
En Essex, nova-api se ha modularizado, permitiendo únicamente la ejecución de determinadas APIs.

• El demonio nova-compute es el principal encargado de crear y acabar con las máquinas virtuales (instancias) utilizando para ello las APIs del hipervisor utilizado. nova-compute utiliza libvirt para KVM/QEMU, XenAPI para XenServer/XCP y VMwareAPI para Vmware.

El proceso completo de creación/destrucción de instancias es bastante complejo, pero la base es muy simple: aceptar acciones de la cola de mensajes y ejecutar un conjunto de comandos del sistema asociados (como lanzar una instancia de KVM), todo mientras que se actualiza el estado en la base de datos.

• nova-volume gestiona la creación, conexión y desconexión de volúmenes persistentes a las instancias, de forma similar a como lo realizar el servicio EBS (Elastic Block Storage) de Amazon. Se pueden utilizar volúmenes de diferentes proveedores como iSCSI ó RADOS Block Device (RBD) de Ceph .

• El demonio nova-network es muy parecido a los demonios nova-compute y nova-volume. Acepta tareas de red desde la cola de mensajes y realiza ciertas que modifican el estado de la red, como por ejemplo configurar una interfaz bridge ó cambiar las reglas de iptables.

El demonio nova-scheduler es conceptualmente la pieza de código más simple de Nova. A partir de un mensaje de solicitud de creación de una instancia, determina qué nodo de OpenStack debe ejecutar dicha instancia de acuerdo a un algoritmo previamente seleccionado. La elección se realiza entre todos los nodos que ejecutan el demonio nova-compute.

• La cola de mensajes (queue) proporciona un hub centralizado para el intercambio de mensajes entre todos los demonios. Como cola de mensajes, se utiliza actualmente RabbitMQ, pero se puede utilizar cualquier otra cola de mensajes compatible con AMQP como por ejemplo Apache Qpid.

• Una base de datos SQL. El sistema gestor de BBDD será el encargado de almacenar toda la información del cloud así como el estado inicial y de ejecución. Esto incluye los tipos de instancia que están disponibles para el uso, las instancias creadas en un momento determinado, las redes disponibles, los proyectos existentes, etc. Teóricamente, Nova soporta cualquier base de datos soportada por SQL-Alchemy, pero las bases de datos realmente utilizadas actualmente son PostgreSQL, MySQL y sqlite3 (esta última solo para pruebas y desarrollo).

Durante las últimas dos revisiones, Nova ha visto aumentado sus servicios de consola. Los servicios de consola permiten a los usuarios finales acceder a sus máquinas virtuales a través de una consola de texto (caso de GNU/Linux) o consola gráfica (caso de máquinas virtuales Linux y Windows). Este acceso se realiza utilizando un proxy y se basa en los demonios nova-console y nova-consoleauth
Nova interactúa con el resto de servicios de la forma esperada: con Keystone para la au-tenticación, con Glance para la recuperación de imágenes y con Horizon para la interfaz web. La interacción con Glance es interesante, El proceso nova-api puede subir imágenes y consultar a Glance, mientras que nova-compute se descargará la imagen necesaria para lanzar una nueva instancia.

Object Storage

La arquitectura de Swift es distribuida tanto para prevenir cualquier punto simple de fallo como para posibilitar escalar horizontalmente. Swift incluye los siguientes componentes:

• Un servidor proxy. El proxy acepta solicitudes a través de la API OpenStack Object o directamente a través de HTTP. Una solicitud puede ser una subida de un fichero, modificación de los metadatos o la creación de un contenedor. También acepta solicitudes de descarga de ficheros o del listado de objetos del contenedor a través de un navegador web.
Para mejorar el rendimiento, el servidor proxy puede, de forma optativa, utilizar una caché (normalmente memcache).

• Un servidor de cuentas de usuario. Este servidor gestiona las cuentas de usuario definidas con el servicio de almacenamiento de objetos.
Servidores de objetos. Los servidores de objetos gestionan los objetos reales (como ficheros o contenedores) en los nodos de almacenamiento.

• Hay también un conjunto de procesos que se ejecutan de forma periódica que realizan ciertas tareas de limpieza sobre los datos. El más importante de estos procesos es el servicio de replicación, los cuales aseguran consistencia y disponibilidad en todo el cluster.
Otros procesos periódicos incluyen auditores, actualizadores y reapers.
La autenticación se realiza normalmente a través de Keystone.

Image Storage

La arquitectura de Glance se ha mantenido relativamente estable desde la versión Cactus de OpenStack. El mayor cambio lo representa la incorporación de Keystone como sistema de autenticación y autorización, la cual se añadió en la versión Diablo. Glance está formado por cuatro componentes principales:

• El demonio glance-api. Encargado de aceptar peticiones a través de su API para el descubrimiento, recuperación y almacenamiento de imágenes.

• glance-registry. Encargado de almacenar, procesar y recuperar metainformación sobre las imágenes (tamaño, tipo, etc.).

• Una base de datos para almacenar dicha metainformación. De la misma forma que Nova, la base de datos es optativa, pero la decisión siempre gira en torno a MySQL ó Post-greSQL para entornos en producción.

• Un repositorio de almacenamiento para los ficheros de imágenes. Este almacenamiento es configurable y pueden utilizarse desde directorios locales al propio servicio Swift. Otrassoluciones pasan por volúmenes iSCSI, directorios NFS ó CIFS, RADOS block device, Amazon S3 ó HTTP.

Existen también un conjunto de servicios para la gestión de la caché.
Glance representa un papel central en la arquitectura de OpenStack, ya que acepta peticiones para la gestión de imágenes tanto de los usuarios finales como de otros servicios como Nova.

Identity

Keystone permite la integración de los serviciós de OpenStack en un único punto en aspectos tan importantes como proporcionar servicios de autenticación, gestión de tokens y el mantenimiento de un catálogo y un repositorio de políticas de identidad.

Cada función de Keystone puede conectarse a un backend distinto que permite realizar esa misma función de diferentes formas utilizando un servicio distinto. De esta forma, Keystone puede integrarse fácilmente con diferentes almacenamiento como SQL, LDAP ó KVS (Key Value Stores).
Esto es muy útil en cuanto a la integración de los servicios de autenticación de OpenStack con los servicios de autenticación existentes en un despliegue en concreto.

Nuevos componentes:

Estos servicios enumerados son los que se encuentran en la versión de OpenStack utilizada en este proyecto (2012.1 (Essex)), pero el desarrollo de OpenStack continua de forma intensa. Para la siguiente revisión de OpenStack, con nombre en clave Folsom, se han añadido los siguientes nuevos servicios:

• Network. El servicio Network, con nombre Quantum. El objetivo principal de Quantum es proporcionar "conectividad de red como servicio" entre las interfaces de red gestionadas por otros servicios como Nova. Esto permitirá una gran flexibilidad a la hora de que los usuarios finales puedan crear sus propias redes e interconectar entre sí las instancias.

• Block Storage. De forma complementaria al almacenamiento de objetos que realiza swift, este componente de nombre Cinder es el encargado del almacenamiento de bloques, que se utilizan en las instancias de OpenStack, es equivalente al servicio de pago Elastic Block Storage (EBS) de Amazon.

OpenStack Compute

OpenStack Compute proporciona una herramienta para orquestar un cloud, incluyendo la ejecución de instancias, administración de redes y control de acceso a usuarios y proyectos.
El nombre del proyecto es Nova y proporciona el software que controla una plataforma de cloud computing de IaaS. Nova tiene un ámbito similar a Amazon EC2 y Rackspace Cloud Servers. OpenStack Compute no incluye ningún software de virtualización, en lugar de eso, define controladores que interactúan hipervisores que se ejecutan en otros equipos e interactúa a través de una API web.

Hipervisores

OpenStack Compute necesita al menos un hipervisor para funcionar y lo controla a través de una API. Hay varios hipervisores soportados, aunque los más utilizados son KVM y Xen-based hypervisors. Puede utilizarse http://wiki.openstack.org/HypervisorSupportMatrix para obtener una lista detallada de los hipervisores soportados.
Con OpenStack Compute, se pueden organizar clouds con más de un hipervisor a la vez.
Los tipos de virtualización que se pueden utilizar con OpenStack Compute son:

• KVM -Kernel-based Virtual Machine
• LXC -Linux Containers (through libvirt)
• QEMU -Quick EMUlator
• UML -User Mode Linux
• VMWare ESX/ESXi 4.1 update 1
• Xen -Xen, Citrix XenServer and Xen Cloud Platform (XCP)

Imágenes e instancias

Las imágenes son imágenes de discos que son plantillas para las máquinas virtuales que se van a crear. El servicios que proporciona las imágenes, Glance, es el responsable de almacenar y gestionar las imágenes en OpenStack.

Las instancias son las máquinas virtuales que se ejecutan en los nodos de computación. El servicio de computación, Nova, gestiona estas instancias. Se pueden lanzar cualquier número de instancias a partir de una determinada imagen. Cada instancia se ejecuta de una copia de una imagen base, por lo que las modificaciones que se realicen en la instancia no alteran la imagen en la que se basa. Mediante el uso de instantáneas (snapshots) de las instancias, se pueden crear nuevas imágenes que sí guardan todas las modificaciones realizadas hasta ese momento en la instancia.
Cuando se lanza una instancia, se debe seleccionar un conjunto de recursos virtuales, cono-cido como sabor (flavor). Un sabor define para una instancia el número de CPUs virtuales, la RAM, si dispone o no de discos efímeros, etc. OpenStack preinstala una serie de sabores, que el administrador puede modificar.

Recursos adicionales como volúmenes persistentes o direcciones IP se pueden añadir o quitar a instancias que se estén ejecutando.
Lanzar una instancia

Para lanzar una instancia hay que elegir una imagen, un sabor y opcionalmente otros atributos. OpenStack copia la imagen base al disco que utilizará la instancia como primer disco (vda), cuanto más pequeña sea la imagen, más rápido será el lanzamiento. Dependiendo del sabor, también se crea un nuevo disco vacío (vdb). El nodo de computación conecta en su caso mediante iSCSI con nova-volume y mapea el volumen escogido como vdc. Obviamente hay posibles variaciones de este típico lanzamiento, sobre todo con respecto al almacenamiento. Por ejemplo, es posible que los discos vda y vdb del ejemplo anterior no estén alojados localmente sino en un recurso en red.
Una vez que decidimos terminar la instancia, todos los recursos utilizados por la instancia son liberados (RAM, almacenamiento, etc.), salvo los volúmenes persistentes que permanecen almacenados y es posible asignarlos a otra instancia posteriormente.

OpenStack Keystone

Este módulo es el encargado del sistema de autentificación y autorización de los distintos componentes desde la versión Essex y tiene dos funciones principales:

• Gestión de usuarios: Keystone es el encargado de mantener un registro de usuarios y los permisos que tienen cada uno de ellos.
• Registro los servicios ofrecidos: Keystone ofrece un catálogo de los servicios ofrecidos, así como la forma de acceder a sus APIs.

Los conceptos fundamentales de la gestión de usuarios son:
• Usuario: Podemos guardar su nombre, correo electrónico y contraseña.
• Proyecto (tenant en la jerga de OpenStack): En un proyecto podemos ejecutar un conjunto de instancias con características en común, por ejemplo pueden estar todas las instancias en el misma red, pueden utilizar una serie de imágenes de sistemas o tener limitado el uso de recursos del cloud.
• Rol: Nos indica qué operaciones puede realizar cada usuario. A un usuario se le pueden asignar diferentes roles en cada proyecto.

Los conceptos fundamentales del registro de servicio son:
• Servicio: Corresponde a un componente de OpenStack que puede utilizar el módulo de autentificación.
• Endpoints: Representa las URL que nos permiten acceder a las API de cada uno de los servicios o componentes de OpenStack
OpenStack Glance

El proyecto Glance proporciona los servicios necesarios para la búsqueda, localización y obtención de imágenes para las máquinas virtuales del cloud. Al igual que el resto de componentes de OpenStack, Glance posee una API RESTful que permite solicitudes tanto de los metadatos de las imágenes para las máquinas virtuales, como la solicitud en sí de una imagen.

Las imágenes que están disponibles a través de Glance, se pueden almacenar en diferentes ubicaciones, desde un simple sistema de ficheros que es la opción por defecto a un sistema de almacenamiento de objetos como OpenStack Swift.
Posiblemente glance sea el componente más sencillo de todo el conjunto de proyectos de OpenStack y el ritmo de desarrollo y cambios no tiene nada que ver con el de otros componentes.

OpenStack Swift
OpenStack Object Storage, conocido como OpenStack Swift, es un sistema de almacenamiento de objetos escalable - no es un sistema de ficheros en el sentido tradicional. No es posible montar este sistema como volúmenes de sistemas SAN o NAS.

OpenStack Swift es un sistema de almacenamiento conceptualmente similar a Amazon Simple Storage Service (S3) y es un componente prácticamente independiente del resto de OpenStack. Swift es un software derivado del Cloud files de rackspace y se trata de un software mucho más maduro y estable que otros componentes del proyecto.

Agradecemos el proyecto de innovacion realizado por Gonzalo Nazareno y sus asociados del cual ha sido posible extraer esta muy valiosa informacion.

Sobre Cloudstack

CloudStack es un codigo de "cloud computing" utilizado para crear, usar, manejar y desarollar infraestructura en los servicios de la nube.

Origninalmente fue desarrollado por cloud.com
Pero con la compra de Cloud.com por medio de Citrix en el 2011 por una despreciable cantidad de $200 millones de dolares.

En abril del 2012 Citrix dono CloudStack al Apache Software Foundation.

Sobre Rackspace

Rackspace
Cloud Files
Es un servicio de cloud hosting que ofrece "almacenamiento en línea ilimitado y CDN" por los medios de comunicación (ejemplos incluyen copias de seguridad, archivos de vídeo, el contenido del usuario) en una base informática de servicios. Fue originalmente lanzado como Mosso CloudFS y es similar al Servicio de almacenamiento de Amazon. Todo lo anterior, gestionados a través del panel de control en línea o API RESTful y opcionalmente servido a cabo a través de Akamai Technologies Content Delivery Network.

Programas
Además del panel de control en línea el servicio se puede acceder a través de una API RESTful con código abierto disponible en C # /. NET, Python, PHP, Java y Ruby. Rackspace es propiedad de Jungle Disk permite que los archivos en la nube puedan ser montados como una unidad local en los sistemas operativos soportados (Linux, Mac OS X y Windows).

Seguridad
Se proporcionada mediante la replicación de tres copias de pleno derecho de datos a través de múltiples computadoras en múltiples "zonas" dentro de la mismo centro de datos, en donde "las zonas" están físicamente separadas y son suministradas por los servicios de Internet.

Cloud Sites
Es una oferta de plataforma cloud, similar a los alojamientos web tradicionales. Un pago mensual fijo de tarjetas de crédito ofrece a los usuarios el acceso al servicio con una asignación de informática, recursos de almacenamiento y ancho de banda. Si esta distribución se agota entonces el uso posterior se facturará sobre la base de utility computing. Además permite a una "ilimitado" número de sitios, bases de datos y cuentas de correo electrónico e incluye opciones de reventa, tales como facturación a clientes y apoyo. Considerada como "la manera más rápida de poner sitios en la nube", que ejecuta aplicaciones Windows o Linux a través de "cientos de servidores".

PRECIOS




CLOUD FILES VS AMAZON






*(Toda la información ha sido tomada de http://www.rackspace.com/cloud/public/files/compare/)