Skip to content

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

  1. With the exception of Lab 9, which is a standalone test. ↩