32
CygnusCloud: provisión de puestos de laboratorio virtuales bajo demanda Luis Barrios Hernández Adrián Fernández Hernández Samuel Guayerbas Martín Universidad Complutense de Madrid Fase final, 7 a edición CUSL Granada, mayo de 2013 Barrios, Fernández, Guayerbas (UCM) CygnusCloud 24/05/13 1 / 17

CygnusCloud: provisión de puestos de laboratorio virtuales ... · ElsistemaCygnusCloud EscritoenPython,HTML5yJavaScript ConstruidosobreKVM,libvirt,MariaDB,Twisted,pyftpdlibyweb2py

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: CygnusCloud: provisión de puestos de laboratorio virtuales ... · ElsistemaCygnusCloud EscritoenPython,HTML5yJavaScript ConstruidosobreKVM,libvirt,MariaDB,Twisted,pyftpdlibyweb2py

CygnusCloud:provisión de puestos de laboratorio virtuales bajo demanda

Luis Barrios HernándezAdrián Fernández HernándezSamuel Guayerbas Martín

Universidad Complutense de Madrid

Fase final, 7a edición CUSLGranada, mayo de 2013

Barrios, Fernández, Guayerbas (UCM) CygnusCloud 24/05/13 1 / 17

Page 2: CygnusCloud: provisión de puestos de laboratorio virtuales ... · ElsistemaCygnusCloud EscritoenPython,HTML5yJavaScript ConstruidosobreKVM,libvirt,MariaDB,Twisted,pyftpdlibyweb2py

¿Quienes somos?

Luis Barrios Hernándezestudio Ingeniería Informática en la Universidad Complutense.(feliz) usuario de software libre desde hace más de 11 años. . . y desarrollador de software libre desde hace 2me interesaría trabajar

diseñando e implementando sistemas distribuidoscacharreando con hardware y redes

Barrios, Fernández, Guayerbas (UCM) CygnusCloud 24/05/13 2 / 17

Page 3: CygnusCloud: provisión de puestos de laboratorio virtuales ... · ElsistemaCygnusCloud EscritoenPython,HTML5yJavaScript ConstruidosobreKVM,libvirt,MariaDB,Twisted,pyftpdlibyweb2py

¿Quienes somos?

Adrián Fernández Hernándezestudio Ingeniería Informática en la Universidad Complutense.utilizo software libre de forma habitual desde hace más de 3 añosme interesaría trabajar en

diseño webinformática gráfica

Barrios, Fernández, Guayerbas (UCM) CygnusCloud 24/05/13 3 / 17

Page 4: CygnusCloud: provisión de puestos de laboratorio virtuales ... · ElsistemaCygnusCloud EscritoenPython,HTML5yJavaScript ConstruidosobreKVM,libvirt,MariaDB,Twisted,pyftpdlibyweb2py

¿Quienes somos?

Samuel Guayerbas Martínestudio Ingeniería Informática en la Universidad Complutense.llevo un año viviendo fuera de Windows. . . y no pienso volverhe desarrollado videojuegos libres (IronHand). . . y quiero vivir de ello.

Barrios, Fernández, Guayerbas (UCM) CygnusCloud 24/05/13 4 / 17

Page 5: CygnusCloud: provisión de puestos de laboratorio virtuales ... · ElsistemaCygnusCloud EscritoenPython,HTML5yJavaScript ConstruidosobreKVM,libvirt,MariaDB,Twisted,pyftpdlibyweb2py

¿Por qué hemos desarrollado CygnusCloud?

Para resolver tres problemas:1 escasez de aulas de informática2 exceso de burocracia para cambiar la configuración de los equipos3 sobrecoste de las aulas de informática

Barrios, Fernández, Guayerbas (UCM) CygnusCloud 24/05/13 5 / 17

Page 6: CygnusCloud: provisión de puestos de laboratorio virtuales ... · ElsistemaCygnusCloud EscritoenPython,HTML5yJavaScript ConstruidosobreKVM,libvirt,MariaDB,Twisted,pyftpdlibyweb2py

Problema #1: no hay suficientes aulas de informática

En la Facultad de Informática de la UCM se imparten siete titulacionesdistintasTodos competimos por 11 aulas de informática, con 20 PCs cada unaSólo podemos utilizarlas cuando no se da clase

Si no hay equipos disponiblesusamos nuestros portátiles o nos vamos a casa. . . aunque haya sitio en otras facultades

Barrios, Fernández, Guayerbas (UCM) CygnusCloud 24/05/13 6 / 17

Page 7: CygnusCloud: provisión de puestos de laboratorio virtuales ... · ElsistemaCygnusCloud EscritoenPython,HTML5yJavaScript ConstruidosobreKVM,libvirt,MariaDB,Twisted,pyftpdlibyweb2py

Problema #1: no hay suficientes aulas de informática

En la Facultad de Informática de la UCM se imparten siete titulacionesdistintasTodos competimos por 11 aulas de informática, con 20 PCs cada unaSólo podemos utilizarlas cuando no se da clase

Si no hay equipos disponiblesusamos nuestros portátiles o nos vamos a casa

. . . aunque haya sitio en otras facultades

Barrios, Fernández, Guayerbas (UCM) CygnusCloud 24/05/13 6 / 17

Page 8: CygnusCloud: provisión de puestos de laboratorio virtuales ... · ElsistemaCygnusCloud EscritoenPython,HTML5yJavaScript ConstruidosobreKVM,libvirt,MariaDB,Twisted,pyftpdlibyweb2py

Problema #1: no hay suficientes aulas de informática

En la Facultad de Informática de la UCM se imparten siete titulacionesdistintasTodos competimos por 11 aulas de informática, con 20 PCs cada unaSólo podemos utilizarlas cuando no se da clase

Si no hay equipos disponiblesusamos nuestros portátiles o nos vamos a casa. . . aunque haya sitio en otras facultades

Barrios, Fernández, Guayerbas (UCM) CygnusCloud 24/05/13 6 / 17

Page 9: CygnusCloud: provisión de puestos de laboratorio virtuales ... · ElsistemaCygnusCloud EscritoenPython,HTML5yJavaScript ConstruidosobreKVM,libvirt,MariaDB,Twisted,pyftpdlibyweb2py

Problema #2: mucha burocracia

la configuración de los equipos se modifica

. . . a golpe de instancia

sólo es posible introducir cambios al principio del cuatrimestresi después hay que introducir alguno. . . tocará esperar durante meses

Barrios, Fernández, Guayerbas (UCM) CygnusCloud 24/05/13 7 / 17

Page 10: CygnusCloud: provisión de puestos de laboratorio virtuales ... · ElsistemaCygnusCloud EscritoenPython,HTML5yJavaScript ConstruidosobreKVM,libvirt,MariaDB,Twisted,pyftpdlibyweb2py

Problema #2: mucha burocracia

la configuración de los equipos se modifica. . . a golpe de instancia

sólo es posible introducir cambios al principio del cuatrimestresi después hay que introducir alguno. . . tocará esperar durante meses

Barrios, Fernández, Guayerbas (UCM) CygnusCloud 24/05/13 7 / 17

Page 11: CygnusCloud: provisión de puestos de laboratorio virtuales ... · ElsistemaCygnusCloud EscritoenPython,HTML5yJavaScript ConstruidosobreKVM,libvirt,MariaDB,Twisted,pyftpdlibyweb2py

Problema #2: mucha burocracia

la configuración de los equipos se modifica. . . a golpe de instancia

sólo es posible introducir cambios al principio del cuatrimestresi después hay que introducir alguno

. . . tocará esperar durante meses

Barrios, Fernández, Guayerbas (UCM) CygnusCloud 24/05/13 7 / 17

Page 12: CygnusCloud: provisión de puestos de laboratorio virtuales ... · ElsistemaCygnusCloud EscritoenPython,HTML5yJavaScript ConstruidosobreKVM,libvirt,MariaDB,Twisted,pyftpdlibyweb2py

Problema #2: mucha burocracia

la configuración de los equipos se modifica. . . a golpe de instancia

sólo es posible introducir cambios al principio del cuatrimestresi después hay que introducir alguno. . . tocará esperar durante meses

Barrios, Fernández, Guayerbas (UCM) CygnusCloud 24/05/13 7 / 17

Page 13: CygnusCloud: provisión de puestos de laboratorio virtuales ... · ElsistemaCygnusCloud EscritoenPython,HTML5yJavaScript ConstruidosobreKVM,libvirt,MariaDB,Twisted,pyftpdlibyweb2py

Problema #3: estamos perdiendo dinero

no es posible compartir licencias de pago entre distintas facultadesno aprovechamos las aulas de informática vacíasapenas explotamos la potencia de los PCs de estas aulas

Barrios, Fernández, Guayerbas (UCM) CygnusCloud 24/05/13 8 / 17

Page 14: CygnusCloud: provisión de puestos de laboratorio virtuales ... · ElsistemaCygnusCloud EscritoenPython,HTML5yJavaScript ConstruidosobreKVM,libvirt,MariaDB,Twisted,pyftpdlibyweb2py

Demo

Esta presentación se está visualizando desde CygnusCloud.

Barrios, Fernández, Guayerbas (UCM) CygnusCloud 24/05/13 9 / 17

Page 15: CygnusCloud: provisión de puestos de laboratorio virtuales ... · ElsistemaCygnusCloud EscritoenPython,HTML5yJavaScript ConstruidosobreKVM,libvirt,MariaDB,Twisted,pyftpdlibyweb2py

El sistema CygnusCloud

Escrito en Python, HTML5 y JavaScriptConstruido sobre KVM, libvirt, MariaDB, Twisted, pyftpdlib y web2pySoftware libre, liberado bajo licencia LGPL/Apache 2

Dirigido a instituciones académicasSimple y eficiente

aprovechando equipos antiguos, puede implantarse con coste cero

Permite que1 los alumnos de cualquier carrera trabajen en cualquier aula de

informática del campus.2 los profesores introduzcan cambios en la configuración de los equipos

en cuestión de horas3 las aulas de informática se aprovechen al máximo.

Barrios, Fernández, Guayerbas (UCM) CygnusCloud 24/05/13 10 / 17

Page 16: CygnusCloud: provisión de puestos de laboratorio virtuales ... · ElsistemaCygnusCloud EscritoenPython,HTML5yJavaScript ConstruidosobreKVM,libvirt,MariaDB,Twisted,pyftpdlibyweb2py

El sistema CygnusCloud

Escrito en Python, HTML5 y JavaScriptConstruido sobre KVM, libvirt, MariaDB, Twisted, pyftpdlib y web2pySoftware libre, liberado bajo licencia LGPL/Apache 2

Dirigido a instituciones académicasSimple y eficiente

aprovechando equipos antiguos, puede implantarse con coste cero

Permite que1 los alumnos de cualquier carrera trabajen en cualquier aula de

informática del campus.2 los profesores introduzcan cambios en la configuración de los equipos

en cuestión de horas3 las aulas de informática se aprovechen al máximo.

Barrios, Fernández, Guayerbas (UCM) CygnusCloud 24/05/13 10 / 17

Page 17: CygnusCloud: provisión de puestos de laboratorio virtuales ... · ElsistemaCygnusCloud EscritoenPython,HTML5yJavaScript ConstruidosobreKVM,libvirt,MariaDB,Twisted,pyftpdlibyweb2py

El sistema CygnusCloud

Escrito en Python, HTML5 y JavaScriptConstruido sobre KVM, libvirt, MariaDB, Twisted, pyftpdlib y web2pySoftware libre, liberado bajo licencia LGPL/Apache 2

Dirigido a instituciones académicasSimple y eficiente

aprovechando equipos antiguos, puede implantarse con coste cero

Permite que1 los alumnos de cualquier carrera trabajen en cualquier aula de

informática del campus.2 los profesores introduzcan cambios en la configuración de los equipos

en cuestión de horas3 las aulas de informática se aprovechen al máximo.

Barrios, Fernández, Guayerbas (UCM) CygnusCloud 24/05/13 10 / 17

Page 18: CygnusCloud: provisión de puestos de laboratorio virtuales ... · ElsistemaCygnusCloud EscritoenPython,HTML5yJavaScript ConstruidosobreKVM,libvirt,MariaDB,Twisted,pyftpdlibyweb2py

Demo

Esta presentación se está visualizando desde CygnusCloud.

Barrios, Fernández, Guayerbas (UCM) CygnusCloud 24/05/13 11 / 17

Page 19: CygnusCloud: provisión de puestos de laboratorio virtuales ... · ElsistemaCygnusCloud EscritoenPython,HTML5yJavaScript ConstruidosobreKVM,libvirt,MariaDB,Twisted,pyftpdlibyweb2py

¿Qué ofrece CygnusCloud?

Control de accesoGestión de usuarios y asignaturas

Arranque y detención de máquinas virtualesCreación y edición de máquinas virtuales, incluso en varias fases.Borrado de máquinas virtuales

Gestión de errores: interrupciones en la edición de una imagen,caídas de conexión, errores internos en los servidores,. . .

podrá usarse en una prueba piloto o incluso en producción

Barrios, Fernández, Guayerbas (UCM) CygnusCloud 24/05/13 12 / 17

Page 20: CygnusCloud: provisión de puestos de laboratorio virtuales ... · ElsistemaCygnusCloud EscritoenPython,HTML5yJavaScript ConstruidosobreKVM,libvirt,MariaDB,Twisted,pyftpdlibyweb2py

¿Qué ofrece CygnusCloud?

Control de accesoGestión de usuarios y asignaturas

Arranque y detención de máquinas virtualesCreación y edición de máquinas virtuales, incluso en varias fases.Borrado de máquinas virtuales

Gestión de errores: interrupciones en la edición de una imagen,caídas de conexión, errores internos en los servidores,. . .

podrá usarse en una prueba piloto o incluso en producción

Barrios, Fernández, Guayerbas (UCM) CygnusCloud 24/05/13 12 / 17

Page 21: CygnusCloud: provisión de puestos de laboratorio virtuales ... · ElsistemaCygnusCloud EscritoenPython,HTML5yJavaScript ConstruidosobreKVM,libvirt,MariaDB,Twisted,pyftpdlibyweb2py

¿Qué ofrece CygnusCloud?

Control de accesoGestión de usuarios y asignaturas

Arranque y detención de máquinas virtualesCreación y edición de máquinas virtuales, incluso en varias fases.Borrado de máquinas virtuales

Gestión de errores: interrupciones en la edición de una imagen,caídas de conexión, errores internos en los servidores,. . .

podrá usarse en una prueba piloto o incluso en producción

Barrios, Fernández, Guayerbas (UCM) CygnusCloud 24/05/13 12 / 17

Page 22: CygnusCloud: provisión de puestos de laboratorio virtuales ... · ElsistemaCygnusCloud EscritoenPython,HTML5yJavaScript ConstruidosobreKVM,libvirt,MariaDB,Twisted,pyftpdlibyweb2py

¿Para qué no sirve CygnusCloud?

CygnusCloud no puede utilizarse para realizar tareasque refrescan mucho la pantalla (como la renderización de gráficos 3D)

limitación impuesta por el protocolo VNC.

que requieren mucho tráfico entre el equipo del usuario y la máquinavirtual (como la edición de vídeos)

Barrios, Fernández, Guayerbas (UCM) CygnusCloud 24/05/13 13 / 17

Page 23: CygnusCloud: provisión de puestos de laboratorio virtuales ... · ElsistemaCygnusCloud EscritoenPython,HTML5yJavaScript ConstruidosobreKVM,libvirt,MariaDB,Twisted,pyftpdlibyweb2py

¿Para qué no sirve CygnusCloud?

CygnusCloud no puede utilizarse para realizar tareasque refrescan mucho la pantalla (como la renderización de gráficos 3D)

limitación impuesta por el protocolo VNC.

que requieren mucho tráfico entre el equipo del usuario y la máquinavirtual (como la edición de vídeos)

Barrios, Fernández, Guayerbas (UCM) CygnusCloud 24/05/13 13 / 17

Page 24: CygnusCloud: provisión de puestos de laboratorio virtuales ... · ElsistemaCygnusCloud EscritoenPython,HTML5yJavaScript ConstruidosobreKVM,libvirt,MariaDB,Twisted,pyftpdlibyweb2py

¿Qué hace falta para utilizar CygnusCloud?

Dos cosas:Servidores. Pueden ser bastante antiguos

CPU Intel Core 2 Duo, 2 GB de RAM, 20 GB de espacio en disco paralos que albergan máquinas virtuales.CPU Intel Pentium 4 a 2 GHz, y 1 GB de RAM, 2 GB de disco duropara el resto.

Ancho de banda. Como mínimo, una red a 100 Mb/s.

Barrios, Fernández, Guayerbas (UCM) CygnusCloud 24/05/13 14 / 17

Page 25: CygnusCloud: provisión de puestos de laboratorio virtuales ... · ElsistemaCygnusCloud EscritoenPython,HTML5yJavaScript ConstruidosobreKVM,libvirt,MariaDB,Twisted,pyftpdlibyweb2py

¿Qué hace falta para utilizar CygnusCloud?

Dos cosas:Servidores. Pueden ser bastante antiguos

CPU Intel Core 2 Duo, 2 GB de RAM, 20 GB de espacio en disco paralos que albergan máquinas virtuales.CPU Intel Pentium 4 a 2 GHz, y 1 GB de RAM, 2 GB de disco duropara el resto.

Ancho de banda. Como mínimo, una red a 100 Mb/s.

Barrios, Fernández, Guayerbas (UCM) CygnusCloud 24/05/13 14 / 17

Page 26: CygnusCloud: provisión de puestos de laboratorio virtuales ... · ElsistemaCygnusCloud EscritoenPython,HTML5yJavaScript ConstruidosobreKVM,libvirt,MariaDB,Twisted,pyftpdlibyweb2py

¿Cuánto cuesta implantar CygnusCloud?

Sólo hay que asumir el coste delos servidores (ninguno si se reutilizan)el equipo de red (ninguno si se reutiliza)

la energía eléctrica consumidalas licencias Windows Virtual Desktop Access, en caso de quererofrecer máquinas virtuales con el sistema operativo Windows instalado.

Barrios, Fernández, Guayerbas (UCM) CygnusCloud 24/05/13 15 / 17

Page 27: CygnusCloud: provisión de puestos de laboratorio virtuales ... · ElsistemaCygnusCloud EscritoenPython,HTML5yJavaScript ConstruidosobreKVM,libvirt,MariaDB,Twisted,pyftpdlibyweb2py

¿Cuánto cuesta implantar CygnusCloud?

Sólo hay que asumir el coste delos servidores (ninguno si se reutilizan)el equipo de red (ninguno si se reutiliza)

la energía eléctrica consumidalas licencias Windows Virtual Desktop Access, en caso de quererofrecer máquinas virtuales con el sistema operativo Windows instalado.

Barrios, Fernández, Guayerbas (UCM) CygnusCloud 24/05/13 15 / 17

Page 28: CygnusCloud: provisión de puestos de laboratorio virtuales ... · ElsistemaCygnusCloud EscritoenPython,HTML5yJavaScript ConstruidosobreKVM,libvirt,MariaDB,Twisted,pyftpdlibyweb2py

¿Qué haremos tras la release final?

Publicaremos la versión final y toda su documentación el 21 deJunio de 2013

Nos estamos planteando

crear nuestra propia startup. . . y dedicarnos a adaptar y modificar CygnusCloud para diversasorganizaciones

introducir modificaciones para

incorporar soporte multi-clusterhacer la web más escalabletratar algunos errores más (pocos)

Barrios, Fernández, Guayerbas (UCM) CygnusCloud 24/05/13 16 / 17

Page 29: CygnusCloud: provisión de puestos de laboratorio virtuales ... · ElsistemaCygnusCloud EscritoenPython,HTML5yJavaScript ConstruidosobreKVM,libvirt,MariaDB,Twisted,pyftpdlibyweb2py

¿Qué haremos tras la release final?

Publicaremos la versión final y toda su documentación el 21 deJunio de 2013

Nos estamos planteando

crear nuestra propia startup

. . . y dedicarnos a adaptar y modificar CygnusCloud para diversasorganizaciones

introducir modificaciones para

incorporar soporte multi-clusterhacer la web más escalabletratar algunos errores más (pocos)

Barrios, Fernández, Guayerbas (UCM) CygnusCloud 24/05/13 16 / 17

Page 30: CygnusCloud: provisión de puestos de laboratorio virtuales ... · ElsistemaCygnusCloud EscritoenPython,HTML5yJavaScript ConstruidosobreKVM,libvirt,MariaDB,Twisted,pyftpdlibyweb2py

¿Qué haremos tras la release final?

Publicaremos la versión final y toda su documentación el 21 deJunio de 2013

Nos estamos planteando

crear nuestra propia startup. . . y dedicarnos a adaptar y modificar CygnusCloud para diversasorganizaciones

introducir modificaciones para

incorporar soporte multi-clusterhacer la web más escalabletratar algunos errores más (pocos)

Barrios, Fernández, Guayerbas (UCM) CygnusCloud 24/05/13 16 / 17

Page 31: CygnusCloud: provisión de puestos de laboratorio virtuales ... · ElsistemaCygnusCloud EscritoenPython,HTML5yJavaScript ConstruidosobreKVM,libvirt,MariaDB,Twisted,pyftpdlibyweb2py

¿Qué haremos tras la release final?

Publicaremos la versión final y toda su documentación el 21 deJunio de 2013

Nos estamos planteando

crear nuestra propia startup. . . y dedicarnos a adaptar y modificar CygnusCloud para diversasorganizaciones

introducir modificaciones para

incorporar soporte multi-clusterhacer la web más escalabletratar algunos errores más (pocos)

Barrios, Fernández, Guayerbas (UCM) CygnusCloud 24/05/13 16 / 17

Page 32: CygnusCloud: provisión de puestos de laboratorio virtuales ... · ElsistemaCygnusCloud EscritoenPython,HTML5yJavaScript ConstruidosobreKVM,libvirt,MariaDB,Twisted,pyftpdlibyweb2py

Preguntas

Barrios, Fernández, Guayerbas (UCM) CygnusCloud 24/05/13 17 / 17