DM885: Microservices and Dev(Sec)Ops

The Study Board for Science

Teaching language: Danish or English depending on the teacher, but English if international students are enrolled
EKA: N340101102, N340101112
Assessment: Second examiner: External, Second examiner: None
Grading: 7-point grading scale, Pass/Fail
Offered in: Odense
Offered in: Autumn
Level: Master

STADS ID (UVA): N340101101
ECTS value: 10

Date of Approval: 12-03-2025


Duration: 1 semester

Version: Approved - active

Comment

The course is identical to the previous course titled DM874. This means that if you have previously taken an exam attempt in DM874, these attempts will be automatically transferred to this new course.

Entry requirements

The course cannot be followed by students who have passed DM874.

Academic preconditions

The contents of DM574 Introduction to Programming, DM584 Concurrent Programming, DM510 Operating System, DM586 Network and Cybersecurity, DM571 Software Engineering must be known.

Course introduction

The course introduces the current practices of Microservices and Dev(Sec)Ops for the development of complex distributed system that scale up to millions of users.

Microservice programming is a paradigm in which software is built by composing distributed services. To link the software development (Dev) with cybersecurity (Sec) and software operations (Ops) of a microservice system, the Dev(Sec)Ops approach is used. Dev(Sec)Ops strongly advocates for automation and monitoring at all steps of software construction, from integration, testing, releasing to deployment and infrastructure management.
The course will cover recent research and technologies for the programming of microservices using Dev(Sec)Ops approaches. It fosters a coherent understanding of advantages and disadvantages of microservices and Dev(Sec)Ops practices to develop the complex distributed applications of the future.

Expected learning outcome

The learning objectives of the course are that the student demonstrates the ability to:
  • detect and describe the main characteristics and structures of microservice system and Dev(Sec)Ops pipelines
  • develop simple microservice systems using a Dev(Sec)Ops pipeline
  • solve non-trivial programming tasks in a distributed setting
  • estimate possible language or tool related pitfalls for message based distributed systems

Content

The following main topics are contained in the course:
  • Microservice Programming and Languages
  • Dev(Sec)Ops Pipeline and tools
  • Continuous Integration and Deployment
  • Modern Software Engineering approaches to build on scale

Literature

See itslearning for syllabus lists and additional literature references.

Examination regulations

Exam element a)

Timing

January

Prerequisites

Type Prerequisite name Prerequisite course
Examination part Prerequisites for participating in the exam a) N340101101, DM885: Microservices and Dev(Sec)Ops

Tests

Project with oral eksamen

EKA

N340101102

Assessment

Second examiner: External

Grading

7-point grading scale

Identification

Full name and SDU username

Language

Normally, the same as teaching language

Duration

30 minutes for group discussion, 10 minutes for individual discussion

Examination aids

All common aids allowed

ECTS value

10

Additional information


Prerequisites for participating in the exam a)

Timing

Autumn

Tests

Presentation and Peer Feedback

EKA

N340101112

Assessment

Second examiner: None

Grading

Pass/Fail

Identification

Full name and SDU username

Language

Normally, the same as teaching language

Examination aids

To be announced during the course 

ECTS value

0

Additional information

Presentation related to a set of Dev(Sec)Ops tools or a scientific paper relevant for the topics of the course. Peer feedback evaluation of most of the other students' presentations.

The prerequisite examination is a prerequisite for participation in exam element a). 

Indicative number of lessons

56 hours per semester

Teaching Method

Planned lessons: 
Total number of planned lessons: 56 
Hereof: 
Common lessons in classroom/auditorium: 56 

The course will contain lectures and student presentations with peer-feedback activities. In the lectures, the theory will be covered, partly via a dialogue with the students.  

Other planned teaching activities: 
Programming and projects. 

Teacher responsible

Name E-mail Department
Jacopo Mauro mauro@imada.sdu.dk Institut for Matematik og Datalogi (00)

Timetable

Administrative Unit

Institut for Matematik og Datalogi (datalogi)

Team at Registration

NAT

Offered in

Odense

Recommended course of study

Profile Education Semester Offer period

Transition rules

Transitional arrangements describe how a course replaces another course when changes are made to the course of study. 
If a transitional arrangement has been made for a course, it will be stated in the list. 
See transitional arrangements for all courses at the Faculty of Science.