Der Reise-Butler ist die Smartphone-App für den wissbegierigen Reisenden und Fallbeispiel für die Methode CARDS+.


Die nächste Aufgabe betrifft den Aufbau und die Nutzung der Cloud für die Komponenten der Assistenz und für das Backend. Moritz fordert, dass Initialisierung und Konfiguration der Infrastruktur durch Code automatisiert wird: « Die Infrastruktur muss immer gleich aufgebaut sein, ohne manuelle Nacharbeiten. Jede Änderungen an einem Ablauf muss nachvollziehbar sein. Ich habe schon zu oft erlebt, dass stundenlang Fehler in der Software gesucht wurden, um am Ende festzustellen, dass die Umgebung das Problem war. »

Die Studenten blicken sich an. Sie erwecken bei Moritz den Eindruck, dass sie mit der Aufgabe nichts anfangen können. « Damit haben wir keine Erfahrung », entgegnet schließlich Julius stellvertretend für das Team.

Moritz schlägt vor, dass sie sich auf Rancher und Gitlab beschränken. Beides sind Lösungen, die bereits im Unternehmen eingesetzt werden.

Zwei sehr erfahrene Kollegen im Unternehmen präsentierten dieses Jahr auf einer Konferenz in Barcelona Rancher. Sie konnten mit einem einfachen Showcase live zeigen, wie sie mit ​​Rancher​,​ ​​Nexus​,​ ​​Gerrit​​ ​und​ ​​Jenkins​ in sehr kurzer Zeit eine voll funktionsfähige Umgebung aufsetzen.

In diesem Vortrag zeigen Moritz’ Kollegen, wie man einen Rancher-Cluster einrichtet und Jenkins auf mehreren Hosts ausführt (jenkins swarm). Alle Build-Jobs werden mit Code (jenkinsfile) konfiguriert, so dass jede Änderung in der Git-History sichtbar wird. Durch den Einsatz von Docker wird es einfach, jede mögliche Build-Umgebung zu unterstützen. Als Demo setzen sie eine spring-basierte Webapplikation ein, die gebaut, getestet, gedockert und in eine Cloud-Umgebung installiert wird.

Weiterlesen auf e-mundo.de

Gitlab mit dem Gitlab-CI gilt bei anderen Kollegen im Unternehmen als sehr einfach umzusetzende Lösung, die alle Bedürfnisse bei der Entwicklung eines IT-Systems erfüllt. Kubernetes ergänzt den Technologie-Stack um die Möglichkeit zur Skalierung einer Umgebung.

Als wichtige Randbedingung gilt die Verwendung von Docker für alle Komponenten. Das gilt sowohl für alle individuell entwickelten Komponenten als auch für Datenbanken und andere Standardkomponenten. Moritz begründet seine Entscheidung mit wirtschaftlichen Argumenten. Die Verwendung einer Cloud ist für ihn notwendig, um die Kosten für die Entwicklungsumgebung über die Laufzeit des SE-Projektes planbar zu bekommen. Bei einem positiven Verlauf des Projektes ist auch eine öffentlichen Version des Reise-Butlers denkbar – auch in der Cloud. Und mit Docker ist ein klarer Weg in die Cloud vorgezeichnet.

Moritz bietet ergänzend an, dass er den Kontakt mit den Kollegen im Unternehmen herstellt, die sich mit Rancher bzw. Gitlab auskennen. « Es macht nicht wirklich Sinn, in unserer Situation andere Lösungen zu suchen. Ich denke, wir tun gut daran, auf den Erfahrungen der Kollegen aufzubauen. »

Alle stimmen zu. Moritz dokumentiert die Entscheidung sofort mit dem Baustein Decision, während die Studenten ihre Diskussion abschließen.

Aus seiner eigenen Erfahrung schlägt Moritz vor, eine erste minimale Implementierung für ausgewählte Komponenten zu schaffen. Diese Komponenten nutzen die Infrastruktur. Fehler in der Bereitstellung der Infrastruktur werden so schneller sichtbar. Als sehr hilfreich stellt sich dabei der Komponentenüberblick heraus. Auf einen Blick ist erkennbar, welche Komponenten für eine erste minimale Version des Produktes notwendig sind. Das erste Produktinkrement hat ein Gesicht.

Zuletzt veröffentlichte Beiträge: