CLOUD COMPUTING AND BIG DATA ANALYTICS

You are here

Credits
6
Types
Specialization complementary (Computer Networks and Distributed Systems)
Requirements
This subject has not requirements

Department
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.

Teachers

Person in charge

  • Angel Toribio Gonzalez ( )
  • Jordi Torres Viñals ( )
  • Leandro Navarro Moldes ( )

Weekly hours

Theory
2
Problems
0
Laboratory
1.2
Guided learning
0.8
Autonomous learning
6.8

Competences

Technical Competences of each Specialization

Computer networks and distributed systems

  • CEE2.1 - Capability to understand models, problems and algorithms related to distributed systems, and to design and evaluate algorithms and systems that process the distribution problems and provide distributed services.
  • CEE2.3 - Capability to understand models, problems and mathematical tools to analyze, design and evaluate computer networks and distributed systems.

Generic Technical Competences

Generic

  • CG4 - Capacity for general and technical management of research, development and innovation projects, in companies and technology centers in the field of Informatics Engineering.
  • CG5 - Capability to apply innovative solutions and make progress in the knowledge to exploit the new paradigms of computing, particularly in distributed environments.

Transversal Competences

Entrepreneurship and innovation

  • CTR1 - Capacity for knowing and understanding a business organization and the science that rules its activity, capability to understand the labour rules and the relationships between planning, industrial and commercial strategies, quality and profit. Capacity for developping creativity, entrepreneurship and innovation trend.

Teamwork

  • CTR3 - Capacity of being able to work as a team member, either as a regular member or performing directive activities, in order to help the development of projects in a pragmatic manner and with sense of responsibility; capability to take into account the available resources.

Reasoning

  • CTR6 - Capacity for critical, logical and mathematical reasoning. Capability to solve problems in their area of study. Capacity for abstraction: the capability to create and use models that reflect real situations. Capability to design and implement simple experiments, and analyze and interpret their results. Capacity for analysis, synthesis and evaluation.

Basic

  • CB7 - Ability to integrate knowledges and handle the complexity of making judgments based on information which, being incomplete or limited, includes considerations on social and ethical responsibilities linked to the application of their knowledge and judgments.
  • CB8 - Capability to communicate their conclusions, and the knowledge and rationale underpinning these, to both skilled and unskilled public in a clear and unambiguous way.

Objectives

  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.
    Related competences: CEE2.3, CEE2.1,
  2. Collaborate in the design, implementation and presentation of a cloud computing environment that is required for a class project.
    Related competences: CEE2.1, CB7, CB8, CTR1, CTR3, CTR6,
  3. Find and understand useful information to create innovative solutions.
    Related competences: CG4, CG5,

Contents

  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: 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.

Activities

Introduction

Cloud Computing Definition. Service Oriented Architectures. Web Services.Business considerations Business considerations
Theory
2
Problems
0
Laboratory
0
Guided learning
0
Autonomous learning
4

Cloud Computing Architecture

Technology. Architecture. Modelling and Design.
Theory
2
Problems
0
Laboratory
0
Guided learning
0
Autonomous learning
4
Objectives: 1

Virtualization

Foundations. Grid, cloud and virtualization.
Theory
2
Problems
0
Laboratory
0
Guided learning
0
Autonomous learning
4

Data Storage

Theory
4
Problems
0
Laboratory
0
Guided learning
0
Autonomous learning
8
Objectives: 1

Cloud Services

Theory
4
Problems
0
Laboratory
0
Guided learning
0
Autonomous learning
8

Cloud Security

Theory
2
Problems
0
Laboratory
0
Guided learning
0
Autonomous learning
4

Service Oriented Architectures

Theory
2
Problems
0
Laboratory
0
Guided learning
0
Autonomous learning
4

Cloud Tools

Theory
4
Problems
0
Laboratory
0
Guided learning
0
Autonomous learning
8

Cloud Applications

Theory
3
Problems
0
Laboratory
0
Guided learning
0
Autonomous learning
6

Future Trends

Theory
2
Problems
0
Laboratory
0
Guided learning
0
Autonomous learning
2

Collaborative class project

Theory
0
Problems
0
Laboratory
0
Guided learning
4
Autonomous learning
30
Objectives: 2 3

Lab: Basic knowledge toolbox

Theory
0
Problems
0
Laboratory
0.5
Guided learning
1.5
Autonomous learning
0

Lab: Doors in the cloud

Theory
0
Problems
0
Laboratory
1.5
Guided learning
0.5
Autonomous learning
0

Lab: Content Delivery Network

Theory
0
Problems
0
Laboratory
1.5
Guided learning
0.5
Autonomous learning
0

Lab: Extract and analyze data

Theory
0
Problems
0
Laboratory
1.5
Guided learning
0.5
Autonomous learning
0

Lab: Interact with users and services

Theory
0
Problems
0
Laboratory
1.5
Guided learning
0.5
Autonomous learning
0

Lab: Monitoring and Security

Theory
0
Problems
0
Laboratory
1.5
Guided learning
0.5
Autonomous learning
0

Lab: Data storage

Theory
0
Problems
0
Laboratory
1.5
Guided learning
0.5
Autonomous learning
0

Lab: Web Services

Theory
0
Problems
0
Laboratory
1.5
Guided learning
0.5
Autonomous learning
0

Discuss: Virtualization

Theory
0
Problems
0
Laboratory
1
Guided learning
1
Autonomous learning
2

Discuss: Cloud providers comparison

Theory
0
Problems
0
Laboratory
1
Guided learning
1
Autonomous learning
2

Discuss: Federated Cloud Computing

Theory
0
Problems
0
Laboratory
1
Guided learning
1
Autonomous learning
2

Discuss: Cloud governance

Theory
0
Problems
0
Laboratory
1
Guided learning
1
Autonomous learning
2

Discuss: Future trends

Theory
0
Problems
0
Laboratory
1.2
Guided learning
1.5
Autonomous learning
2

Teaching methodology

Theory classes, reading and discussion of technical and research papers, Presentation of topics (and papers) by students, Laboratory sessions and a practical class project.

Students are required to bring their own laptop to develop the laboratory sessions and practical class project.

Evaluation methodology

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: 30%
· Paper Readings/Presentations and homework: 20%
· Course Projects: 25%
· Participation: 25% (Class participation 15% + Class attendance: 10%)

Bibliografy

Basic:

Previous capacities

- Basic knowdlege of unix command line.