Important notice
The course guide is provisional.
The PDF version of the course guide may take a few days to become available in the DDD.

Cloud App Development and Management
Code: 44735Credits: 6
| Degree programme | Type | Course |
|---|---|---|
| Research and Innovation in Computer based Science and Engineering | OP | 1 |
Contact lecturer
- Name :
- Eduardo Cesar Cabrera Flores
- Email :
- eduardocesar.cabrera@uab.cat
Teaching staff
- Remo Suppi Boldrito
- Daniel Franco Puntes
Group languages
You can consult this information at the end of the document.
Prerequisites
It is recommended to have a basic knowledge of programming languages like Python and basic skills of any Linux distribution.
Objectives
The objectives of the module:
- Solve data analysis problems with open source tools
- Understand tool data management limitations and learn criteria to select suitable tools for a specific problem
- Learn data query methodologies related to each technology
- Use Cloud Computing providers to solve data analysis problems
- Apply a data analysis methodology to solve practical problems
By the end of the lectures and practical labs students should have enough knowledge to understand the requirements of typical large data analysis problems in industrial contexts. They should be able to pick some combination of tools and design a solution for a given large data analysis problem. This subject is oriented to develop data problem solving skills. Languages, tools and techniques are described in a data analysis context and students will solve a list of data problems applying the technology described at every chapter.
Learning outcomes
- CA14 (Graduates will be able to design reliable, efficient and secure data processing and storage systems, using cloud computing.) Graduates will be able to design reliable, efficient and secure data processing and storage systems, using cloud computing.
- CA15 (Graduates will be able to develop innovative research projects in the face of new scientific and engineering challenges using cloud computing.) Graduates will be able to develop innovative research projects in the face of new scientific and engineering challenges using cloud computing.
- KA19 (Describe architectural principles in order to explain cloud-based applications and organise their services.) Describe architectural principles in order to explain cloud-based applications and organise their services.
- KA20 (Identify the main services offered by cloud computing.) Identify the main services offered by cloud computing.
- SA24 (Develop computing systems based on cloud resources.) Develop computing systems based on cloud resources.
- SA25 (Develop a cloud application architecture for private or public services whilst managing resources, costs and security requirements.) Develop a cloud application architecture for private or public services whilst managing resources, costs and security requirements.
- SA26 (Evaluate a prototype cloud application including its cost, resources, security and maintenance requirements over time.) Evaluate a prototype cloud application including its cost, resources, security and maintenance requirements over time.
Contents
1-Introduction to Cloud Computing: benefits, challenges and risks.
2-Cloud Computing Models: Infrastructure / Platform / Software as a Service.
3-Virtual private cloud and node network configuration
4-Basic computation services
5-Basic storage services
6-Elasticity and scalability
7-Cost evaluation: TCO
Learning activities and methodology
| Title | Hours | ECTS | Learning outcomes |
|---|---|---|---|
| Theory | 38 | 1.52 | |
| Lab development | 62 | 2.48 | |
| Lab | 26 | 1.04 |
The methodology will combine classroom work and problem solving in laboratory sessions.
Lab sessions will be scheduled at the beginning of the course and will use the same Teams space for the development of all practical labs. Students will use a local Linux environment: native, using local or remote Cloud Computing services.
Use of AI: The use of Artificial Intelligence (AI) tools is permitted in this subject as part of your work’s development, provided the final submission reflects your significant analytical and reflective contribution. You must transparently identify AI-generated content, specify the tools used, and include a critical reflection on their role in your process and outcomes. Lack of proper disclosure will be treated as a violation of academic integrity, potentially resulting in grade penalties or stricter sanctions in serious cases.
Assessment
Continuous assessment activities
| Title | Weight | Hours | ECTS | Learning outcomes |
|---|---|---|---|---|
| Infrastructure lab | 20% | 5 | 0.2 | CA14, KA20, SA24 |
| Conceptual test | 35% | 4 | 0.16 | CA14, KA19, SA25 |
| VPC lab | 15% | 5 | 0.2 | SA24, SA25, SA26 |
| Computational lab | 15% | 5 | 0.2 | CA14, KA19, KA20, SA26 |
| Elasticity lab | 15% | 5 | 0.2 | CA15, SA24, SA25 |
Evaluation will come out from the combination of work developed in the lab sessions.
The module does not provide for a single assessment system.
The grade First Class Honours may be awarded to students who have achieved a mark of 9 or above and who produce the best final submissions.
The module does not provide for resit opportunities. Given the nature of the assessment activities and/or their continuous nature, no specific resit arrangements are provided for beyond those set out in the University’s general assessment regulations.
Students shall be entitled to a review of the marks awarded in accordance with the University’s current regulations. Following the publication of the marks, the teaching staff will set a date, time and procedure for the review, during which students may request clarification on the assessment criteria applied
A student will be considered Not Assessed (NA) if they have not completed assessment activities whose combined weight represents at least 50% of the final course grade. Consequently, students who do not reach this assessment threshold will receive a Not Assessed (NA) grade, in accordance with the applicable academic regulations.
Bibliography
- A. Wittig, M. Wittig. "Amazon Web Services in Action", Manning, 2nd Edition, 2018.
- G. Coulouris, J. Dollimore and T. Kinderg, "Distributed Systems. Concepts and design", Addison-Wesley, 5th edition, 2012.
- Bell, Charles; Kindahl, Mats; Thalmann, Lars. "MySQL High Availability". O'Reilly, 2010.
- Chang, Fay, et al. "Bigtable: A Distributed Storage System for Structured Data." OSDI, 2006
- Dewitt, David, and Jim Gray. "Parallel Database Systems: The Future of High Performance Database Processing." Communications of the ACM 35, no. 6 (1992): 85-98
- Schwartz, Baron; Zaitsev, Peter; Tkachenko, Vadim; Zawodny, Jeremy D.; Lentz, Arjen; Balling, Derek J. "High Performance MySQL", O'Reilly, 2008.
- Seyed M. M. "Saied" Tahaghoghi and Hugh E. Williams. Learning MySQL. O’Reilly, 2006
- Nathan Haines. “Beginning Ubuntu for Windows and Mac Users”. Apress 2015. recurs electrònic a la biblioteca de la UAB
- William E. Shotts. “The Linux Command Line”. Second Internet Edition. 2013. http://linuxcommand.org/tlcl.php
- Dan C. Marinescu. “Cloud Computing. Theory and Practice”. Morgan-Kaufmann. 2018.
- R. Buyya, R. N. Calheiros, A. V. Dastjerdi. “Big data. Principles and paradigms”. Morgan-Kaufmann. 2016.
Software
Students are requested to use latest version of Linux as VM in your computer. The student will acces to the UAB private cloud and public cloud (AWS)
Course groups and languages
The information provided is provisional until November 30. After this date, you will be able to consult the language of each group through this link. To access the information, you will need to enter the course CODE
| Type of teaching | Group | Language | Semester | Shift |
|---|---|---|---|---|
| (TEm) Theory (master) | 1 | English | second semester | afternoon |
| (PLABm) Practical laboratories (master) | 1 | English | second semester | afternoon |