97431 - SCALABLE AND RELIABLE SERVICES M

Academic Year 2021/2022

  • Teaching Mode: Traditional lectures
  • Campus: Bologna
  • Corso: Second cycle degree programme (LM) in Artificial Intelligence (cod. 9063)

    Also valid for Second cycle degree programme (LM) in Computer Engineering (cod. 0937)

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

There are two possibilities of assessment.

(1) Software project (max 2 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 assessment by the end of July.

Teaching tools

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

Office hours

See the website of Michele Colajanni