Cloud Computing

Créditos
6
Tipos
Optativa
Requisitos
Esta asignatura no tiene requisitos
Departamento
AC
Cloud computing is a service model for large-scale distributed computing based on a converged infrastructure and a set of common services over which applications can be deployed and run over the network. This course about Cloud computing is divided into two main parts, one centered in the key concepts behind the Cloud paradigm and another more practical that deals with the related technologies.

In the first part of this course, the students will learn the principles and the state of the art of large-scale distributed computing in a service-based model. They will look at how scale affects system properties, models, architecture, and requirements. In terms of principles, the course looks at how scale affects systems properties, issues (such as virtualization, availability, locality, performance and adaptation), system models (game-theoretic, economic, evolutionary, control, complexity), architectural models (multi-tier, cluster, cloud), environment and application requirements (such as fault tolerance, content distribution). The first part of this course also reviews the state of the art in resource management of Cloud environments (composed of different types of platforms and organization) to support current applications and their requirements.

In the second part of the course the students will gain a practical view of the latest in Cloud technology in order to implement a prototype that meets a business idea created by a student. In this part the students will begin creating a basic toolbox to get started in the Cloud. This will prepare them to practice with APIs, the doors in the Cloud. All these things together will allow the students to mine the deluge of data coming from the Cloud or use new advanced analytics services provided nowadays by the Cloud. Finally we will look under the hood of these advanced analytics services in the Cloud, either in terms of software or hardware, in order to understand, how their high performance requirements can be provided.

Horas semanales

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

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.

High performance computing

  • CEE4.3 - Capacidad de analizar, evaluar, diseñar y administrar software de sistema en entornos de supercomputación.

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.

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.

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

Objetivos

  1. The goal of this course is to introduce new execution environments needed to manage the computing resources and simplify the development and integration of the different types of applications and services at today Internet-scale systems.
    Competencias relacionadas:

Contenidos

  1. PART I: Cloud Computing fundamentals
    Fundamental concepts: The effect of scale in system properties.

    ---- Issues in large-scale systems: virtualization, service orientation and composition, availability, locality, performance and adaptation.

    ---- Models for large-scale systems: system models for analysis, architectural models and service/deployment models.

    ---- Scaling techniques: basic techniques, scalable computing techniques for architectural models.

    ---- Middleware and Applications: computing, storage, web, content distribution, Internet-scale systems or services.

    ---- Environment and applications requirements.
  2. PART II: Practical view of Cloud Computing
    Big Data Analytics in the Cloud
    ---- APIs: The Doors in the Cloud
    ---- Current required layers in Big Data Software Stack
    ---- New Software requirements for Advanced Analytics
    ---- New Hardware requirements for Advanced Analytics
  3. PART III: Guest Lectures
    Invited lectures from the industry and academia will illustrate and describe specific aspects. The content will vary depending on visits and availability of invited speakers.
  4. PART IV: Experimental part
    Development of a prototype application using Cloud service offerings (such as AWS, Google AppEngine, Open Stack, OpenNebula.
    ---- Development of a prototype application using advanced analytics services either provided in terms of APIs or Software as a Service.

Metodología docente

Theory classes, Reading and discussion of research papers, Presentation of topics (and papers) by students, Laboratory activities and Guest lectures

Método de evaluación

The evaluation of the course will be based on the participation of students in class, lab sessions, class attendance, reading and presenting reports and papers and a projects work on specific topics.
The final grade for the course is the weighted average of the grades for the following components obtained en each part of the course:
· Lab sessions: 35%
· Paper Readings/Presentations and homework: 25%
· Course Projects: 15%
· Participation: 25% (Class participation 5% + Class attendance: 20%)