Uem coud v3.0_12_diciembre_2014_presentación final

18
Proyecto UEMCloud Joaquín Pereira - Fernando Mateus PROGRAMACIÓN ORIENTADA A OBJETOS – MADCOLOR Joaquin Pereira - David Arcos - Fernando Mateus Programación de Sistemas – Proyecto UEMCloud Joaquín Pereira - Fernando Mateus

Transcript of Uem coud v3.0_12_diciembre_2014_presentación final

Page 1: Uem coud v3.0_12_diciembre_2014_presentación final

Proyecto UEMCloudJoaquín Pereira - Fernando Mateus

PROGRAMACIÓN ORIENTADA A OBJETOS – MADCOLORJoaquin Pereira - David Arcos - Fernando Mateus

Programación de Sistemas – Proyecto UEMCloud

Joaquín Pereira - Fernando Mateus

Page 2: Uem coud v3.0_12_diciembre_2014_presentación final

Proyecto UEMCloudJoaquín Pereira - Fernando Mateus

OBJETIVOESPECIFICACIÓN DEL PROBLEMAARQUITECTURAARTICULACIÓN DE LA SOLUCIÓNCOMENTARIOS Y CONCLUSIONESBIBLIOGRAFIA

Page 3: Uem coud v3.0_12_diciembre_2014_presentación final

Proyecto UEMCloudJoaquín Pereira - Fernando Mateus

El objetivo del presente proyecto se centra en profundizar en los conceptos de Programación de Sistemas aprendidos en la asignatura a través de creación de una plataforma online como caso real.

UEMCloud > Objetivo

Page 4: Uem coud v3.0_12_diciembre_2014_presentación final

Proyecto UEMCloudJoaquín Pereira - Fernando Mateus

OBJETIVOESPECIFICACIÓN DEL PROBLEMAARQUITECTURAARTICULACIÓN DE LA SOLUCIÓNCOMENTARIOS Y CONCLUSIONESBIBLIOGRAFIA

Page 5: Uem coud v3.0_12_diciembre_2014_presentación final

Proyecto UEMCloudJoaquín Pereira - Fernando Mateus

Se trata de desarrollar una plataforma online que permita a usuarios poder disponer de un repositorio de almacenamiento que sea accesible desde cualquier ubicación y dispositivo (Móvil, Tablet o PC).

Además de la comodidad y el ahorro que pueda suponer, queremos disminuir la exposición de nuestra información ante terceros.

UEMCloud > Especificación del Problema

Page 6: Uem coud v3.0_12_diciembre_2014_presentación final

Proyecto UEMCloudJoaquín Pereira - Fernando Mateus

OBJETIVOESPECIFICACIÓN DEL PROBLEMAARQUITECTURAARTICULACIÓN DE LA SOLUCIÓNCOMENTARIOS Y CONCLUSIONESBIBLIOGRAFIA

Page 7: Uem coud v3.0_12_diciembre_2014_presentación final

Proyecto UEMCloudJoaquín Pereira - Fernando Mateus UEMCloud > Arquitectura > Alto nivel

Page 8: Uem coud v3.0_12_diciembre_2014_presentación final

Proyecto UEMCloudJoaquín Pereira - Fernando Mateus

Casa persona A

Router :443000:443

Apache: Es el servidor web de código abierto que ha sido instalado en la Raspberry Pi y que permite la creación de la infraestructura para establecer el acceso web a la Raspberry PI

UEMCloud > Arquitectura > Detallada (I)

OpenSSL: robusto paquete de herramientas de administración y bibliotecas relacionadas con la criptografía, que suministran funciones criptográficas a otros paquetes. Sobre el hemos creado un certificado que nos permite encriptar la conexión. Evitando ataques e intrusos no deseados. No-Ip: es un servicio gratuito que gestiona un dominio a una dirección IP dinámica.Php: lenguaje de programación de uso general de código del lado del servidor originalmente diseñado para el desarrollo web de contenido dinámico. MySQL: sistema de gestión de bases de datos relacional, multihilo y multiusuario con más de seis millones de instalaciones.Owncloud: Aplicación web desarrollada en HTML 5 y PHP que permite establecer nuestra propia Nube de datos.

Page 9: Uem coud v3.0_12_diciembre_2014_presentación final

Proyecto UEMCloudJoaquín Pereira - Fernando Mateus UEMCloud > Arquitectura > Detallada (II)

DNS DinámicoBúsqueda DNS:UEMCloud.comBúsqueda DNS:

UEMCloud.com

Equipo B1(Directorio de

Sincronización)

Casa persona BCasa persona A

UEMCloud de persona B

Router

Actualización Periódica del DNS dinámico con IP pública

Móvil / Tablet / PC

Internet

:443000:443

Desde la casa de la persona A (donde se aloja la Raspberry Pi de la persona B), se encuentra la Raspberry Pi preconfigurada con UEMCloud y con una unidad flash USB de alta capacidad. Periódicamente actualiza un servicio de DNS dinámico con su IP pública. Además, en la casa de la persona A se tiene habilitado el reenvío de puertos para que cualquier tráfico que entra en el puerto 44300 se remita al puerto 443 de la Raspberry Pi.

Esto significa que desde la casa de la persona B, se puede encontrar la ubicación del la UEMCloud por su nombre (a través de DNS dinámico) y asegurar que el tráfico al puerto 44300 se enviará a la Raspberry Pi con UEMCloud (port forwarding en el router). Como resultado de lo anterior la persona B en su casa es capaz de sincronizar sus carpetas a la Pi y utilizar la interfaz web. Fuera de casa básicamente funciona de la misma manera. Un teléfono con un navegador o la app buscará la dirección DNS de la Pi, y se conectaría de la misma manera, excepto que lo hace vía red de datos 3G/4G.

Page 10: Uem coud v3.0_12_diciembre_2014_presentación final

Proyecto UEMCloudJoaquín Pereira - Fernando Mateus

OBJETIVOESPECIFICACIÓN DEL PROBLEMAARQUITECTURAARTICULACIÓN DE LA SOLUCIÓNCOMENTARIOS Y CONCLUSIONESBIBLIOGRAFIA

Page 11: Uem coud v3.0_12_diciembre_2014_presentación final

Proyecto UEMCloudJoaquín Pereira - Fernando Mateus UEMCloud > Articulación de la Solución

EmulaciónDel Entorno

Instalación y Configuración del Software Necesario Explotación

Raspberry Pi, y su SO corre sobre arquitectura armv6 y nuestras máquinas con x64 por lo que no se puede virtualizar con máquinas virtuales (VMWare o similar).

Vamos a utilizar Quick Emulator (Qemu) sobre Linux que si soporta arquitecturas ARM y MIPS entre otras.

Page 12: Uem coud v3.0_12_diciembre_2014_presentación final

Proyecto UEMCloudJoaquín Pereira - Fernando Mateus UEMCloud > Articulación de la Solución

EmulaciónDel Entorno

Instalación y Configuración del Software Necesario Explotación

1a.- Seleccionar una versión de Linux, en nuestro caso Ubuntu.

1b.- Instalar Qemu desde la line de comandos de Linux: sudo apt-get install qemu

1c.- Creamos un directorio de trabajo: mkdir ~/virtual; cd ~/virtual

1d.- Descargas. Si no tuviéramos el kernel lo descargamos: wget http://xecdesign.com/downloads/linux-qemu/kernel-qemu

Para obtener la imagen de Raspbian wget http://downloads.raspberrypi.org/raspbian_latest

Descomprimimos el zip: unzip XXXXwheezy-raspbian.zip

donde XXX es la version descargada

1e.- Comprobamos que nuestro Qemu admite arm: qemu-system-arm -cpu

En ocasiones no nos devuelve nada pero podemos continuar

1f.- Arrancamos Raspbian (primer arranque)

qemu-system-arm -kernel kernel-qemu -cpu arm1176 -m 256 -M versatilepb -no-reboot -serial stdio -append "root=/dev/sda2 panic=1 rootfstype=ext4 rw init=/bin/bash" -hda wheezy-raspbian.img

1g.- Editaremos fichero ld.so.preload para comentar la linea de código que nos muestra, incluyendo una almohadilla # en como primer carácter.

nano /etc/ld.so.preload

salir salvando con crt+x quedando: #/usr/lib/arm-linux-gnueabihf/libcofi_rpi.so

1h.- Guardamos, salimos y apagamos el sistema: halt

1i.- Los siguientes arranques se realizarán con:

qemu-system-arm -kernel kernel-qemu -cpu arm1176 -m 256 -M versatilepb -no-reboot -serial stdio -append "root=/dev/sda2 panic=1 rootfstype=ext4 rw" -hda XXXXX-wheezy-raspbian.img

donde XXX es la version descargada

Page 13: Uem coud v3.0_12_diciembre_2014_presentación final

Proyecto UEMCloudJoaquín Pereira - Fernando Mateus UEMCloud > Articulación de la Solución

EmulaciónDel Entorno

Instalación y Configuración del Software Necesario Explotación

Como mencionamos anteriormente, el software instalado para el desarrollo de nuestra nube es:

Page 14: Uem coud v3.0_12_diciembre_2014_presentación final

Proyecto UEMCloudJoaquín Pereira - Fernando Mateus UEMCloud > Articulación de la Solución

EmulaciónDel Entorno

Instalación y Configuración del Software Necesario Explotación

Nube A (Fernando Mateus)

Direccion:

Ucloud.linkpc.net:8000/ucloud

Caracteristicas:

• Almacenamiento de 16gb• Conexion Fibra• Informacion Encriptada• Acceso SSH• Acceso VNC

Nube B (joaquin Pereira)

Direccion:

Jpcloud.noip.me

Caracteristicas

• Almacenamiento de 4gb• Conexion Fibra• Informacion Encriptada• Acceso SSH• Acceso VNC

Actualmente tenemos 2 nubes operativas:

El siguiente paso en nuestro desarrollo es poder hacer la conexion entre ellas para poder replicar la informacion

Page 15: Uem coud v3.0_12_diciembre_2014_presentación final

Proyecto UEMCloudJoaquín Pereira - Fernando Mateus

EmulaciónDel Entorno

Instalación y Configuración del Software Necesario Explotación

UEMCloud > Articulación de la Solución

Actualmente podemos subir a UEM Cloud archivos tanto desde PC´s como desde dispositivos móviles.

Page 16: Uem coud v3.0_12_diciembre_2014_presentación final

Proyecto UEMCloudJoaquín Pereira - Fernando Mateus

EmulaciónDel Entorno

Instalación y Configuración del Software Necesario Explotación

UEMCloud > Articulación de la Solución

Demostración

Page 18: Uem coud v3.0_12_diciembre_2014_presentación final

Proyecto UEMCloudJoaquín Pereira - Fernando Mateus

Gracias por vuestra atención!!!