Introduction¶
This website serves as a documentation root for all ColonyOps Lab Sessions and related materials.
You will find all the information you need here: Lab session assignments, Game manual and more.
The ColonyOps Game¶
All Lab sessions1 are linked into a continuous long-running exercise, which revolves around participating in a multiplayer game that challenges you to learn certain devops concepts in a pleasant and practical way.
You have been assigned a team of fellow students with whom you will take control of a single Colony in the game world.
- You control this Colony indirectly...
- ... by programming the decision logic in the form of a service exposing a HTTP API
- During missions, this logic is called by our game host at the start of each turn
- Collect as many resource as possible (or hinder other Colonies in doing so) so you can grow your Colony in a strategic overworld layer
Goal: become the most powerful Colony
For more details on how the game works, we refer to the Game Manual.
Setup¶
During these Lab sessions, you will be working in three different environments:
- Locally (on your own machine): for developing and testing your Colony logic. We've provided a local test setup using Docker that you can use to run the game locally.
- On a Gitlab server: for version control, CI/CD pipelines, issue tracking and communication with your team
- On a Kubernetes cluster: for hosting your Colony logic and other services required for participating in the game
Lab overview¶
Important
This course is the result of a merger between "Frameworks" and "DevOps," which were taught separately until the 2025–2026 academic year. As a result, there are two student groups: Group A (regular students) and Group B (bridging program and repeats). While the lab sessions accommodate both groups, certain labs and the test are only relevant for Group A.
- Group A →
E761100A - Softwareontwikkeling en -beheer - Group B →
E761100B - Softwareontwikkeling en -beheer
Below are the dates of all lab sessions, their respective deadlines for grading and which groups they are targeted at. Please note that the lab sessions are designed to be completed in order, as each session builds upon the previous one.
| Lab Session | Date | Deadline | Target group |
|---|---|---|---|
| Lab 1: Getting started | 30/09 | A + B | |
| Lab 2: CI/CD & Testing | 07/10 | 13/10 | A + B |
| Lab 3: SQL & ORM | 14/10 | A | |
| Lab 4: Kubernetes | 21/10 | A + B | |
| Lab 5: Competitive Game kick-off | 28/10 | 03/11 | A + B |
| Lab 6: Kafka | 04/11 | A | |
| Lab 7: Observability | 18/11 | A + B | |
| Lab 8: NoSQL | 25/11 | 01/12 | A |
| Lab 9: Test | 02/12 | A | |
| Lab 10: Support (no new assignment) | 09/12 | A + B |
-
With the exception of Lab 9, which is a standalone test. ↩