28
Despliegue de un Cloud privado de IaaS con fines educativos utilizando software libre Alberto Molina Coballes Jes´ us Moreno Le´ on IES Gonzalo Nazareno Dos Hermanas (Sevilla)

Despliegue de un Cloud privado de IaaS con fines educativos utilizando software libre

Embed Size (px)

Citation preview

Page 1: Despliegue de un Cloud privado de IaaS con fines educativos utilizando software libre

Despliegue de un Cloud privado de IaaS confines educativos utilizando software libre

Alberto Molina CoballesJesus Moreno Leon

IES Gonzalo NazarenoDos Hermanas (Sevilla)

Page 2: Despliegue de un Cloud privado de IaaS con fines educativos utilizando software libre

Cloud Computing. Caracterısticas

Servicio a demanda Los recursos de software o hardware se ofrecencomo servicio a los usuarios (. . . as a Service)

Accesible a traves de la red Normalmente Internet

Agrupacion de recursos Los recursos se agrupan en diferentes pools:almacenamiento, memoria RAM, cores, etc.

Multi-tenancy Capacidad de aislar trafico, datos o configuraciones deusuarios utilizando el mismo software

Escalabilidad y Elasticidad Permite ajustar los recursos utilizados a lademanda

Pago por uso Permite ajustar los costes de explotacion al uso de losrecursos

2 de 28

Page 3: Despliegue de un Cloud privado de IaaS con fines educativos utilizando software libre

Cloud Computing. Capas

Se definen tres capas principales:

Software as a Service (SaaS) Aplicacion completa ofrecida comoservicio en la nube (Servicios de Google, Salesforce.com,Microsoft Office 365, . . . )

Platform as a Service (PaaS) Aplicacion completa para el desarrolloofrecida como servicio en la nube (Google App Engine,Windows Azure, Red Hat OpenShift, . . . )

Infrastructure as a Service (IaaS) Principalmente almacenamiento ycapacidades de computo ofrecidos como servicio en lanube (Amazon Web Services, RackSpace Cloud, . . . )

3 de 28

Page 4: Despliegue de un Cloud privado de IaaS con fines educativos utilizando software libre

Cloud Computing. Tipos de despliegues

Publico Una empresa ofrece servicios a terceros, encargandosede toda la gestion del Cloud.

Privado Una organizacion configura sus propios recursos deforma mucho mas flexible en una nube.

Hıbrido Algunos servicios se gestionan en el cloud privado yotros se transfieren a uno publico, normalmente utilizanuna API comun que permita una buena integracion.

4 de 28

Page 5: Despliegue de un Cloud privado de IaaS con fines educativos utilizando software libre

Cloud en las ensenanzas de informatica

1. Las tecnologıas de Cloud computing en sı son importantes y debenestar incluidas en el currıculo, en particular las de PaaS e IaaS.

2. Utilizar la tecnologıa de cloud en un centro educativo es unaherramienta didactica muy poderosa

5 de 28

Page 6: Despliegue de un Cloud privado de IaaS con fines educativos utilizando software libre

Nuestra opcion: IaaS privado con software libre

IaaS La capa mas completa de todas y que ofrece masposibilidades como herramienta. Ademas es posibleimplementar el resto de capas (PaaS o SaaS) sobre laIaaS.

Privado Permite control total sobre el cloud, utilizarlo sin lımitesy estudiarlo de forma detallada.

Software libre Entre otros motivos:

• Permite control total sobre software• Garantiza la independencia tecnologica• Utiliza de forma habitual estandares• Supone un ahorro de costes a corto y largo plazo

6 de 28

Page 7: Despliegue de un Cloud privado de IaaS con fines educativos utilizando software libre

Software libre para IaaS

Hay bastantes opciones, quizas las mas relevantes actualmente son:

7 de 28

Page 8: Despliegue de un Cloud privado de IaaS con fines educativos utilizando software libre

¿Que podemos hacer en IaaS?

La IaaS obviamente no se penso para utilizar como herramienta en elambito educativo, donde tiene un enorme potencial al resultar muysencillo:

• Ejecutar una instancia de sistemas operativos muy diversos concualquier grado de configuracion

• Configurar la red de la instancia

• Configurar DNS

• Acceder a la instancia de forma remota

• Utilizar multiples volumenes de almacenamiento adicional

• Realizar instantaneas (snapshots) de las instancias

• Suspender y reanudar las instancias en cualquier momento

Todo lo anterior realizado por el propio usuario y adecuadamentecontrolado mediante roles de acceso y cuotas.8 de 28

Page 9: Despliegue de un Cloud privado de IaaS con fines educativos utilizando software libre

Evolucion de las herramientas didacticas

A la par de la evolucion tecnologica se ha producido una evolucion enlas herramientas didacticas para el aprendizaje de la informatica, quepodrıamos de forma muy general clasificar en tres fases diferentes1:

• Primera fase: Utilizacion de equipos fısicos

• Segunda fase: Utilizacion de maquinas virtuales

• Tercera fase: Utilizacion de IaaS

Estas fases no son excluyentes: una fase siempre puede incluir lasanteriores.

1Nos referimos siempre a ensenanzas practicas, no a la tiza ;)9 de 28

Page 10: Despliegue de un Cloud privado de IaaS con fines educativos utilizando software libre

Primera fase

Utilizacion de equipos fısicos:

• Una maquina por alumno

• Algunos servidores compartidos

• El alumno gestiona su propioequipo

• El alumno no gestiona losservidores

10 de 28

Page 11: Despliegue de un Cloud privado de IaaS con fines educativos utilizando software libre

Primera fase

Ventajas

• Facil despliegue inicial y puesta en marcha

Inconvenientes

• Entorno poco versatil

• Practicas muy limitadas por numero de equipos y tipo deconfiguraciones

• Hardware poco variado

• Practicas en general muy “academicas”

• Practicas reales complicadas de preparar

• Tiempos muertos entre practicas

• Posibles conflictos entre asignaturas11 de 28

Page 12: Despliegue de un Cloud privado de IaaS con fines educativos utilizando software libre

Segunda fase

Utilizacion de maquinas virtuales:

• Un equipo por alumno

• Varias maquinas virtuales pormaquina fısica

• El alumno gestiona su equipo

• El alumno gestiona susmaquinas virtuales

12 de 28

Page 13: Despliegue de un Cloud privado de IaaS con fines educativos utilizando software libre

Segunda fase

Ventajas

• Cada alumno dispone de un entorno “completo” e independiente

• Practicas menos rıgidas

• Mas sencillo simultanear practicas

• Se aprende virtualizacion de forma transversal

Inconvenientes

• Entorno mas complejo

• Requiere equipos actualizados para los alumnos

• Los alumnos tienen que administrar el gestor de maquinas virtuales

13 de 28

Page 14: Despliegue de un Cloud privado de IaaS con fines educativos utilizando software libre

Tercera fase

Utilizacion de IaaS:

• Un equipo convencional poralumno

• IaaS privado de la organizacion

• Los alumnos gestionan susinstancias en el cloud

• Los alumnos no gestionan elsoftware de IaaS

14 de 28

Page 15: Despliegue de un Cloud privado de IaaS con fines educativos utilizando software libre

Tercera fase

Ventajas

• Creacion/uso/eliminacion de instancias rapido y sencillo

• Mayor variedad de practicas

• Facil utilizacion de entornos preconfigurados

• Utilizacion de entornos mas complejos

• Equipos basicos para los alumnos

• Aprendizaje transversal de Cloud Computing

Inconvenientes

• Sistema muy centralizado

• Imprescindible administracion del Cloud

• La inversion inicial puede ser importante15 de 28

Page 16: Despliegue de un Cloud privado de IaaS con fines educativos utilizando software libre

Nueva forma de aprendizaje

• La utilizacion de IaaS en el ambito academico proporciona unanueva forma de aprendizaje

• Con el uso de MVs se ha impuesto una forma de aprender que nosiempre es la mejor:◦ Configurar una red en modo NAT cuando el alumno no sabe todavıa

que es enrutar◦ Instalar Tomcat (o mejor JBoss) para probar ”Hola mundo!”◦ ¿Hay mundo mas alla de localhost?

• El uso de MVs es muy conveniente, pero no deberıa condicionar laforma de aprender.

• Un cloud puede contar con gran cantidad de imagenespreconfiguradas de sistemas con muy diversas configuraciones ⇒La forma de aprender no viene condicionada por la necesidad deuna configuracion previa.

16 de 28

Page 17: Despliegue de un Cloud privado de IaaS con fines educativos utilizando software libre

Escenarios (I)

Instalacion y configuracion de un servicio

Los pasos tıpicos a seguir serıan:

• Cada alumno inicia una instancia del SO en el que va a instalar elservicio (no es necesario que previamente sepa instalar ese SO).

• Realiza la instalacion del servicio• Realiza la configuracion del servicio. Si esta configuracion dura

mas de una clase, suspende la instancia y la reinicia en la siguienteclase.

• Una vez terminada la configuracion puede crear una instantaneapara utilizarla como base en posteriores practicas.

• Si algun alumno no ha podido realizar la configuracioncorrectamente podra utilizar la instantanea de un companero enclases posteriores.

17 de 28

Page 18: Despliegue de un Cloud privado de IaaS con fines educativos utilizando software libre

Escenarios (II)

Despliegue de una aplicacion web

Los pasos tıpicos a seguir serıan:

• Se prepara una imagen de un sistema en el que se configura deforma precisa un completo servidor web con todos los modulosnecesarios. Se instala y configura un servidor git u otro scm.

• Cada alumno inicia una instancia de la imagen anterior y transfierela aplicacion web desde su equipo.

• Comprueba el funcionamiento en un servidor remoto (la instancia)con similares caracterısticas que tendrıa en un servidor remoto real.

• En caso de que tenga que utilizar la instancia durante mas de unaclase, suspende y reinicia cuando sea necesario.

• En caso de fallos o errores, puede crear una nueva instancia a partirde la imagen inicial o de una instantanea guardada previamente.

18 de 28

Page 19: Despliegue de un Cloud privado de IaaS con fines educativos utilizando software libre

Escenarios (III)

Test de intrusion

• Se levanta una instancia y se configuran algunos serviciosvulnerables. Se hace una instantanea y se almacena.

• Cada alumno inicia una instancia de la imagen anterior sin conocerlas caracterısticas de las vulnerabilidades ni en los servicios en lasque se producen.

• Cada alumno tiene que realizar un test de intrusion tal como seharıa en un escenario real.

19 de 28

Page 20: Despliegue de un Cloud privado de IaaS con fines educativos utilizando software libre

Escenarios. Resumen

• Esto no son mas que algunos ejemplos suficientemente diversospara ver las enormes posibilidades que se abren.

• En general, pueden plantearse practicas mas complejas, inviablesen el esquema tradicional de uso de maquinas virtuales por lacomplejidad de configurar el escenario inicial y por los problemasque acarrea una equivocacion del alumno durante el desarrollo dela practica.

• Ademas las practicas no interfieren con otras asignaturas, parar lapractica y continuar otro dıa es tan simple como suspender lainstancia y reanudarla cuando se precise.

20 de 28

Page 21: Despliegue de un Cloud privado de IaaS con fines educativos utilizando software libre

IaaS en el IES Gonzalo Nazareno

• Hardware◦ 1 nodo controlador◦ 4 nodos de computacion: 80 cores a 2.6 GHz y 192 GiB RAM◦ 1 nodo de almacenamiento: 12 TiB

• Software◦ OpenStack Essex (2012.1) sobre Debian Wheezy en el nodo

controlador y los nodos de computacion◦ Provisionalmente NexentaStor en el nodo de almacenamiento◦ KVM como hipervisor

• Redes◦ Red de almacenamiento Gigabit Ethernet (192.168.222.0/24)◦ Red local Gigabit Ethernet (172.22.0.0/16)

• Proyectos◦ Cada alumno dispone de un proyecto propio aislado en una VLAN◦ Cada grupo dispone de un proyecto compartido

21 de 28

Page 22: Despliegue de un Cloud privado de IaaS con fines educativos utilizando software libre

IaaS en el IES Gonzalo Nazareno

22 de 28

Page 23: Despliegue de un Cloud privado de IaaS con fines educativos utilizando software libre

OpenStack

• Proyecto libre y de desarrollo abierto iniciado en 2010

• Fuerte ritmo de desarrollo: ciclo de publicacion de 6 meses◦ Austin, Bexar, Cactus, Diablo, Essex, Folsom, Grizzly, . . .

• Tecnologıas utilizadas◦ Python◦ Hipervisores: KVM y Xen. Parcialmente LXC, Hyper-V y ESXi◦ Almacenamiento de volumenes: LVM (Zvol) + iSCSI, Ceph RBD◦ Multiples componentes. Comunicacion AMQP y APIs web◦ iptables◦ Almacenamiento de objetos: Swift◦ Autenticacion por tokens◦ Integracion con LDAP◦ VLAN, Bridges, VPN o Quantum

23 de 28

Page 24: Despliegue de un Cloud privado de IaaS con fines educativos utilizando software libre

Demo

http://vimeo.com/51806641

24 de 28

Page 25: Despliegue de un Cloud privado de IaaS con fines educativos utilizando software libre

Equipamiento inicial

• Al opta por software libre, la principal inversion son los servidoresque formaran el cloud de infraestructura.

• Configuracion mınima: 3 servidores (1 gestion del cloud y 2 paraejecucion de instancias)

• Configuracion recomendada: 2 servidores para gestion (en HA),1 para almacenamiento y 4 o mas para ejecucion de instancias

• Para la gestion del cloud es suficiente un equipo de caracterısticasmınimas.

• Para la ejecucion de instancias es necesario procesadores potentesy mucha memoria RAM (entre 0,5 y 2 GiB por instancia)

• El almacenamiento depende del numero de imagenes, instantaneasy volumenes que sea necesario guardar.

• Sistema facilmente escalable, se puede empezar por unaconfiguracion mınima e ir anadiendo componentes ano a ano.

25 de 28

Page 26: Despliegue de un Cloud privado de IaaS con fines educativos utilizando software libre

Conclusiones

• Es necesario incluir Cloud computing en los currıculos

• No solo es importante conocer el Cloud, sino que utilizarlohabitualmente en clase permite adquirir unas destrezassignificativas en su manejo

• Todas las capas de Cloud son interesantes, pero la que ofrecemayores opciones es IaaS

• Una organizacion que implante un cloud de infraestructurapropiciara que sus alumnos hagan practicas muy interesantes,difıcilmente realizables en otros entornos

• En el caso de alumnos de sistemas, disponer de un cloud deinfraestructura, permite conocer con detalle y en profundidad unatecnologıa para la que se preve una importante demanda futura

26 de 28

Page 27: Despliegue de un Cloud privado de IaaS con fines educativos utilizando software libre

¿Quieres saber mas?

http://www.gonzalonazareno.org/cloud

27 de 28

Page 28: Despliegue de un Cloud privado de IaaS con fines educativos utilizando software libre

Despliegue de un Cloud privado de IaaS confines educativos utilizando software libre

Alberto Molina CoballesJesus Moreno Leon

IES Gonzalo NazarenoDos Hermanas (Sevilla)