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: 10-04-2024
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
Academic preconditions
The contents of DM550 Introduction to Programming, DM563 Concurrent Programming, DM510 Operating System, DM572 Network and Cybersecurity 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.
The course builds on the knowledge acquired in the courses DM563 Concurrent Programming, DM510 Operating System, DM557 Network and Security. It provides a professional basis for choosing courses or projects in programming and software development later on the program.
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
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
Examination aids
To be announced during the course
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
Teaching Method
At the faculty of science, teaching is organized after the three-phase model ie. intro, training and study phase.
- Intro phase (lectures) - Number of hours: 30
- training phase: Number of hours: 30, of which tutorials 30 hours
Activities in the study phase: Programming and small projects.
The course will contain lectures, problem solving, and programming exercises. In the lectures, the theory will be covered, partly via a dialogue with the students. The aim of the problem solving is a better understanding of the theory, and through programming the students will obtain experience with the challenges and advantages of the usag of Microservices and Dev(Sec)Ops approaches.
Teacher responsible
Timetable
Administrative Unit
Team at Registration
Offered in
Recommended course of study
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.