Logo UAB
2021/2022

Cloud Computing

Code: 44022 ECTS Credits: 6
Degree Type Year Semester
4316624 Internet of Things for e-Health OB 0 1
The proposed teaching and assessment methodology that appear in the guide may be subject to changes as a result of the restrictions to face-to-face class attendance imposed by the health authorities.

Contact

Name:
Daniel Franco Puntes
Email:
Daniel.Franco@uab.cat

Use of Languages

Principal working language:
english (eng)

Teachers

Antonio Espinosa Morales

Prerequisites

It is recommended to have basic knowledge on Operating Systems like Linux and programming languages like Python.

Objectives and Contextualisation

By the end of the lectures and practical labs students should have enough knowledge to understand the basic concepts about Cloud Computing and some experience designing and deploying cloud computing application architectures. Also, students will know the main requirements of typical large data analysis problems in industrial contexts. They should be able to design a solution for the problem with the tools introduced in the course.

Competences

  • Apply basic research tools in the area of IoT in health.
  • Communicate and justify conclusions clearly and unambiguously to both specialist and non-specialist audiences.
  • Continue the learning process, to a large extent autonomously.
  • Develop and adapt geo-distributed services and apps on mobile devices aimed at the Cloud and Edge computing infrastructures.
  • Solve problems in new or little-known situations within broader (or multidisciplinary) contexts related to the field of study.

Learning Outcomes

  1. Apply basic research tools in the area of IoT in health.
  2. Based on cost-benefit criteria, select an optimal implementation solution through IaaS or PaaS options for eHealth projects.
  3. Communicate and justify conclusions clearly and unambiguously to both specialist and non-specialist audiences.
  4. Continue the learning process, to a large extent autonomously.
  5. Deploy a set of services/backend, monitor their operation and manage their data.
  6. Solve problems in new or little-known situations within broader (or multidisciplinary) contexts related to the field of study.

Content

T1: Introduction to Distributed Systems, Cloud Computing, and large data processing systems (4 hours)

T2: Linux data processing tools (12 hours)

T3: Data parallel processing with Apache distributed tools (16 hours)

  • Limitations of the relational data models with large datasets
  • Weak consistency models
  • Apache tool ecosystem
  • Problem solving with Apache tools: Hive, Hadoop, Spark

T5: Cloud computing (16 hours)

  • Distributed systems
  • Cloud computing models and services
  • Resource models considering cost and usage
  • Cloud computing application architectures
  • Cloud computing platform revision

Methodology

The methodology will combine classroom work, problem solving in class and collaborative work in the computing lab and as homework reports.

Annotation: Within the schedule set by the centre or degree programme, 15 minutes of one class will be reserved for students to evaluate their lecturers and their courses or modules through questionnaires.

Activities

Title Hours ECTS Learning Outcomes
Type: Directed      
Classroom lessons 26 1.04 1, 5, 6, 3, 2
Type: Supervised      
Evaluation 2 0.08 1, 6, 3, 2
Practical lab 20 0.8 1, 5, 4, 2

Assessment

Evaluation will come out from the combination of: (1) work developed in the module and delivered as reports, (2) attendance to lectures and participation in class and labs and (3) evaluation sessions during the course.


                      

 

Assessment Activities

Title Weighting Hours ECTS Learning Outcomes
Evaluation 30 2 0.08 6, 3, 4
Technical labs 40 40 1.6 1, 5, 6, 2
Technical reports 30 60 2.4 3, 4, 2

Bibliography

Dan C. Marinescu, Cloud Computing Theory and Practice. Second Edition. Morgan Kaufman, 2018

Maarten van Steen, Andrew S. Tanenbaum. Distributed systems. Third edition. Published by Maarten van Steen, 2017.

George Coulouris, Jean Dollimore, Tim Kindberg, Gordon Blair. DISTRIBUTED SYSTEMS. Concepts and Design. Fifth Edition. Addison-Wesley 2014.

Ian Foster and Dennis B. Gannon. Cloud Computing for Science and Engineering. MIT Press. September 2017

Michael Wittig and Andreas Wittig. Cloud Native Applications, Selected. Manning 2016.

Betsy Beyer, Chris Jones, Jennifer Peto, Niall Richard Murphy. Site Reliability Engineering. How Google Runs Production Systems. O’Reilly, 2016.

Vishal Layka and David Pollak, Beginning Scala, Second Edition, Apress 2015.

Petar Zecevic ́ MarkoBonaci. Spark in Action. Manning 2017.

White, Tom. "Hadoop, the definitive Guide", O'Reilly, 2015.

Mark Grover, Ted Malaska, Jonathan Seidman, and Gwen Shapira. Hadoop Application Architectures. O’Reilly 2010.

Donald Miner and Adam Shook, MapReduce Design Patterns. O’Reilly 2013.

Nathan Marz. Big Data Principles and best practices of scalable realtime data systems. Manning 2014.

R. Buyya, R. Calheiros, A. V. Dastjerdi. BIG DATA Principles and Paradigms. Morgan-Kaufmann, 2018.

Software

Visual Studio Code

NodeRed