Microservices and Serverless Architectures (MSA) – Winter 2122

Course Information

  • Language: English
  • Type: Seminar
  • Module: IN0014, IN2107, IN4453
  • SWS: 2
  • ECTS Credits: 5
  • Prerequisites: As such we don’t have any compulsory pre-requisites, but we prefer students to be proficient in the basic concepts of Distributed Systems and Software Engineering, or equivalent background.
    • IN2259: Distributed Systems, IN0006: EIST
  • TUM Online: You must register for this course in TUM Online before the course starts
  • Course Material: You can find kickoff slides on TUM Online
  • Time and Location:
    • Thursday, 21.10.2021 10:00 – 11:00 
    • Thursday, 18.11.2021 10:00 – 13:00 with break
    • Thursday, 16.12.2021 10:00 – 12:30 with break
  • Contact:

Content

With the development of cloud technologies, the concepts of distributed applications became more established. The monoliths have clearly shown their weaknesses, so the demand for new architectural patterns has increased.

An often-used concept for creating a clean microservice architecture is Domain-driven Design (DDD), which became popular after the publication of Eric Evans’ book describing the key principles and patterns of how to design software systems based on the underlying model of the business domain.

On the one hand, Domain-Driven Design with its domain-oriented concepts provides a well-founded guide for the transition of obsolete monoliths to state-of-the-art microservices environments; on the other hand, it helps to define the domain-oriented context to derive the bounded contexts first and then to define microservices based on them. This step is crucial for the successful implementation of the microservice architecture because it enables a clear division of tasks and responsibilities in the team.

However, this architecture pattern brings with it some challenges that, depending on the size of the project, lead to more effort than benefits. The challenges span several areas, including data management, security, resiliency, performance effectiveness, communication, etc.

To counteract all these challenges, various design patterns have been developed over time, certain conventions have been worked out and cloud services and infrastructures have been created. Nowadays, the range of different methods and tools is huge, in addition to the need to know the various architecture patterns and to be able to implement them according to the provided requirements. This introduces a complexity that leads to a very high learning curve, longer training periods for the software developers and correspondingly high costs.

The aim of the seminar is to find out which methods are available to reduce this complexity and how entry into the field of microservice architecture can be made easier by applying those methods.

Objectives

The students will read, discuss, and analyze recent papers in the top conferences of this field, particularly ACM/IFIP/USENIX, ASE, DSN, ESEC/FSE, ICSE, ICST. Students are expected to read papers in-depth prior to class, and take turns in preparing and delivering high-quality presentations of papers. Furthermore, the students will actively participate in the discussion to criticize and potentially advance the state-of-the-art.

  • Advance scientific topics in microservice architecture
  • Scientific report preparation
  • Presentation and discussion of scientific results
  • Available methods to reduce this complexity of microservice architecture

Teaching and Learning Methods

Kickoff
During the kickoff meeting the contents of the course and a list of papers will be presented. The seminar participants should sign up for the topics they are interested in according to the principle: first come first serve. For each paper there will be 2 participants who will build a team.

Presentations
Presentations will be led by two presenters. (The two presenters are expected to share the responsibilities for leading the discussion.) We recommend that the presenters devote roughly equal amounts of time for each of the above three broad categories of questions. It is the responsibility of the presenters to manage the discussion and cover the various questions within this time. Finally, the audience is expected to read the paper and engage the presenters in an active discussion.

Paper Presentation (approximately 3 hours)
3-4 weeks after the kickoff session, the next meeting will take place, at which each team will present their assigned paper. The presentation must be no longer than 20 minutes, including questions. After half of the presentations, there is a 15-minute break and then the remaining presentations are held.

Research Presentation (approximately 2.5 hours)
After the paper presentation, participants have another 3-4 weeks to prepare for the final research presentation to present their research proposals. The final presentation should last a maximum of 15 minutes per team, including questions, with a 15-minute break after half of the presentation.

Report & Peer Review
After the final research presentation, seminar participants must write a report based on the content of the paper, including 2 pages of paper summary and a 2-page research proposal within the next 2 weeks.The reports are then evaluated in a peer review mode, which means that the seminar participants evaluate the reports of other participants.

Instructors