Study-Unit Description

Study-Unit Description


CODE CIS5040

 
TITLE Architecting Scalable Online Solutions

 
UM LEVEL 05 - Postgraduate Modular Diploma or Degree Course

 
MQF LEVEL 7

 
ECTS CREDITS 5

 
DEPARTMENT Computer Information Systems

 
DESCRIPTION Building software solutions that scale requires a specific set of knowledge and skills. Scalable solutions broadly refer to software solutions that can respond and adapt to varying levels of usage as well as data throughput while maintaining a reasonable level of performance and predictability. The interplay between performance and scalability will be investigated, determining ways to reach the intended or projected load level while sustaining performance levels with minimal deterioration. In architectural terms, one must know how much load a given solution can sustain under growing demands, providing some level of assurance on expected performance while allowing for further growth with minimal effort and business disruption (i.e. without the need to re-architect the original solution).

The unit will look at various techniques, disciplines and technologies that can help organizations reach the above goals, from both a theoretical and practical perspective. The unit will help students formulate a sensible cost-benefit assessment on intended approaches meant to solve any given problem scenario.
Starting off from traditional architectural approaches, the unit will also delve into cutting-edge approaches that have heavily evolved over recent years. Among others, we may look at component-level scalability afforded by specific architectural patterns and techniques such as task-service decoupling and asynchronous queue processing, message brokers, horizontal auto-scaling, microservices and so forth.

Study-unit Aims:

This study-unit aims at equipping students with adequate knowledge of architectural considerations, patterns, best practices and caveats for scalable system design.

Learning Outcomes:

1. Knowledge & Understanding
By the end of the study unit the student will be able to:

- Propose architectures, patterns and best practices for scalable systems;
- Design, assess and develop scalable systems affording good SLA levels (e.g. throughput, performance and availability).

2. Skills
By the end of the study unit the student will be able to:

- Design solutions that provide reasonable performance assurances under different levels and types of workload;
- Explain the complex interplay between the various components in a scalable software solution to respond to varying degrees of load while maintaining high availability (e.g. health probes/monitoring, load balancers, replication, redundancy, caching strategies, data partitioning, content delivery networks);
- Design solutions that can respond to future demands with the least possible impact on operations;
- Recommend solutions that respond to business requirements within given budgetary constraints.

Main Text/s and any supplementary readings:

- Cloud Architecture Patterns, Bill Wilder. O'Reilly Media, Inc., ISBN: 9781449319779.
- Architecting for Scale (2nd Edition), Lee Atchison, O'Reilly Media, Inc., ISBN: 9781492057178
- The Art of Monitoring, James Turnbull, artofmonitoring.com

 
STUDY-UNIT TYPE Lecture, Independent Study & Tutorial

 
METHOD OF ASSESSMENT
Assessment Component/s Sept. Asst Session Weighting
Presentation (30 Minutes) No 15%
Project Yes 85%

 
LECTURER/S Rebecca Camilleri
Christopher Porter (Co-ord.)

 

 
The University makes every effort to ensure that the published Courses Plans, Programmes of Study and Study-Unit information are complete and up-to-date at the time of publication. The University reserves the right to make changes in case errors are detected after publication.
The availability of optional units may be subject to timetabling constraints.
Units not attracting a sufficient number of registrations may be withdrawn without notice.
It should be noted that all the information in the description above applies to study-units available during the academic year 2024/5. It may be subject to change in subsequent years.

https://www.um.edu.mt/course/studyunit