Cloud and Service Oriented Computing
Keywords |
Classification |
Keyword |
CNAEF |
Informatics Sciences |
Instance: 2018/2019 - 1S 
Cycles of Study/Courses
Acronym |
No. of Students |
Study Plan |
Curricular Years |
Credits UCN |
Credits ECTS |
Contact hours |
Total Time |
MESW |
18 |
Syllabus since 2016/17 |
2 |
- |
6 |
42 |
162 |
Teaching language
Suitable for English-speaking students
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
Foundamentals: Classical vs SOA architectures. Microsservices. Patterns and standards of service communcation. Webservices. SOAP vs REST. Messaging and Message Bus. Principles and Models of Parallel and Distributed Computation. Actor Model. Mapreduce/Lambda Architectures. Infrastructures Virtualization. PaaS, SaaS, IaaS, FaaS and Maas. Cloud Storage. Elasticity. High-Avaliability and Replication. Clusters. Monitorization and Diagnostic. Failure and Fault-Tolerance. Latency and Interference. Reactive Systems and Streams. Security.
Applications: Actor Model with Akka. MapReduce with Spark and Hadoop. Public clouds with Microsoft Azure, Google Cloud and Amazon AWS. Key-Value Databases. HAProxy. AMQP-based BUS. Continuous Delivery with GitLab.
Mandatory literature
Michael J. Kavis;
Architecting the Cloud: Design Decisions for Cloud Computing Service Models (SaaS, PaaS, and IaaS), Wiley, 2014. ISBN: 978-1118617618
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
Complementary Bibliography
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 |
35,00 |
Participação presencial |
5,00 |
Trabalho laboratorial |
60,00 |
Total: |
100,00 |
Calculation formula of final grade
Lab = 0.3 * Intermediate Presentation + 0.7 * Final Evaluation
Final Mark = 0.6 * Lab + 0.35 * 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.