B5796 - Scalable and Reliable Services M

Academic Year 2024/2025

Learning outcomes

Digital services have to meet various requirements in terms of performance, scalability and reliability. We analyze the whole lifecycle of high quality services, from design to deployment, testing and operation. In each phase, we aim to provide the students with the ability to gather and analyze data, to identify sources of outages and critical dependencies, and to avoid bottlenecks and single points of failure. Finally, we expect students to be prepared to evaluate and discuss alternatives and justify investment in support of business services.

Course contents

Introduction
Cloud services
Cloud provider architectures
High-quality services: performance, scalability, reliability (and security)
Lifecycle of high-quality services

Part 1: Architectures for scalable and reliable services
Sources of outages and critical dependencies
Bottlenecks and single points of failure
Design: maturity assessment, architectural principles for reliability and scalability, AKF scale cube model
Migration to cloud
Critical data management: Strategy, Governance, Management
Implementation alternatives on cloud platforms and multi-clouds

Part 2: Service deployment
Secure and robust software production
Secure and robust DevOps
Labs on cloud platforms

Part 3: Tests
Benchmarking
Performance testing
Stress testing

Part 4: Scalable and reliable organizations
Roles and responsibilities
Leaders and managers
Putting all together
Capacity planning
Understanding and managing complexity
Managing changes

Part 5: Issues, incident and crises
Performance monitoring
Warning signs in operation
Incidents management
Crisis management

Readings/Bibliography

Slides, teacher's notes, book chapters, scientific articles and online resources indicated on the Virtuale website.

Teaching methods

The course consists of lectures and exercises in class. Interaction is appreciated and evaluated as a component of the final grade.

Assessment methods

The course consists of lectures and exercises in class. Interaction is appreciated and evaluated as a component of the final grade.

Teaching tools

There are two possibilities of assessment.

(1) Software project (max 3 students), presentation of the results and discussion.

(2) Individual design project, presentation of the results and oral exam.

The students interested to the option (1) must complete the exam by the end of July.

All the teaching material is available to the students on the course (Virtuale) website.

Office hours

See the website of Michele Colajanni