Practical Classes

First class (17th of September)

For the first practical class you have to read four articles prior to the class. They are:

(1) Microservices by James Lewis and Martin Fowler; 

(2) How Netflix Works by Mayukh Nair

(3) How to extract a data-rich service from a monolith by Praful Todkar

We'll discuss these articles, focusing on the differences between a monolith and a microservices architecture, and some of the qualities the software systems of Neflix require. 

Important: For this first class, and the course in general, I expect that the students understand the basic layers and tiers of a enterprise application, as described in this article. If it is not the case, please, send me an email. Note that students that have attended LEIC/LETI Software Engineering course should be aware of these concepts.

Second class

For the second practical class, on September 24, you have to read Scalable Web Architecture and Distributed Systems by Kate Matsudaira. While reading, please, identify the software elements and their relations, the properties of both, and how they allow us to reason about the system architecturally significant requirements.

Third class

For the third practical class, on the 1st of October, we will analyse the Graphite case study, its qualities and what are its software elements, their relations and properties of both.

Fourth class

For the fourth practical class, on the 8th of October, we will analyse the High Performance Networking in Chrome case study, its qualities and possible scenarios, and what are its software elements, their relations and properties of both.

Fifth class

For the fifth practical class, on the 15th of October, we will write scenarios for the Graphite and High Performance Networking in Chrome case studies, and discuss which tactics are used to achieve them. Each group should prepare and present one scenario for each one of these case studies.

Sixth class

For the sixth practical class, on the 22nd of October, we will write and discuss scenarios and tactics for the SocialCalc case study. Each group should prepare and present two scenarios.

Seventh class

Discussion of Netflix case studies.

Eighth class

Discussion of Netflix case studies.

Ninth class

Discussion of Netflix case studies.

Tenth class

The DVD catalog case study: quality scenarios and their architectural views.

Eleventh class

The Graphite case study: quality scenarios and their architectural views. Each group should choose two scenarios and prepare the architectural views that show how the qualities in the scenarios can be achieved by the architecture.

Twelfth class

The High Performance Networking in Chrome case study: quality scenarios and their architectural views. Each group should choose two scenarios and prepare the architectural views that show how the qualities in the scenarios can be achieved by the architecture.

Thirteenth class

The SocialCalc case study: quality scenarios and their architectural views. Each group should choose two scenarios and prepare the architectural views that show how the qualities in the scenarios can be achieved by the architecture.

Fourteenth class

Each group can presents an architectural view of its case study and describe the scenarios that it fulfils.