1. Despliegue de un Cloud privado de IaaS con
fines educativos utilizando software libre
Alberto Molina Coballes
Jes´s Moreno Le´n
u o
IES Gonzalo Nazareno
Dos Hermanas (Sevilla)
2. Cloud Computing. Caracter´
ısticas
Servicio a demanda Los recursos de software o hardware se ofrecen
como servicio a los usuarios (. . . as a Service)
Accesible a trav´s de la red Normalmente Internet
e
Agrupaci´n de recursos Los recursos se agrupan en diferentes pools:
o
almacenamiento, memoria RAM, cores, etc.
Multi-tenancy Capacidad de aislar tr´fico, datos o configuraciones de
a
usuarios utilizando el mismo software
Escalabilidad y Elasticidad Permite ajustar los recursos utilizados a la
demanda
Pago por uso Permite ajustar los costes de explotaci´n al uso de los
o
recursos
2 de 28
3. Cloud Computing. Capas
Se definen tres capas principales:
Software as a Service (SaaS) Aplicaci´n completa ofrecida como
o
servicio en la nube (Servicios de Google, Salesforce.com,
Microsoft Office 365, . . . )
Platform as a Service (PaaS) Aplicaci´n completa para el desarrollo
o
ofrecida como servicio en la nube (Google App Engine,
Windows Azure, Red Hat OpenShift, . . . )
Infrastructure as a Service (IaaS) Principalmente almacenamiento y
capacidades de c´mputo ofrecidos como servicio en la
o
nube (Amazon Web Services, RackSpace Cloud, . . . )
3 de 28
4. Cloud Computing. Tipos de despliegues
P´blico Una empresa ofrece servicios a terceros, encarg´ndose
u a
de toda la gesti´n del Cloud.
o
Privado Una organizaci´n configura sus propios recursos de
o
forma mucho m´s flexible en una nube.
a
H´
ıbrido Algunos servicios se gestionan en el cloud privado y
otros se transfieren a uno p´blico, normalmente utilizan
u
una API com´n que permita una buena integraci´n.
u o
4 de 28
5. Cloud en las ense˜anzas de inform´tica
n a
1. Las tecnolog´ de Cloud computing en s´ son importantes y deben
ıas ı
estar incluidas en el curr´
ıculo, en particular las de PaaS e IaaS.
2. Utilizar la tecnolog´ de cloud en un centro educativo es una
ıa
herramienta did´ctica muy poderosa
a
5 de 28
6. Nuestra opci´n: IaaS privado con software libre
o
IaaS La capa m´s completa de todas y que ofrece m´s
a a
posibilidades como herramienta. Adem´s es posible
a
implementar el resto de capas (PaaS o SaaS) sobre la
IaaS.
Privado Permite control total sobre el cloud, utilizarlo sin l´
ımites
y estudiarlo de forma detallada.
Software libre Entre otros motivos:
• Permite control total sobre software
• Garantiza la independencia tecnol´gica
o
• Utiliza de forma habitual est´ndares
a
• Supone un ahorro de costes a corto y largo plazo
6 de 28
7. Software libre para IaaS
Hay bastantes opciones, quiz´s las m´s relevantes actualmente son:
a a
7 de 28
8. ¿Qu´ podemos hacer en IaaS?
e
La IaaS obviamente no se pens´ para utilizar como herramienta en el
o
´mbito educativo, donde tiene un enorme potencial al resultar muy
a
sencillo:
• Ejecutar una instancia de sistemas operativos muy diversos con
cualquier grado de configuraci´n
o
• Configurar la red de la instancia
• Configurar DNS
• Acceder a la instancia de forma remota
• Utilizar m´ltiples vol´menes de almacenamiento adicional
u u
• Realizar instant´neas (snapshots) de las instancias
a
• Suspender y reanudar las instancias en cualquier momento
Todo lo anterior realizado por el propio usuario y adecuadamente
controlado mediante roles de acceso y cuotas.
8 de 28
9. Evoluci´n de las herramientas did´cticas
o a
A la par de la evoluci´n tecnol´gica se ha producido una evoluci´n en
o o o
las herramientas did´cticas para el aprendizaje de la inform´tica, que
a a
podr´ıamos de forma muy general clasificar en tres fases diferentes1 :
• Primera fase: Utilizaci´n de equipos f´
o ısicos
• Segunda fase: Utilizaci´n de m´quinas virtuales
o a
• Tercera fase: Utilizaci´n de IaaS
o
Estas fases no son excluyentes: una fase siempre puede incluir las
anteriores.
1
Nos
9 de 28
referimos siempre a ense˜anzas pr´cticas, no a la tiza ;)
n a
10. Primera fase
Utilizaci´n de equipos f´
o ısicos:
• Una m´quina por alumno
a
• Algunos servidores compartidos
• El alumno gestiona su propio
equipo
• El alumno no gestiona los
servidores
10 de 28
11. Primera fase
Ventajas
• F´cil despliegue inicial y puesta en marcha
a
Inconvenientes
• Entorno poco vers´til
a
• Pr´cticas muy limitadas por n´mero de equipos y tipo de
a u
configuraciones
• Hardware poco variado
• Pr´cticas en general muy “acad´micas”
a e
• Pr´cticas reales complicadas de preparar
a
• Tiempos muertos entre pr´cticas
a
• Posibles conflictos entre asignaturas
11 de 28
12. Segunda fase
Utilizaci´n de m´quinas virtuales:
o a
• Un equipo por alumno
• Varias m´quinas virtuales por
a
m´quina f´
a ısica
• El alumno gestiona su equipo
• El alumno gestiona sus
m´quinas virtuales
a
12 de 28
13. Segunda fase
Ventajas
• Cada alumno dispone de un entorno “completo” e independiente
• Pr´cticas menos r´
a ıgidas
• M´s sencillo simultanear pr´cticas
a a
• Se aprende virtualizaci´n de forma transversal
o
Inconvenientes
• Entorno m´s complejo
a
• Requiere equipos actualizados para los alumnos
• Los alumnos tienen que administrar el gestor de m´quinas virtuales
a
13 de 28
14. Tercera fase
Utilizaci´n de IaaS:
o
• Un equipo convencional por
alumno
• IaaS privado de la organizaci´n
o
• Los alumnos gestionan sus
instancias en el cloud
• Los alumnos no gestionan el
software de IaaS
14 de 28
15. Tercera fase
Ventajas
• Creaci´n/uso/eliminaci´n de instancias r´pido y sencillo
o o a
• Mayor variedad de pr´cticas
a
• F´cil utilizaci´n de entornos preconfigurados
a o
• Utilizaci´n de entornos m´s complejos
o a
• Equipos b´sicos para los alumnos
a
• Aprendizaje transversal de Cloud Computing
Inconvenientes
• Sistema muy centralizado
• Imprescindible administraci´n del Cloud
o
• La inversi´n inicial puede ser importante
o
15 de 28
16. Nueva forma de aprendizaje
• La utilizaci´n de IaaS en el ´mbito acad´mico proporciona una
o a e
nueva forma de aprendizaje
• Con el uso de MVs se ha impuesto una forma de aprender que no
siempre es la mejor:
◦ Configurar una red en modo NAT cuando el alumno no sabe todav´
ıa
qu´ es enrutar
e
◦ Instalar Tomcat (o mejor JBoss) para probar ”Hola mundo!”
◦ ¿Hay mundo m´s all´ de localhost?
a a
• El uso de MVs es muy conveniente, pero no deber´ condicionar la
ıa
forma de aprender.
• Un cloud puede contar con gran cantidad de im´genes
a
preconfiguradas de sistemas con muy diversas configuraciones ⇒
La forma de aprender no viene condicionada por la necesidad de
una configuraci´n previa.
o
16 de 28
17. Escenarios (I)
Instalaci´n y configuraci´n de un servicio
o o
Los pasos t´
ıpicos a seguir ser´
ıan:
• Cada alumno inicia una instancia del SO en el que va a instalar el
servicio (no es necesario que previamente sepa instalar ese SO).
• Realiza la instalaci´n del servicio
o
• Realiza la configuraci´n del servicio. Si esta configuraci´n dura
o o
m´s de una clase, suspende la instancia y la reinicia en la siguiente
a
clase.
• Una vez terminada la configuraci´n puede crear una instant´nea
o a
para utilizarla como base en posteriores pr´cticas.
a
• Si alg´n alumno no ha podido realizar la configuraci´n
u o
correctamente podr´ utilizar la instant´nea de un compa˜ero en
a a n
clases posteriores.
17 de 28
18. Escenarios (II)
Despliegue de una aplicaci´n web
o
Los pasos t´
ıpicos a seguir ser´
ıan:
• Se prepara una imagen de un sistema en el que se configura de
forma precisa un completo servidor web con todos los m´dulos
o
necesarios. Se instala y configura un servidor git u otro scm.
• Cada alumno inicia una instancia de la imagen anterior y transfiere
la aplicaci´n web desde su equipo.
o
• Comprueba el funcionamiento en un servidor remoto (la instancia)
con similares caracter´
ısticas que tendr´ en un servidor remoto real.
ıa
• En caso de que tenga que utilizar la instancia durante m´s de una
a
clase, suspende y reinicia cuando sea necesario.
• En caso de fallos o errores, puede crear una nueva instancia a partir
de la imagen inicial o de una instant´nea guardada previamente.
a
18 de 28
19. Escenarios (III)
Test de intrusi´n
o
• Se levanta una instancia y se configuran algunos servicios
vulnerables. Se hace una instant´nea y se almacena.
a
• Cada alumno inicia una instancia de la imagen anterior sin conocer
las caracter´
ısticas de las vulnerabilidades ni en los servicios en las
que se producen.
• Cada alumno tiene que realizar un test de intrusi´n tal como se
o
har´ en un escenario real.
ıa
19 de 28
20. Escenarios. Resumen
• Esto no son m´s que algunos ejemplos suficientemente diversos
a
para ver las enormes posibilidades que se abren.
• En general, pueden plantearse pr´cticas m´s complejas, inviables
a a
en el esquema tradicional de uso de m´quinas virtuales por la
a
complejidad de configurar el escenario inicial y por los problemas
que acarrea una equivocaci´n del alumno durante el desarrollo de
o
la pr´ctica.
a
• Adem´s las pr´cticas no interfieren con otras asignaturas, parar la
a a
pr´ctica y continuar otro d´ es tan simple como suspender la
a ıa
instancia y reanudarla cuando se precise.
20 de 28
21. IaaS en el IES Gonzalo Nazareno
• Hardware
◦ 1 nodo controlador
◦ 4 nodos de computaci´n: 80 cores a 2.6 GHz y 192 GiB RAM
o
◦ 1 nodo de almacenamiento: 12 TiB
• Software
◦ OpenStack Essex (2012.1) sobre Debian Wheezy en el nodo
controlador y los nodos de computaci´n
o
◦ 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
23. OpenStack
• Proyecto libre y de desarrollo abierto iniciado en 2010
• Fuerte ritmo de desarrollo: ciclo de publicaci´n de 6 meses
o
◦ Austin, Bexar, Cactus, Diablo, Essex, Folsom, Grizzly, . . .
• Tecnolog´ utilizadas
ıas
◦ Python
◦ Hipervisores: KVM y Xen. Parcialmente LXC, Hyper-V y ESXi
◦ Almacenamiento de vol´menes: LVM (Zvol) + iSCSI, Ceph RBD
u
◦ M´ltiples componentes. Comunicaci´n AMQP y APIs web
u o
◦ iptables
◦ Almacenamiento de objetos: Swift
◦ Autenticaci´n por tokens
o
◦ Integraci´n con LDAP
o
◦ VLAN, Bridges, VPN o Quantum
23 de 28
25. Equipamiento inicial
• Al opta por software libre, la principal inversi´n son los servidores
o
que formar´n el cloud de infraestructura.
a
• Configuraci´n m´
o ınima: 3 servidores (1 gesti´n del cloud y 2 para
o
ejecuci´n de instancias)
o
• Configuraci´n recomendada: 2 servidores para gesti´n (en HA),
o o
1 para almacenamiento y 4 o m´s para ejecuci´n de instancias
a o
• Para la gesti´n del cloud es suficiente un equipo de caracter´
o ısticas
m´
ınimas.
• Para la ejecuci´n de instancias es necesario procesadores potentes
o
y mucha memoria RAM (entre 0,5 y 2 GiB por instancia)
• El almacenamiento depende del n´mero de im´genes, instant´neas
u a a
y vol´menes que sea necesario guardar.
u
• Sistema f´cilmente escalable, se puede empezar por una
a
configuraci´n m´
o ınima e ir a˜adiendo componentes a˜o a a˜o.
n n n
25 de 28
26. Conclusiones
• Es necesario incluir Cloud computing en los curr´
ıculos
• No s´lo es importante conocer el Cloud, sino que utilizarlo
o
habitualmente en clase permite adquirir unas destrezas
significativas en su manejo
• Todas las capas de Cloud son interesantes, pero la que ofrece
mayores opciones es IaaS
• Una organizaci´n que implante un cloud de infraestructura
o
propiciar´ que sus alumnos hagan pr´cticas muy interesantes,
a a
dif´
ıcilmente realizables en otros entornos
• En el caso de alumnos de sistemas, disponer de un cloud de
infraestructura, permite conocer con detalle y en profundidad una
tecnolog´ para la que se prev´ una importante demanda futura
ıa e
26 de 28
28. Despliegue de un Cloud privado de IaaS con
fines educativos utilizando software libre
Alberto Molina Coballes
Jes´s Moreno Le´n
u o
IES Gonzalo Nazareno
Dos Hermanas (Sevilla)