ISMAT 7348
Distributed Computing
IT Engineering
-
ApresentaçãoPresentationThe Distributed Computing course focuses on the infrastructures that support modern distributed applications, combining theoretical foundations with a strong practical component. Concepts such as scalability, availability, fault tolerance, resilience, security, and distributed service management are addressed. The course places particular emphasis on containerization with Docker and orchestration with Kubernetes, including deployment, load balancing, horizontal scaling, service configuration, persistence, and recovery. In the practical component, students work on the preparation, automation, and administration of distributed environments. The course concludes with a final project in which students apply the knowledge acquired to implement and manage a complete distributed infrastructure.
-
ProgramaProgrammeCommunication models: message passing, remote function invocation, and multicast communication. Communication security. Threats and attacks. Secure communication channels. Processing in distributed systems. Stateful services. Concurrent implementations based on events vs. threads. Fault tolerance. Election algorithms. Two-phase commit protocol. Primary-backup protocol. Basic techniques for improving scalability. Case study: Domain Name System (DNS).
-
ObjectivosObjectivesThis course aims to develop skills in the understanding, implementation, and management of distributed computing infrastructures. It covers fundamental architectures, support models for distributed services, containerization, orchestration, and resilience mechanisms. By the end of the course, master's students should be able to: O1 understand the concept of distributed infrastructure, its characteristics, advantages, and challenges; O2 know virtualization, containerization, and service deployment models; O3 configure and manage distributed environments with Docker and Kubernetes, ensuring service communication, scalability, availability, and persistence; O4 understand synchronization, fault tolerance, monitoring, and recovery mechanisms in distributed infrastructures.
-
BibliografiaBibliographyCommunication models: message passing, remote function invocation, and multicast communication. Communication security. Threats and attacks. Secure communication channels. Processing in distributed systems. Stateful services. Concurrent implementations based on events vs. threads.Fault tolerance. Election algorithms. Two-phase commit protocol. Primary-backup protocol. Basic techniques for improving scalability. Case study: Domain Name System (DNS). George Coulouris, Jean Dollimore, Tim Kindberg, Gordon Blair Distributed Systems, Concepts and Design, 5th Edition, ISBN 978-0-273-76059-7, Pearson, 2012. Cloud Computing: Theory and Practice (2nd Edition), Dan C. Marinescu, Ed. Morgan Kaufmann/Elsevier, 2018
-
MetodologiaMethodologyThe lectures are primarily expository. Whenever necessary, examples that help clarify the topics covered will be presented. The material follows closely the main recommended bibliography. In addition, for very specific topics, supplementary notes or articles will be provided. Throughout the semester, problems will be assigned to reinforce the concepts presented in the lectures. These problems will be discussed in the tutorial classes, but students are expected to solve them outside class. Students will also be required to complete two small projects in which they apply the concepts presented in the lectures.
-
LínguaLanguagePortuguês
-
TipoTypeSemestral
-
ECTS6
-
NaturezaNatureMandatory
-
EstágioInternshipNão



