Dieses Informatikprojekt gehört zu “The Microservice Dungeon”, wo Studierende aus mehreren Studiengängen ein große, verteilte (Gaming-)Software-Landschaft bauen. Das Gesamtprojekt ist hier beschrieben.
#rollenzuweisung
und klicken Sie auf
msd - ip
.
Die entsprechenden Kanäle zur Veranstaltung werden anschließend für Sie freigeschaltet.
“The Microservice Dungeon” begann als ein vernetztes Softwareprojekt im WS 21/22, bei dem vier Module in drei Studiengängen zusammenwirkten. Anfänglich waren ~50 Studierende an diesem Projekt beteiligt. Das Ziel war es, ein wirklich großes Softwaresystem zu simulieren, in dem autonome, agile Teams unabhängig arbeiten können.
Das Gesamtprojekt ist hier beschrieben. Die Sourcen der Core Services liegen in unserer eigenen Organisation in Gitlab und sind Open Source.
Wer ST2 absolviert hat, dem wird die “Story” dieses Informatikprojekts vertraut vorkommen. In der Tat setzt das Projekt die Geschichte fort - einerseits inhaltlich (Robot-Schwärme werden autonom gesteuert, sammeln Ressourcen und kämpfen), aber wichtiger noch technisch. Denn jetzt gehen wir wirklich in eine große Software-Landschaft, wo es 6 Core-Services und eine beliebige Anzahl von Player-Services gibt. Alle diese Services sind lose gekoppelt, also nur wenig (bis gar nicht) von einander abhängig.
Und die Kommunikation wird nur teilweise synchron erfolgen, via REST, so wie in ST2 gelernt. Der Hauptteil der Kommunikation passiert nun asynchron, via Events. In der Gesamtlandschaft gibt es zwei Event Processing Platforms (Apache Kafka und Rabbit MQ). Die Player Services setzen Commands an die Core-Services synchron ab (via REST), und bekommen die Ergebnisse asynchron über Events, für Sie Listener schreiben.
In diesem Informatikprojekt werden Sie in kleinen Teams (1-3 Personen) jeweils einen Player Service implementieren. Sie haben vollständige Technologiefreiheit - sei es Kotlin, Java, C#, Scala, … Sie müssen allerdings auch das Deployment selbst machen. Dafür gibt es Anleitungen, via Helm Chart in ein Kubernetes Cluster.
Die Bearbeitung des Projekts erfolgt an zwei Tagen in der Woche in einem agilen Modus, d.h. mit Sprint-Reviews alle zwei Wochen. Wir werden einige dieser Termine auch für Workshops nutzen, um interessante Coding- und Architektur-Aspekte zu besprechen. Sie sollen sich darüber hinaus auch aktiv an Code-Reviews beteiligen, um sich gegenseitig bei gutem Code zu helfen. Das fließt in die Note mit ein.
Das Informatikprojekt wird gemeinsam mit einem Guided Project im Master Digital Sciences, Software Architecture durchgeführt. Die Masterstudierenden arbeiten an einem internen Refactoring der Core-Services, um die Migration zu einer vollständig Event-getriebenen Architektur voranzutreiben. Die Schnittstellen zu Ihren Player-Services werden dabei aber stabil bleiben.
Am Ende dieses Informatikprojekts werden wir einen Code-Fight veranstalten, wo alle Player gegeneinander antreten. Es geht um die Ehre :-).
Sie können in Teilteams zwischen 1 und 3 Personen arbeiten. Die ideale Teamgröße ist das Pair (2 Personen). Beachten Sie, dass von größeren Teilteams auch mehr erwartet wird (das schlägt sich in der Bewertung nieder), dass man aber bei Zusammenarbeit auch Synergien hat, bessere Qualitätskontrolle und vermutlich bessere Lösungen aufgrund der Diskussionen im Team.
Die Benotung wird sich aus einzelnen Teilnoten für die folgenden Aspekte zusammensetzen:
Der Erfolg / Misserfolg im Code-Fight wird KEINEN EINFLUSS auf die Note haben. Das soll eine rein sportliche Aktivität für Ehre und Spaß bleiben.
Bei mehr als 10 Bewerbungen erstellen Sie bitte ein kurzes (max. 3 min!) Video, in dem Sie bitte auf die folgenden Fragen eingehen:
Die Videos müssen keinerlei technischen Anspruch haben - also bitte keine Slides o.ä. Es genügt, einfach das Smartphone zu nehmen und sich selbst zu filmen. Die Videos können Sie in der folgenden Form hochladen:
<campusId>.mp4
oder<campusId>.txt
mit einem Link zu YouTube, Vimeo, ILIAS etc. (der Link muss ohne Zugangsprüfung oder mit
einem TH-Köln-Login aufrufbar sein)Das laden Sie bitte bis Sonntag, 25.09. eod, auf https://th-koeln.sciebo.de/s/HffmMg9GTHYtp16 hoch. Ich wähle dann zusammen mit einem Mitarbeiter die überzeugendsten Videos zur Teilnahme aus. Sie müssen nicht schon ganz viel “können” - wir wählen danach aus, wer überzeugend ausstrahlt, mit Begeisterung an diesem Thema arbeiten zu wollen. Egal, wieviel Vorwissen Sie haben.
Es gibt am Innovation Hub ein neues Hackathon-Projektformat: https://innovation-hub.de/hackathon. Schauen Sie doch dort am 21.10. vorbei! Da gibt es noch einmal einen ganzen Schwung von Angeboten.
Darüber hinaus lohnt sich ein Blick in die Projektbörse PROX für unseren Campus.
Organisatorische Details des Informatikprojekts, inhaltliche Einführung in Architektur und Infrastruktur.
Raum: Innovation Hub (Gebäude LC7, das Gebäude rechts vom Durchgang zum Bahnhof Gummersbach. Der Innovation Hub ist für die Öffentlichkeit nicht zugänglich. Der Haupteingang ist aber während üblicher Arbeitszeit offen. Kommen Sie hoch in den ersten Stock und klingeln Sie da. Rufen Sie bitte mich (+49 176 8072 2689) oder einen Kommilitonen per Handy an, wenn niemand aufmachen sollte), siehe auch detaillierte Wegbeschreibung.
Jede/r hat eine Vorstellung von Architektur, Infrastruktur und Dokumentation der Gesamtlandschaft des Projekts, und kann loslegen.
Als SW-Entwickler:in kann ich einen Service in einer komplexen Microservice-Architektur konzipieren und implementieren,
indem ich ...
damit ich auf diese Weise große digitale Produkte entwickeln kann, die ein komplexes, verteiltes Backend erfordern.