Please note! Course description is confirmed for two academic years, which means that in general, e.g. Learning outcomes, assessment methods and key content stays unchanged. However, via course syllabus, it is possible to specify or change the course execution in each realization of the course, such as how the contact sessions are organized, assessment methods weighted or materials used.

LEARNING OUTCOMES

At the end of the course, the student will have and understanding of

  • what microservice architectures are and what are the design principles used to design them.
  • differences between system and service design, and the appropriate abstractions to use common service architecture components and where to apply them.
  • scalability, configuration, deployment, service evolution, and serverless computing and why and how they are relevant to microservice architectures.

Credits: 5

Schedule: 25.02.2025 - 04.04.2025

Teacher in charge (valid for whole curriculum period):

Teacher in charge (applies in this implementation): Santeri Paavolainen, Riku Jäntti

Contact information for the course (applies in this implementation):

CEFR level (valid for whole curriculum period):

Language of instruction and studies (applies in this implementation):

Teaching language: English. Languages of study attainment: English

CONTENT, ASSESSMENT AND WORKLOAD

Content
  • valid for whole curriculum period:

    The introduction of cloud computing and the explosive growth of mobile computing and new online services have brought new ways of structuring computing systems: microservice architectures and serverless computing.

    This course is targeted at students with at least a basic understanding of service architectures and scalable architectures, and builds on top of that to look at what possibilities and new challenges microservice architectures and serverless computing brings on top of “classic” service architectures.

    This course is about microservice and serverless system design, not implementation. This course will not teach how to program or deploy microservices. It will, however, cover multiservice system design and design of scalable and fault-tolerant services.

    Course contents

    • Introduction
    • Microservice ecosystem
    • System design
    • Failures
    • Service architectures
    • Configuration and discovery
    • Scalability
    • Deployment
    • Service evolution
    • Serverless

Workload
  • valid for whole curriculum period:

    The course comprises of classes, group and individual assignments, and a system design report. The assignments include Internet searches for relevant material, reviewing provided material and summarising them, group exercises and results presentations, etc.

    The course moves at fast pace, and will require substantial time investment during the course. Most assignments will have a deadline of a week or even less. You need to be able to commit time for following classes (either online or from recording), meeting and working on your group exercises, and for your individual assignments, every week, for the whole duration of the course. (The system design report has a longer deadline.)

DETAILS

Study Material
  • valid for whole curriculum period:

    The course material consists of online topical resources, research articles, and relevant literature available online through the university library service. Access to the library service will be provided during the course.

    The course does not require any specific tools or software not commonly available.

Substitutes for Courses
Prerequisites

FURTHER INFORMATION

Further Information
  • valid for whole curriculum period:

    Teaching Language: English

    Teaching Period: 2024-2025 Spring IV