Computación en la Nube y Análisis de Datos Masivos

Usted está aquí

Créditos
6
Tipos
Complementaria de especialidad (Redes de Computadores y Sistemas Distribuidos)
Requisitos
Esta asignatura no tiene requisitos, pero tiene capacidades previas
Departamento
AC
La computación en la nube es un modelo de servicio para computación distribuida a gran escala basada en una infraestructura concentrada y un conjunto de servicios colaborativos sobre los cuales un conjunto de aplicaciones se pueden implementar y ejecutar a través de la red.

Este curso sobre computación en la nube tiene un enfoque principalmente práctico respecto a las tecnologías relacionadas. Si bien los conceptos explicados se aplican a cualquier aplicación, las clases prestan especial atención a la creación de aplicaciones Big Data Analytics en la nube.

En las clases teóricas del curso, los estudiantes aprenderán los principios y el estado del arte de la computación distribuida a gran escala en un modelo basado en servicios. Los estudiantes estudiarán cómo la escala afecta las propiedades del sistema, los modelos, la arquitectura y los requisitos.
En cuanto a los principios, este curso analiza cómo afecta la escala a las propiedades y problemas del sistema (como virtualización, disponibilidad, localidad, rendimiento y adaptación), modelos de sistema, modelos arquitectónicos, entorno y requisitos de aplicación (como tolerancia a errores, distribución de contenido). Este curso también explora el estado del arte en la gestión de recursos de entornos en la nube (compuestos por diferentes tipos de plataformas y organizaciones) para admitir las aplicaciones actuales y sus requisitos.
En las sesiones de laboratorio de este curso, los estudiantes obtendrán una visión práctica de lo último en tecnología de la nube para implementar un prototipo que satisfaga una idea de negocio creada por los estudiantes. Se comenzará a construir una caja de herramientas esencial para dar los primeros pasos en la nube. Luego tendrán la oportunidad de practicar con las API, las puertas en la nube. Todos estos preliminares permitirán que los estudiantes extraigan la avalancha de datos provenientes de la nube o utilicen los nuevos servicios analíticos avanzados que ofrece actualmente la nube. Finalmente, mirarán bajo el capó de estos servicios analíticos de alto nivel en la nube, ya sea en relación con el software o hardware, para comprender cómo cumplir con los requisitos de alto rendimiento.

Profesores

Responsable

  • Angel Toribio Gonzalez ( )

Horas semanales

Teoría
2
Problemas
0
Laboratorio
1.2
Aprendizaje dirigido
0.8
Aprendizaje autónomo
6.8

Competencias

Competencias Técnicas de cada especialidad

Computer networks and distributed systems

  • CEE2.1 - Capacidad para entender los modelos, problemas y algoritmos relacionados con los sistemas distribuidos, así como poder diseñar y evaluar algoritmos y sistemas que traten la problemática de la distribución y ofrezcan servicios distribuidos
  • CEE2.3 - Capacidad de entender los modelos, problemas y herramientas matemáticas que permiten analizar, diseñar y evaluar redes de computadores y sistemas distribuidos.

Competencias Técnicas Genéricas

Genéricas

  • CG4 - Capacidad para la dirección general y técnica de proyectos de investigación, desarrollo e innovación, en empresas y centros tecnológicos, en el ámbito de la Ingeniería Informática.
  • CG5 - Capacidad para aplicar soluciones innovadoras y realizar avances en el conocimiento que exploten los nuevos paradigmas de la Informática, particularmente en entornos distribuidos.

Competencias Transversales

Espíritu emprendedor e innovador

  • CTR1 - Conocer y comprender la organización de una empresa y las ciencias que rigen su actividad; capacidad de comprender las reglas laborales y las relaciones entre la planificación, las estrategias industriales y comerciales, la calidad y el beneficio. Desarrollar la creatividad, el espíritu emprendedor y la tendencia a la innovación. Conocer y entender los mecanismos en que se basa la investigación científica, así como los mecanismos e instrumentos de transferencia de resultados entre los diferentes agentes socioeconómicos implicados en los procesos de I+D+i.

Trabajo en equipo

  • CTR3 - Ser capaz de trabajar como miembro de un equipo, ya sea como un miembro más, o realizando tareas de dirección con la finalidad de contribuir a desarrollar proyectos con pragmatismo y sentido de la responsabilidad, asumiendo compromisos teniendo en cuenta los recursos disponibles.

Razonamiento

  • CTR6 - Capacidad de razonamiento crítico, lógico y matemático. Capacidad para resolver problemas dentro de su área de estudio. Capacidad de abstracción: capacidad de crear y utilizar modelos que reflejen situaciones reales. Capacidad de diseñar y realizar experimentos sencillos, y analizar e interpretar sus resultados. Capacidad de análisis, síntesis y evaluación.

Básicas

  • CB7 - Que los estudiantes sean capaces de integrar conocimientos y enfrentarse a la complejidad de formular juicios a partir de una información que, siendo incompleta o limitada, incluya reflexiones sobre las responsabilidades sociales y éticas vinculadas a la aplicación de sus conocimientos y juicios
  • CB8 - Que los estudiantes sepan comunicar sus conclusiones y los conocimientos y razones últimas que las sustentan a públicos especializados y no especializados de un modo claro y sin ambigüedades.

Objetivos

  1. Present the student with new execution environments required to manage the computing resources and simplify the development and integration of the different types of applications and services at nowadays Internet-scale systems.
    Competencias relacionadas: CEE2.3, CEE2.1,
  2. Collaborate in the design, implementation and presentation of a cloud computing environment that is required for a class project.
    Competencias relacionadas: CEE2.1, CB7, CB8, CTR1, CTR3, CTR6,
  3. Find and understand useful information to create innovative solutions.
    Competencias relacionadas: CG4, CG5,

Contenidos

  1. Teoría: fundamentos de computación en la nube
    Conceptos fundamentales: el efecto de la escala en las propiedades del sistema.
       ---- Problemas en sistemas a gran escala: virtualización, orientación y composición del servicio, disponibilidad, localidad, rendimiento y adaptación.
       ---- Modelos para sistemas a gran escala: modelos de sistemas para análisis, modelos arquitectónicos y modelos de servicio / implementación.
       ---- Técnicas de escala: técnicas básicas, técnicas de computación escalables para modelos arquitectónicos.
       ---- Middleware y aplicaciones: informática, almacenamiento, web, distribución de contenido, sistemas o servicios de escala de Internet.
       ---- Requisitos de entorno y aplicaciones.
  2. Sessions de laboratori: Visión práctica de Cloud Computing
    Análisis de datos masivos
    ---- API: las puertas de la nube
    ---- Capas de software requeridas actualmente en el análisis de datos masivos
    ---- Requisitos de software nuevos para análisis avanzado
    ---- Requisitos de hardware nuevos para análisis avanzado
  3. Proyecto: parte experimental
    Desarrollo de una aplicación prototipo utilizando los servicios disponibles en la nube (como AWS, Google App Engine, Open Stack, OpenNebula)
       ---- Desarrollo de una aplicación prototipo utilizando servicios analíticos avanzados ya sea en relación con API o software como servicio.

Actividades

Actividad Acto evaluativo


Introduction

Cloud Computing Definition. Service Oriented Architectures. Web Services.Business considerations

Teoría
2h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
4h

Cloud Computing Architecture

Technology. Architecture. Modelling and Design.
Objetivos: 1
Teoría
2h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
4h

Virtualization

Foundations. Grid, cloud and virtualization.

Teoría
2h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
4h

Data Storage


Objetivos: 1
Teoría
4h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
8h

Cloud Services



Teoría
4h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
8h

Cloud Security



Teoría
2h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
4h

Service Oriented Architectures



Teoría
2h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
4h

Cloud Tools



Teoría
4h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
8h

Cloud Applications



Teoría
3h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
6h

Future Trends



Teoría
2h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
0h
Aprendizaje autónomo
2h

Collaborative class project


Objetivos: 2 3
Teoría
0h
Problemas
0h
Laboratorio
0h
Aprendizaje dirigido
4h
Aprendizaje autónomo
30h

Lab: Basic knowledge toolbox



Teoría
0h
Problemas
0h
Laboratorio
0.5h
Aprendizaje dirigido
1.5h
Aprendizaje autónomo
0h

Lab: Doors in the cloud



Teoría
0h
Problemas
0h
Laboratorio
1.5h
Aprendizaje dirigido
0.5h
Aprendizaje autónomo
0h

Lab: Content Delivery Network



Teoría
0h
Problemas
0h
Laboratorio
1.5h
Aprendizaje dirigido
0.5h
Aprendizaje autónomo
0h

Lab: Extract and analyze data



Teoría
0h
Problemas
0h
Laboratorio
1.5h
Aprendizaje dirigido
0.5h
Aprendizaje autónomo
0h

Lab: Interact with users and services



Teoría
0h
Problemas
0h
Laboratorio
1.5h
Aprendizaje dirigido
0.5h
Aprendizaje autónomo
0h

Lab: Monitoring and Security



Teoría
0h
Problemas
0h
Laboratorio
1.5h
Aprendizaje dirigido
0.5h
Aprendizaje autónomo
0h

Lab: Data storage



Teoría
0h
Problemas
0h
Laboratorio
1.5h
Aprendizaje dirigido
0.5h
Aprendizaje autónomo
0h

Lab: Web Services



Teoría
0h
Problemas
0h
Laboratorio
1.5h
Aprendizaje dirigido
0.5h
Aprendizaje autónomo
0h

Discuss: Virtualization



Teoría
0h
Problemas
0h
Laboratorio
1h
Aprendizaje dirigido
1h
Aprendizaje autónomo
2h

Discuss: Cloud providers comparison



Teoría
0h
Problemas
0h
Laboratorio
1h
Aprendizaje dirigido
1h
Aprendizaje autónomo
2h

Discuss: Federated Cloud Computing



Teoría
0h
Problemas
0h
Laboratorio
1h
Aprendizaje dirigido
1h
Aprendizaje autónomo
2h

Discuss: Cloud governance



Teoría
0h
Problemas
0h
Laboratorio
1h
Aprendizaje dirigido
1h
Aprendizaje autónomo
2h

Discuss: Future trends



Teoría
0h
Problemas
0h
Laboratorio
1.2h
Aprendizaje dirigido
1.5h
Aprendizaje autónomo
2h

Metodología docente

Conferencias, lectura y discusión de documentos técnicos y de investigación, Presentación de temas (y documentos) por parte de los estudiantes. Sesiones de laboratorio y un proyecto práctico de clase.

Se requiere que los estudiantes lleven su portátil para desarrollar las sesiones de laboratorio y el proyecto de clase práctica.

La asignatura se imparte únicamente en inglés.

Método de evaluación

Los alumnos se evaluarán sobre su participación en clase, sesiones de laboratorio, asistencia a clase, lectura y presentación de informes y trabajos y trabajos sobre temas específicos.

La nota final del curso es la media ponderada de las calificaciones de los siguientes componentes obtenidos en cada parte del curso:
· Sesiones de laboratorio: 30%
· Lecturas de artículos / presentaciones y tareas: 20%
· Proyectos del curso: 30%
· Examen final: 20%

Para poder defender públicamente el proyecto del curso, los estudiantes deben haber asistido al menos al 70% de las clases y los equipos deben haber entregado a tiempo las actividades planificadas durante el curso. El proyecto del curso es el resultado del trabajo en equipo, que se reflejará en la calificación otorgada al grupo en su totalidad. Cada miembro del grupo será responsable de una parte del proyecto y podría ser calificado individualmente por su contribución.

Bibliografía

Básica:

Capacidades previas

Conocimientos generales de:
- Redes TCP/IP
- Administración básica de sistemas operativos y uso del SO desde los programas
- Desarrollo de programas

Conocimiento básico de:
- Línea de comandos de Unix.
- Lenguaje de programación Python.
- Sistema de control de versiones Git.

Advertencia. Se supone que los estudiantes deben tener los conocimientos anteriores antes de comenzar las sesiones de laboratorio. Se proporcionarán materiales complementarios antes de la clase para ayudar a los estudiantes a cumplir con los requisitos anteriores.