2. Temario
1. Cloud Computing
2. Virtualización
3. Herramientas de Software Libre ó Código
Abierto para la Nube
4. Procedimiento para Implementar Cloud
Computing en escenarios virtuales
5.Conclusiones
6.Bibliografía
3. ¿Qué nos vende
la Industria?
• Acceso a nuestras aplicaciones
remotas
• Uso de navegador
• Realización de Backups
• Si hay un límite, tendrá un
costo adicional
• Ubicuidad. Estar en todas
partes
4. Pero …
• Mantiene una serie de
aplicaciones cerradas difíciles
de mejorar y/o de adecuar
• Se depende de otros aunque
los datos sean nuestros
• ¿En dónde están nuestros
datos?
• ¿Hasta qué punto
mantenemos nuestra
privacidad (datos, fotos, etc)?
5. Cloud Computing
• Es un modelo que permite el acceso
bajo demanda a unos recursos
compartidos de cómputo, (por ej.
redes, servidores, almacenamiento,
aplicaciones y servicios) que pueden
ser rápidamente tomados y liberados
con una mínima administración e
interacción del prestador de servicios.
• Ofrece características esenciales
como:
– Amplio acceso a la red,
– Elasticidad y rapidez,
– Servicio supervisado
– Autoservicio a la carta (NIST)
6. Estadísticas de
usar la Nube
Fuente: http://www.cloudhypermarket.com/
7. Estadísticas de
usar la Nube
• La Nube mejora:
– Los procesos tecnológicos
– Reduce el costo de infraestructura
– Mejora la experiencia del usuario final.
Fuente: http://www.cloudhypermarket.com/
8. Estadísticas de
usar la Nube
Fuente: http://www.cloudhypermarket.com/
9. Estadísticas de
usar la Nube
Fuente: http://www.cloudhypermarket.com/
10. Barreras en la Nube
Fuente: IBM -2009 http://www.slideshare.net/luisaguilarmateo/cloud-computing-la-visin-prctica-de-ibm
12. Modelos de Nube
• Se distinguen en sí la nube es compartida o no por múltiples clientes
– Tipos
• Públicas
– Manejadas por terceros
– Las aplicaciones comparten servidores, almacenamiento y redes
– Más grandes que las privadas, tarifas más bajas
• Privadas
– Construidas para el uso exclusivo de un cliente
– Mayor control sobre datos, seguridad, calidad de servicio
– Ubicadas dentro o fuera de la empresa
• Híbridas
– Combina modelos anteriores, escala utilizando recursos de la nube pública si
no alcanza la privada
– Problemas de cómo distribuir las aplicaciones entre la nube pública y la
privada
13. Software as a Service (SaaS)
• Modelo de distribución de software donde una empresa sirve el
mantenimiento, soporte y operación que usará el cliente durante el
tiempo que haya contratado el servicio.
• El cliente usará el sistema alojado por esa empresa, la cual mantendrá la
información del cliente en sus sistemas y proveerá los recursos necesarios
para explotar esa información.
• Ejemplos:
– Salesforce http://www.salesforce.com/ ,
– Basecamp. http://basecamphq.com/
14. Infrastructure as a Service (IaaS)
• Modelo de distribución de infraestructura de computación como un
servicio, normalmente mediante una plataforma de virtualización.
• En vez de adquirir servidores, espacio en un centro de datos o
equipamiento de redes, los clientes compran todos estos recursos a un
proveedor de servicios externo.
• Una diferencia fundamental con el hosting virtual es que el
provisionamiento de estos servicios se hacen de manera integral a través
de la web.
• Ejemplos:
– Amazon Web Services EC2 http://aws.amazon.com/es/ec2/
– GoGrid. http://www.gogrid.com/
15. Platform as a Service (PaaS)
• Suele identificarse como una evolución de SaaS.
• Es un modelo en el que se ofrece todo lo necesario para soportar el ciclo de vida
completo de construcción y puesta en marcha de aplicaciones y servicios web
completamente disponibles en Internet.
• Otra característica importante es que no hay descarga de software que instalar en
los equipos de los desarrolladores.
• PaaS ofrece múltiples servicios, pero todos provisionados como una solución
integral en la web.
• Ejemplos:
– Aunque algunos servicios de Amazon Web Services como SimpleDB
http://aws.amazon.com/es/simpledb/ y SQS http://aws.amazon.com/es/sqs/
– Google App Engine. http://code.google.com/intl/es-ES/appengine/
16. Temario
1. Cloud Computing
2. Virtualización
3. Herramientas de Software Libre ó Código
Abierto para la Nube
4. Procedimiento para Implementar Cloud
Computing en escenarios virtuales
Conclusiones
Bibliografía
17. Virtualización
• Es una tecnología que permite
instalar y configurar múltiples
computadoras y/o servidores
completamente independientes
(conocidas como “virtual machines”
o “maquinas virtuales”) en una sola
“caja” física, ya sea una
computadora, servidor, “appliance”,
etc.
20. Temario
1. Cloud Computing
2. Virtualización
3. Herramientas de Software Libre o Código
Abierto para la Nube
4. Procedimiento para Implementar Cloud
Computing en escenarios virtuales
Conclusiones
Bibliografía
22. Software Libre (Free Software)
Richard Stallman
Se basa en:
1. La libertad de usar el programa, con cualquier
propósito.
2. Estudiar el funcionamiento del programa, y adaptarlo
a las necesidades
3. Distribuir copias, con lo que puede ayudar a otros.
4. Mejorar el programa y hacer públicas las mejoras, de
modo que toda la comunidad se beneficie
5. Para la segunda y última libertad mencionadas, el
acceso al código fuente es un requisito previo.
Free Software Foundation
http://www.fsf.org/
23. Open Source (Código Abierto)
Eric Raymond
• Licencia que se baso en la GPL y debe cumplir:
1. Libre redistribución
2. Código fuente
3. Trabajos derivados
4. Integridad del código fuente del autor
5. Sin discriminación de personas o grupos
6. Sin discriminación de áreas de iniciativa
7. Distribución de la licencia
8. La licencia no debe ser específica de un producto
9. La licencia no debe restringir otro software
10. La licencia debe ser tecnológicamente neutral
http://www.opensource.org/
24. Manifiesto de la Nube
• Iniciativa hecha por: IBM, Akamai, AT&T, Cisco,
Novell, Red Hat, Rackspace, Sun, Telefónica, VMWare
y otras más.
• Busca que la Nube debe ser abierta y no cerrada, y
cómo se debe desarrollar la misma
• http://www.opencloudmanifesto.org/
• http://gevaperry.typepad.com/Open%20Cloud%20M
anifesto%20v1.0.9.pdf
25. Manifiesto de la Nube
Los principios sobre los que se basa para asegurar que se
mantenga la libertad de elección, flexibilidad y apertura
dentro de la nube, son:
1. Trabajar juntos para que los retos fundamentales en la
adopción sean solucionados mediante colaboración
abierta y el uso adecuado de los estándares.
2. No utilizar su posición de mercado para convertir a sus
clientes en cautivos de una plataforma concreta y limitar
su libertad de elección.
3. Usar y adoptar los estándares existentes siempre que
sea posible, para evitar así reinventarlos o duplicarlos.
26. Manifiesto de la Nube
4. Recurrir con prudencia a la creación de nuevos
estándares, y cuando así sea por necesidad, hacerlo
con pragmatismo, reduciendo el número de
estándares necesarios, y asegurando que éstos
promueven la innovación en lugar de inhibirla.
5. Llevar a cabo iniciativas en función de las
necesidades del cliente, no de las necesidades
técnicas de los proveedores.
6. Trabajo conjunto y coordinado de todos los
actores implicados para evitar que sus iniciativas
entren en conflicto o se solapen.
27. Open Cloud Consortium (OCC)
• Creada en el 2009
• Buscar mejorar el rendimiento de las nubes
informáticas y de almacenamiento dispersas
geográficamente en distintos centros de datos a
nivel mundial
• Promover el uso de sistemas abiertos que permitan
a las nubes operadas por diferentes entidades
interoperar entre sí sin fisuras.
• http://opencloudconsortium.org
28. Herramientas de Software
Libre o Código Abierto
OS para la Nube
• Con el fin de buscar herramientas que
respeten lo pactado por el OCC y el
manifiesto de poder obtener una Nube
Abierta, a diferencia de las soluciones MS, se
muestran algunas herramientas que han
tenido éxito y que son 100%
multiplataformas, permitiéndo que un
usuario pueda tener su propia infraestructura
en la Nube
29. eyeOS
• Consiste en un escritorio virtual multiplataforma, libre y gratuito. De
licencia AGPL. Trabaja HTML, PHP, AJAX y JavaScript http://eyeos.org/
• Se puede personalizar, modificar, mantiene la filosofía del Open Cloud y ha
sido ganadora de varios premios.
30. eyeOS
• Pros: Además es fácil de usar, accesible desde cualquier ordenador, cuenta
con aplicaciones imprescindibles y da la posibilidad de subir archivos
• Contras: No puede usarse sin conexión y solo compatible con sus propias
aplicaciones
31. eyeOS Seguridad
• La comunidad es la encargada de probar y notificar a los developers
cualquier fallo, y el equipo de trabajo junto con Lars Knickrehm en un
plazo rápido suministran la corrección lo más pronto posible.
• EJ: Una vulnerabilidad de XSS corregida en Abril 2011, detectada gracias a
los usuarios de la comunidad que afectaba las versiones 1.x. La 2.x no es
vulnerable.
• Consistía en subir un HTML renombrarlo por png ó jpg y <!doctype html>
<script>alert("XSS done");</script>, y se genera el error al utiliza el visor
de imagenes.
32. eyeOS Seguridad
• El sitio tiene fuerte medidas de seguridad, con un crecimiento medio de
400 usuarios al día, además utiliza firewalls, backups c/24 horas y
formateos mensuales como medida preventiva en caso de que algún
código malicioso se lograra infiltrar.
• Como medida preventiva adicional, toda la comunicación que se haga
dentro del sitio, y todo contenido almacenado por los usuarios queda
totalmente cifrado y sin acceso por parte de sus administradores, lo que
da una ventaja adicional en cuanto a privacidad de uso.
• Al ser de código GPL; cualquiera puede descargar el código e instalarlo en
su propio servidor, garantizando la confidencialidad total de los datos.
• Por desgracia, al funcionar sobre un SO anfitrión, hereda todas las
limitaciones en cuanto a seguridad. Al igual que el navegador (browser)
por lo tanto se tiene que tener cuidado al respecto
33. Amazon EC2
Amazon Elastic Compute Cloud (Amazon EC2) es un servicio
Web que cuenta con una serie de imágenes de máquina
preconfiguradas (AMIs)
<http://aws.amazon.com/ec2/>
34. Amazon EC2
Es uno de los IaaS más populares, y la Web 2.0 está presente :
• Dropbox https://www.dropbox.com/
• Quora http://www.quora.com/
• HootSuite http://hootsuite.com/
• CoTweet http://cotweet.com/
• Reddit http://www.reddit.com/
• Foursquare https://es.foursquare.com/
• Fayerwayer http://www.fayerwayer.com/
• El PaaS Heroku http://www.heroku.com/
• Paper.li http://paper.li/
• Mobypicture http://www.mobypicture.com/
• Twilio http://www.twilio.com/
35. Amazon EC2
• Pros: Es una infraestructura distribuida
• Contras: En Abril 21/2011, se vieron
afectados varios servicios de la Web 2.0,
debido a inconvenientes con la latencia en
la respuesta y las errores de conectividad.
36. Eucalyptus-Cloud
• Es un proyecto Open Source (IaaS), compatible con Google App, Amazon
EC2, etc, permitiendo soportar múltiples interfaces, y de licencia FreeBSD.
Funciona con el sistema operativo GNU/Linux y permite implementar
Clouds privados e híbridos.
http://www.eucalyptus.com
37. Eucalyptus-Cloud
Pros: Fácil de instalar, documentación completa, políticas de colocación
simple, posibilidad de configurar múltiple clúster en un sola nube,
racionaliza el consumo energético al permitir poner en reposo aquellos
nodos de computación que no estén albergando máquinas virtuales en
funcionamiento.
38. Open Stack
• Es una plataforma de código abierto, simple y
escalable, avalada por Rackspace y la NASA, que
aporta la plataforma Nebula, bajo licencia Apache 2.0.
• OpenStack es también una comunidad de
proveedores de servicios Cloud y fabricantes de
tecnología (como DELL, Citrix e Intel entre otras) que
se dedica al desarrollo de infraestructuras de software
libre para arquitecturas Cloud públicas, privadas e
híbridas.
• Ofrece servicios de Cloud Files y Cloud Servers, para
que usuarios y/o empresas creen sus propios servicios
de Cloud Computing privados o públicos,
desarrollados en Python.
• http://www.openstack.org/
39. OpenStack
• Cuenta con otros servicios como:
• OpenStack Compute: que permite gestionar el despliegue y
ejecución de aplicaciones a través de múltiples servidores.
• OpenStack Object Storage: permite gestionar el
almacenamiento de datos en varios servidores que trabajen
de manera conjunta en clústers, para conseguir un
almacenamiento masivo de objetos estáticos, de manera
supérflua y fiable.
• La tecnología Nova, se basa en el protocolo de mensajeria
AMQP y es el sistema utilizado en la NASA para proveer
sistemas de virtualización bajo demanda.
• Además, por su manejo fácil, una persona puede
implementar en su hogar su propio Cloud
http://dodeeric.louvrex.net/?p=225
40. Cloud Foundry
• Lanzada en Mayo 24/11 por Vmware y consiste en
un (PaaS) bajo los estándares del Open Source.
• Soporta múltiples Frameworks, proveedores Cloud
y servicios de aplicaciones.
• Su utilidad reside en que permite acortar los
tiempos necesarios para diseñar una aplicación,
construir el código, y finalmente trasladarla a la
nube, usando una solución PaaS abierta.
• Las herramientas que utiliza la plataforma son
Spring Source (adquirida por VMware en 2009)
para desarrolladores Java, Rails y Sinatra para
desarrolladores Ruby, y Node.js y otros
frameworks JVM incluyendo Grails.
• http://www.cloudfoundry.com/
41. Cloud Foundry
• Cloud Foundry presenta un buen grado de portabilidad
• La plataforma no está vinculada a ningún entorno especial, soporta
nubes privadas o públicas, incluyendo las desplegadas en VMware
vSphere, las desarrolladas por vCloud de VMware, nubes públicas no
VMware y, además, Amazon Web Services de RightScale.
• Cloud Frondry está disponible en tres formatos:
– CloudFoundry.com: Un ambiente PaaS completamente
hospedado, administrado y soportado por VMware.
– CloudFoundry.org: Un proyecto Open Source donde los
desarrolladores y los miembros de la comunidad pueden
colaborar y contribuir al proyecto.
– Cloud Foundry Micro Cloud: Una instancia completa del
proyecto Cloud Foundry, creada idealmente para los Desktops
de los desarrolladores, la cual estará disponible proximamente.
De esta forma dota a los desarrolladores de una PaaS personal
que se ejecuta en sus propios escritorios. Micro Cloud se podrá
descargar como una imagen para VMware Fusion y VMware
Player.
42. Abicloud
• Es un software open source y multiplataforma desarrollado por una empresa de
Barcelona para la gestión de Cloud Computing
• Permite la creación de data centers virtuales por si varias empresas quieren utilizar
la misma infraestructura física y también aplicaciones virtuales que pueden estar
compuestas de varias máquinas virtuales.
• http://wiki.abiquo.com/display/ABI17/Abiquo+Documentation+Home
43. OpenNebula
• Es una herramienta de Cloud Computing de Open Source orientada al
manejo de infraestructuras de data center distribuida heterogéneas.,
bajo licencia Apache.
• Administras Infraestructuras virtuales de DataCenter
• Combina tecnologías de virtualización, almacenamiento y redes.
• Se puede construir IaaS Cloud públicas, privadas e hibridas.
• Forma parte de las tecnologías de Cloud de Morfeo
http://www.morfeo-project.org/ junto con la Nuba http://nuba.morfeo-
project.org/ y Claudia http://claudia.morfeo-project.org/
• Implementa clouds híbridos mediante la combinación de infraestructura
propia (privada) y pública que obtiene de proveedores externos como
Amazon EC2 y ElasticHosts.
• Dispone interfaces EC2 Query y OCCI del OGF (Open Grid Forum)
• http://opennebula.org/
44. CloudStack
• Es un software open source que permite efectuar el despliegue, la configuración y la gestión de
entornos de computación elástica.
• Permite construir cualquier tipo de cloud (privado, público e híbrido) y soporta los hipervisores Xen
Server y KVM.
• CloudStack es fácil de instalar, pero la documentación del sitio oficial es deficiente.
• Tiene la posibilidad de definir máquinas virtuales de alta disponibilidad que el sistema mantendrá
en funcionamiento sin intervención del usuario o del administrador del sistema, la posibilidad de
efectuar la instalación por medio del interfaz Web de una nueva máquina virtual empelando una
imagen ISO de instalación y la posibilidad de efectuar balanceo de carga entre máquinas virtuales;
• Se puede acceder a la máquina virtual en modo gráfico por medio del interfaz Web.
• Es un gestor muy recomendable en aquellos entornos en los que sea imprescindible efectuar la
gestión de las máquinas por medio de interfaz Web.
• http://cloudstack.org/
45. Temario
1. Cloud Computing
2. Virtualización
3. Herramientas de Software Libre ó Código
Abierto para La Nube
4. Procedimiento para Implementar Cloud
Computing en escenarios virtuales
5.Conclusiones
6. Bibliografía
47. Temario
1. Cloud Computing
2. Virtualización
3. Herramientas de Software Libre ó Código
Abierto para La Nube
4. Procedimiento para Implementar Cloud
Computing en escenarios virtuales
5.Conclusiones
6. Bibliografía
48. Conclusiones
• Cualquier investigador puede incursionar en ellas sin tener
infraestructura tecnológica física
• Se pueden hacer esquemas de configuración y seguridad para
analizar y comprender problemas futuros que se puedan presentar,
en desempeño e implementación.
• Las herramientas de software libre ó de código abierto facilitan la
incorporación de infraestructuras de Cloud Computing utilizando
los modelos de despliegue SaaS, PaaS o IaaS.
• Las empresas y/o instituciones que cuentan con una infraestructura
tecnológica actual, la pueden convertir en un SaaS, PaaS o IaaS sin
invertir en muchos recursos tecnológicos.
• En caso de encontrarse alguna falla o vulnerabilidad, la comunidad
es la encargada de informar de inmediato a los developers
respectivos para que lo corrijan lo más pronto.
• Mantenga instaladas las últimas versiones estables
49. Y Recuerden …
• El Software y el conocimiento
no tienes que pagarlo, compártelo
• Compartir No Es Robar ni Piratear No al
modelo como esta planteado #LeyLleras
• “Lo que ustedes recibieron gratis, denlo
gratuitamente.” Mateo 10:8 (Biblia - Nueva
Versión Internacional)
http://www.buscad.com/biblias/nueva-
version-internacion.html
• Visita http://RedPaTodos.co e
http://Indignate.Co
50. Temario
1. Cloud Computing
2. Virtualización
3. Herramientas de Software Libre ó Código
Abierto para La Nube
4. Procedimiento para Implementar Cloud
Computing en escenarios virtuales
5.Conclusiones
6. Bibliografía
51. Bibliografía
• AMS - AMAZON WEB SERVICES (2010) . Amazon Elastic Compute Cloud (Amazon
EC2) http://aws.amazon.com/ec2/
• CSA–CLOUD SECURITY ALLIANCE (2009). Security Guidance Critical Areas of Focus
in Cloud Computing V 2.1 < http://www.cloudsecurityalliance.org/>
• EYEOS (2010). Escritorio Virtual Multiplataforma basado en el Cloud Computing <
http://eyeos.org/>
• EUCALYPTUS (2010). Eucalyptus Cloud < http://www.eucalyptus.com/>
• NIST - National Institute of Standards and Technology (2009) Effectively and
Securely Using the Cloud Computing Paradigm <
http://www.csrc.nist.gov/groups/SNS/cloud-computing/index.html>
• VMWARE (2010) Cloud Computing Services with VMware Virtualization.
http://www.vmware.com/solutions/cloud-computing/
• Open Cloud Manifiesto http://www.opencloudmanifesto.org/
• Open Cloud Consortium http://opencloudconsortium.org
• Comparativa Clouds
http://forge.cesga.es/docman/view.php/31/587/DO_SIS_formigacloud_comparati
va_software_gestion_cloud_V2.pdf
52. HackBo
• Somos un grupo de personas con diferentes
profesiones interesadas en compartir
intereses comunes basados en la tecnología
53. HackBo
• Son las iniciales de Hackerspace de Bogotá, y
nuestro interés pasar un grato agradable con
las cosas que más nos gustan (tecnología).
54. HackBo
Se realizan talleres, conferencias y reuniones relacionado
con temas de interés, como por ejemplo Arduino, una
plataforma de Hardware Libre.
55. HackBo
• Centro Cultural
El Eje Calle 17
#2-51 .Diagonal
Estación las
Aguas de
Transmilenio
• Reuniones
sábados 9:00AM
– 4:00PM
• http://hackbo.co
Un sitio físico y virtual gestionado comunitariamente donde nos
reunimos para encontrarnos, conversar, explorar y trabajar en
proyectos relacionados con tecnologías digitales.
56. ¿PREGUNTAS?
Espero que ninguna
!!! GRACIAS ¡¡¡
Ing. Luis Eduardo Cano
@luiscano (identi.ca / twitter)
http://hackbo.co
http://mozillacolombia.org
http://redpatodos.co
http://indignate.co