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.
Profesorado
Responsable
Angel Toribio Gonzalez (
)
Otros
Francesco D'Andria (
)
Horas semanales
Teoría
2
Problemas
0
Laboratorio
2
Aprendizaje dirigido
0
Aprendizaje autónomo
7.11
Competencias
Competencias Técnicas de cada especialidad
Específicas
CTE1 - Capacidad para modelar, diseñar, definir la arquitectura, implantar, gestionar, operar, administrar y mantener aplicaciones, redes, sistemas, servicios y contenidos informáticos.
CTE2 - Capacidad de comprender y saber aplicar el funcionamiento y organización de Internet, las tecnologías y protocolos de redes de nueva generación, los modelos de componentes, software intermediario y servicios.
CTE3 - Capacidad para asegurar, gestionar, auditar y certificar la calidad de los desarrollos, procesos, sistemas, servicios, aplicaciones y productos informáticos.
Competencias Técnicas Genéricas
Genéricas
CG4 - Capacidad para el modelado matemático, cálculo y simulación en centros tecnológicos y de ingeniería de empresa, particularmente en tareas de investigación, desarrollo e innovación en todos los ámbitos relacionados con la Ingeniería en Informática.
CG5 - Capacidad para la elaboración, planificación estratégica, dirección, coordinación y gestión técnica y económica de proyectos en todos los ámbitos de la Ingeniería en Informática siguiendo criterios de calidad y medioambientales.
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.
Actitud frente al trabajo
CTR5 - Tener motivación para la realización profesional y para afrontar nuevos retos, así como una visión amplia de las posibilidades de la carrera profesional en el ámbito de la Ingeniería en Informática. Tener motivación por la calidad y la mejora continua, y actuar con rigor en el desarrollo profesional. Capacidad de adaptación a los cambios organizativos o tecnológicos. Capacidad de trabajar en situaciones de falta de información y/o con restricciones temporales y/o de recursos.
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
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:
CTE1,
CTE2,
CTR6,
CTR1,
Collaborate in the design, implementation and presentation of a cloud computing environment that is required for a class project.
Competencias relacionadas:
CTE1,
CTR3,
CTR5,
CTR6,
CB7,
CG4,
CG5,
CTR1,
Find and understand useful information to create innovative solutions.
Competencias relacionadas:
CTE2,
CTE3,
CB8,
CG5,
Contenidos
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.
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
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
ActividadActo evaluativo
Presentation of the subject and Introduction to Cloud Computing and Big Data Analytics
Conferencias, lecturas 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.
Los estudiantes deben responsabilizarse de sus cuentas de Amazon Web Services (proveedor de servicios de computación en la nube).
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: 40%
· Lecturas de artículos / presentaciones y tareas: 10%
· 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.
Conocimientos generales de:
- Redes TCP/IP
- Administración básica de sistemas operativos y uso del sistema operativo 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.