Schedule: 07.01.2020 - 10.04.2020
Contact information for the course (applies in this implementation): See the course main page for contact information.
Details on the course content (applies in this implementation):
The course consists of 12 lectures covering the broad topics of microservices, microservice architectures, serverless computing, and other relevant and associated topics.
In general, the topics that are covered during the course are:
- Docker and Kubernetes
- Architectural levels and identifying services in system architectures
- Communication patterns and service coupling
- Architectural service patterns: sidecars, ambassadors, failover, sharding, caching, workflow systems
- Operational concerns related to service architectures: logging, monitoring, metrics, tracing
- System patterns: service orchestration, service discovery, graceful degradation, configuration, deployment, evolution
- Serverless computing and unikernels
The last lecture is a re-cap session of the overall course contents.
The course project work is in the form of developing a small-scale web service utilizing techniques and technologies learned during the course. There will be a few types of web service use cases available for students, and it is possible to base the project on a student's own use case.
Elaboration of the evaluation criteria and methods, and acquainting students with the evaluation (applies in this implementation):
The evaluation is based on three different types of activities:
- Classroom activity participation
- Personal course project milestones and completion (milestones are presented at separately scheduled exercise sessions)
Out of these the exam has the least weight in the final grading. Just passing the exam will not be sufficient to pass the course. Neither it is not possible to pass without submitting a personal project.
The course content is divided into core concepts and supporting information. The exam will cover only the explicitly noted core concepts. The classroom activities will cover both categories, and you are encouraged to use the supporting information in your personal project work.
Details on calculating the workload (applies in this implementation):
Apart from classroom presence and participation (3 hours a week), the majority of the work in this course is from the personal coursework project. This is expected to take 40 to 80 hours of your time in total, including milestone demonstrations and final submission.
Some classroom activities require group work outside the classroom (preparing presentations on a topic, for example). There are either three or four such activities, each of these is expected to require about 1-4 hours of work.
Details on the course materials (applies in this implementation):
There is no official teaching material or book on the course. The main material is both the lecture slides, and the resources available on the Internet.
Additional information for the course (applies in this implementation):
Attendance on the first lecture is mandatory! Anyone not present will be unceremoniously removed from the course.
- Teacher: Santeri Paavolainen