Microservice architectures and serverless computing
Individual course
Max amount of FITech students: 35
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 about microservice and serverless system design, not implementation. This course will not teach how to program or deploy microservices.
This course is targeted at students with 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.
As a prerequisite, you are assumed to know the difference between a front-end and back-end, what purpose a database serves, etc.
Course contents
The course will cover multiservice system design and design of scalable and fault-tolerant services.
- Introduction
- Microservice ecosystem
- System design
- Failures
- Service architectures
- Configuration and discovery
- Scalability
- Deployment
- Service evolution
- Serverless
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.
Course material
The course material consists of online topical resources, research articles, and relevant literature available online through the university library service. It will be provided during the course.
The course does not require any specific tools or software not commonly available.
Teaching schedule
Tuesdays 12:15-14 and Fridays 10:15-12.
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.)
Completion methods
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.
Check course details from the course homepage.
More information in the Aalto University study guide.
You can get a digital badge after completing this course.
Responsible teacher
Contact person for applications
Software systems