Cloud and Service Oriented Computing
Keywords |
Classification |
Keyword |
CNAEF |
Informatics Sciences |
Instance: 2024/2025 - 1S
Cycles of Study/Courses
Acronym |
No. of Students |
Study Plan |
Curricular Years |
Credits UCN |
Credits ECTS |
Contact hours |
Total Time |
MESW |
25 |
Syllabus since 2016/17 |
2 |
- |
6 |
42 |
162 |
Teaching Staff - Responsibilities
Teaching language
English
Objectives
To acquire knowledge of doing Software Engineering in the Cloud, namely techniques and approaches of computation based on Service-Oriented Architectures, with special focus on virtualized infrastructures. The goal is to develop the capability of managing the full software lifecycle, from analysis, design and conception, upto implementation and management, taking into account the specific algorithms, patterns and good practices in this domain.
Learning outcomes and competences
By fulfilling this curricular unit, the students should be able to design and implement large-scale software systems in falible, high-stress, low-latency, high-bandwidth and performant environments, composed by several heterogenous components, and subject to unforeseen interferences and interactions.
Working method
Presencial
Pre-requirements (prior knowledge) and co-requirements (common knowledge)
Programming, Methods and Practices of Software Engineering, Software Arquitecture and Design, Software Validation and Testing.
Program
Fundamentals: Classical vs service-oriented architectures. SOA and Microservices. Patterns and standards of service communication. Webservices. SOAP vs REST. Messaging and Message Bus. Principles and Models of Parallel and Distributed Computation. Virtualization PaaS, SaaS, IaaS, and FaaS. Data management. Elasticity, High-Availability, and Replication. Clusters. Monitorization and Diagnostic. Failure and Fault-Tolerance. Latency and Interference. Security.
Applications: Public clouds with Microsoft Azure, Google Cloud, and Amazon AWS. Kubernetes. AMQP-based BUS and Kafka. Continuous Delivery.
Mandatory literature
Chris Richardson;
Microservices Patterns, Manning Publications Co., 2019. ISBN: 9781617294549
Michael J. Kavis;
Architecting the Cloud: Design Decisions for Cloud Computing Service Models (SaaS, PaaS, and IaaS), Wiley, 2014. ISBN: 978-1118617618
Complementary Bibliography
Gene Kim et al.;
The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations, IT Revolution Press, 2016. ISBN: 978-1942788003
Ray J. Rafaels; Cloud Computing: From Beginning to End, 2015. ISBN: 978-1511404587
O'Reilly ; The Enterprise Cloud: Best Practices for Transforming Legacy IT, 2015. ISBN: 978-1491907627
Gene Kim et al.; The Phoenix Project: A Novel about IT, DevOps, and Helping Your Business Win, 2014. ISBN: 978-0988262508
Teaching methods and learning activities
- Presential exposition and discussion of the syllabus, subject to in-class exercises.
- Lab work, through project development that apply the studied techniques.
Evaluation Type
Distributed evaluation with final exam
Assessment Components
Designation |
Weight (%) |
Exame |
50,00 |
Participação presencial |
5,00 |
Trabalho laboratorial |
45,00 |
Total: |
100,00 |
Amount of time allocated to each course unit
Designation |
Time (hours) |
Elaboração de projeto |
60,00 |
Elaboração de relatório/dissertação/tese |
18,00 |
Estudo autónomo |
42,00 |
Frequência das aulas |
42,00 |
Total: |
162,00 |
Eligibility for exams
Not exceed the maximum number of absences to classes (25%), to deliver and present the course work with an exam classification equal to or greater than 35%.
Calculation formula of final grade
Lab = 0.3 * Intermediate Presentation + 0.7 * Final Evaluation
Final Mark = 0.45 * Lab + 0.50 * Examination + 0.05 * Continuous Evaluation
Classification improvement
- The mark obtained in the Lab and Continuous Evaluation can only be improved in the next edition.
- Examination evaluation can be improved through the usual legal mechanisms.