Facultad De Ingeniería Eléctrica Y Electrónica
Total Page:16
File Type:pdf, Size:1020Kb
ESCUELA POLITÉCNICA NACIONAL FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA IMPLEMENTACIÓN DE UN PROTOTIPO DE SOFTWARE COMO SERVICIO (SAAS) PARA PEQUEÑAS Y MEDIANAS EMPRESAS PROYECTO PREVIO A LA OBTENCIÓN DEL TÍTULO DE INGENIERO EN ELECTRÓNICA Y REDES DE INFORMACIÓN DANIEL OMAR NÚÑEZ ESPINOZA [email protected] DIRECTOR: ING. DAVID MEJíA, MSc. [email protected] Quito, Diciembre 2013 I DECLARACIÓN Yo, Daniel Omar Núñez Espinoza, declaro bajo juramento que el trabajo aquí descrito es de mi autoría; que no ha sido previamente presentado para ningún grado o calificación profesional; y, que he consultado las referencias bibliográficas que se incluyen en este documento. A través de la presente declaración cedo mis derechos de propiedad intelectual correspondientes a este trabajo, a la Escuela Politécnica Nacional, según lo establecido por la Ley de Propiedad Intelectual, por su Reglamento y por la normatividad institucional vigente. ___________________________ Daniel Omar Núñez Espinoza II CERTIFICACIÓN Certifico que el presente trabajo fue desarrollado por Daniel Omar Núñez Espinoza, bajo mi supervisión. ___________________________ Ing. David Mejía Navarrete, MSc. DIRECTOR DE PROYECTO III AGRADECIMIENTOS Agradezco por todo el apoyo brindado para la realización de este proyecto, en primer lugar, al Director del Laboratorio de Informática de la Facultad de Ingeniería Eléctrica y Electrónica, Ing. Xavier Calderón, por facilitarme los equipos y el lugar necesario para el desarrollo del prototipo. A los ayudantes del Laboratorio de Informática por brindarme su ayuda en los momentos difíciles, así como la amistad brindada especialmente a Gabriela Morillo, Christian Jácome, Walter Salas y Lenin Vargas. A toda la comunidad de usuarios y desarrolladores OpenStack internacional, quienes sin interés alguno compartieron conmigo su experiencia y consejo para el uso de la herramienta OpenStack. En especial, al coordinador de la Comunidad OpenStack Venezuela, Ing. Ender Mujica. En general a la Escuela Politécnica Nacional y sus docentes, por enseñarme el valor del esfuerzo y dedicación constante para alcanzar grandes objetivos. IV DEDICATORIA Es este trabajo dedicado a toda mi familia, a mis queridos padres, quienes siempre me apoyaron en las largas y agotadoras jornadas de estudio. Mi madre que con su eterno amor y preocupación siempre dio un impulso en mi vida para avanzar y no darme por vencido. Mi padre por su comprensión y ayuda, fue quien acompaño muy de cerca mi vida universitaria y a quien podía acudir cuando mis fuerzas mermaban. Agradezco por su preocupación y cuidado a mi salud. A mi amado hermano Cristian porque en los momentos en que más lo necesitaba, supo sacarme una sonrisa con sus ocurrencias. Una mención especial a aquel hombre que estuvo junto a mí, quien compartía con-migo toda su sabiduría y experiencias de vida. Mi abuelito Mesías que en paz des-canse. Mi familia, ñaño Jorge, tía Mirela y tío Pepe, mis queridos primos Juan, Carlos, Jhon y María José. Tanto cariño he recibido de ustedes que siempre fueron en mí un empuje para poner muy en alto a la familia Espinoza. Quienes viajaron junto a mí en este largo camino universitario. Mis entrañables amigos: Pepe Valencia, Santiago Morejón, Fabricio Vélez, Sergio Narváez, David Zambonino, Sebastián Almagro, Liliana Guanga y Susan Feijó, quienes estuvieron en las buenas y las malas, en exámenes, proyectos, una simple reunión, en la Asociación de Estudiantes y tantas locuras que forman parte de los lindos momentos que siempre tendré presente. V CONTENIDO DECLARACIÓN ......................................................................................................... V CERTIFICACIÓN ...................................................................................................... VI AGRADECIMIENTOS ................................................................................................ III DEDICATORIA ......................................................................................................... IV CONTENIDO .............................................................................................................. V ÍNDICE DE FIGURAS ............................................................................................... XI ÍNDICE DE TABLAS .............................................................................................XIVV ÍNDICE DE CÓDIGOS ............................................................................................. XV RESUMEN ............................................................................................................. XVII PRESENTACIÓN ................................................................................................. XVIIII 1 FUNDAMENTOS TEÓRICOS .................................................................................. 1 1.1 CLOUD COMPUTING ...................................................................................... 1 1.1.1 SERVICIO BAJO DEMANDA................................................................. 2 1.1.2 AMPLIO ACCESO A LA RED ................................................................ 3 1.1.3 COMPARTICIÓN DE RECURSOS ........................................................ 3 1.1.4 ELASTICIDAD ....................................................................................... 3 1.1.5 SERVICIO A LA MEDIDA ...................................................................... 3 1.2 MODELOS DE INFRAESTRUCTURA DE CLOUD COMPUTING .................. 3 1.2.1 NUBE PÚBLICA ..................................................................................... 3 1.2.2 NUBE PRIVADA .................................................................................... 4 1.2.3 NUBE HÍBRIDA .................................................................................... 5 1.2.4 NUBE COMUNITARIA ........................................................................... 6 1.3 ARQUITECTURA DE CAPAS Y MODELOS DE SERVICIO ........................... 6 1.3.1 HARDWARE .......................................................................................... 6 1.3.1.1 Equipos de refrigeración .................................................................... 7 1.3.1.2 CPU, memoria y discos ...................................................................... 7 1.3.1.3 Almacenamiento y Redes................................................................... 8 1.3.1.4 Redundancia ...................................................................................... 8 1.3.1.5 Software Integrado ............................................................................. 8 1.3.2 VIRTUALIZACIÓN ................................................................................. 8 1.3.2.1 Importancia de la Virtualización .......................................................... 9 1.3.2.2 Tecnologías de Virtualización ............................................................. 9 1.3.2.2.1 KVM ( Kernel-based Virtual Machine ) ........................................... 9 1.3.2.2.2 LXC – Linux Containers ............................................................. 10 1.3.2.2.3 QEMU- Quick EMUlator ............................................................. 10 1.3.2.2.4 UML – User Mode Linux ............................................................ 11 1.3.2.2.5 VMWare ESX/ESXi .................................................................... 11 VI 1.3.2.2.6 Xen ............................................................................................ 12 1.3.2.2.7 Microsoft Hyper-V ...................................................................... 13 1.4 SERVICIOS DE CLOUD COMPUTING .......................................................... 13 1.4.1 SOFTWARE COMO SERVICIO (SAAS) ............................................. 14 1.4.1.1 Niveles de Madurez .......................................................................... 14 1.4.1.1.1 Nivel 1, Ad-Hoc/Personalización ................................................ 14 1.4.1.1.2 Nivel 2, Configurabilidad ............................................................ 14 1.4.1.1.3 Nivel 3, Eficiencia Multiusuario .................................................. 15 1.4.1.1.4 Nivel 4, Arquitectura escalable .................................................. 15 1.4.1.2 Características clave de SaaS ......................................................... 15 1.4.2 PLATAFORMA COMO SERVICIO (PAAS) ......................................... 16 1.4.2.1 Características clave de PaaS ......................................................... 17 1.4.3 INFRAESTRUCTURA COMO SERVICIO (IAAS) ................................ 17 1.5 SOFTWARE DE CREACIÓN Y GESTIÓN PARA CLOUD ............................ 18 1.5.1 CLOUDSTACK .................................................................................... 18 1.5.2 VCLOUD DIRECTOR .......................................................................... 19 1.5.3 EUCALYPTUS ..................................................................................... 21 1.5.4 OPENSTACK ....................................................................................... 22 1.6 METODOLOGÍAS DE DESARROLLO DE SOFTWARE ............................... 23 1.6.1 METODOLOGÍA EN CASCADA .......................................................... 23 1.6.2 METODOLOGÍA DE PROTOTIPADO ................................................. 24 1.6.3 MÉTODOLOGÍA INCREMENTAL ........................................................ 24 2 IMPLEMENTACIÓN DEL PROTOTIPO DE PROVEEDOR DE SAAS .................