Welcome

Welcome to the Microservices and DevOps fagpakke which is taught by Henrik Bærbak Christensen (e-mail: hbc at cs dot au dot dk).

Practical Annoyance

Our e-learning platform, BrighSpace (BS), may ignore clicks to external links. So use your browser's "open in new tab", "save as", etc. features if a link does not work. Sorry, most of my pages are generated outside BrightSpace and co-existences is apparently an 'interoperability quality attribute' that BS does not consider well.

Also BS apparently caches these pages, meaning you have to 'Shift-reload' the pages to ensure you have the latest version (I often need to update exercises in case we encounter some issues that need to be fixed.)

Time and Place

The seminars will be taught in the conference rooms, Fredrik Nielsensvej 2-4, 8000 Aarhus C. The room name is provided in the list below. Some seminars may be Zoom based instead, depending upon contents and the preferences of the audience.

The schedule is:

DevOps og Container Teknologi (E21)
-----------------------------------

27/8    2021    Fredag  9.00 - 16.00 (Mødelokale 1)
14/9    2021    Tirsdag 9.00 - 16.00 (Mødelokale 1)
1/10    2021    Fredag  9.00 - 16.00 (Mødelokale 1)

Skalerbare Microservices (E21)
------------------------------

29/10   2021    Fredag 9.00 - 16.00 (Richard Mortensen stuen)
12/11   2021    Fredag 9.00 - 16.00 (Richard Mortensen stuen)
 3/12   2021    Fredag 9.00 - 16.00 (Richard Mortensen stuen)

Udviklingsprojekt i Microservices og DevOps (F22)
-------------------------------------------------

 9/2    2022    Onsdag 9.00 - 16.00 (Preben Horning stuen)
25/2    2022    Fredag 9.00 - 16.00 (Preben Horning stuen)
18/3    2022    Fredag 9.00 - 16.00 (Preben Horning stuen)
    

Course organization

The fagpakke consists of three individual courses/modules that must be followed in sequence as each assumes the previous ones.

The first two courses are theory/engineering oriented while the latter is a project course.

Theory/Engineering course organization

The course is organized by a set of lessons each discussing a particular topic. A lesson is based upon some material you must read, usually an associated powerpoint presentation, and sometimes some source code or other material

Lessons are organized in the weekplan. Here it is outlined which lessons you should work through each week in the seven weeks within the each course. Thus, the heartbeat of the course is you and your groups' work on the lessons for each week.You will find links to each week's plan in the menu on the left.

During each course there are three seminars, lasting about seven hours. The seminars will alternate between lectures over a subset of the course lessons, group work on exercises, and discussions. Also, a free lunch is provided (sandwich).

To aid your learning there will be a set of mandatory exercises which you will work on in groups of two or three persons. The mandatory exercises must be handed in using the BrightSpace system and will be subject to evaluation by the course teacher. They must all pass for you to be allowed to attend the exam and are thus in essense a part of the exam.

Project course organization

The last "course" is a project course. The core theme of this course is the group's work on a large project that should utilize some of the practices, methods, and tools of the previous courses. The outcome is a project report that is defended at an oral exam.

Thus, this course will add little or no further topics on the list but concentrate on work on the project, supervision, and reflection on the practices.

The three seminars of the project course is mainly used on peer-review, that is, you review and provide constructive feedback to the work/reports of other groups. Of course I will also have read the reports and will provide feedback.

Literature

The courses will rely on a lot of resources, including three books:

[Newman, 2015] Sam Newman (2015) Building Microservices - Designing Fine-grained Systems. O'Reilly.
[Nygard, 2017] Michael T. Nygard (2017). Release It! Design and Deploy Production-Ready Software. 2nd Edition. Pragmantic Bookshelf
[Christensen, 2020] Henrik Bærbak Christensen (2020) Flexible, Reliable, Distributed Software - Still Using Patterns and Agile Development, 2nd Edition. leanpub.com/frds

The two first will be on sale for a reduced student rate at the first seminar. The third one is only available as electronic download.

Also, the course assumes knowledge of, and skills in applying, design patterns, frameworks, automated testing using JUnit, test doubles, and test-driven development, following the theory and practice presented in my first book:

[Christensen, 2010] Henrik Bærbak Christensen (2010) Flexible, Reliable Software - Using Patterns and Agile Development. CRC Press/Taylor Francis.

Most other literature will be papers, which can be downloaded from BrightSpace..