Study-Unit Description

Study-Unit Description


CODE CIS5040

 
TITLE Architecting Scalable Online Solutions

 
LEVEL 05 - Postgraduate Modular Diploma or Degree Course

 
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 on 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., September 2012.

Google Cloud Platform for Architects: Design and manage powerful cloud solutions. Vitthal Srinivasan, Janani Ravi and Judy Raj. Packt Publishing, 26 Jun 2018.

Azure for Architects: Implementing cloud design, DevOps, IoT, and serverless solutions on your public cloud. Ritesh Modi. Packt Publishing, 20 Oct 2017.

 
STUDY-UNIT TYPE Lecture, Independent Study & Tutorial

 
METHOD OF ASSESSMENT
Assessment Component/s Assessment Due Resit Availability Weighting
Presentation (30 Minutes) SEM2 No 15%
Project SEM2 Yes 85%

 
LECTURER/S

 
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 2020/1. It may be subject to change in subsequent years.

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