direkt zum Inhalt springen

direkt zum Hauptnavigationsmenü

Sie sind hier

TU Berlin

Inhalt des Dokuments

MA: Erstellung und Umsetzung eines Konzeptes zur Optimierung von Continous Delivery mit Jenkins

Zielsetzung

Continuous Delivery (CD) umfasst verschiedene Techniken zur Verbesserung der Softwareauslieferung, zum Beispiel Continuous Integration, Testautomatisierung und kontinuierliche Installation (Infrastructure as a Code). Für jeden Teilschritt existieren Werkzeuge und Best Practise Ansätzen, die in nahezu jedem Unternehmen zum Einsatz kommen. Bei Großprojekten mit einem Java Enterprise Technologiestack entstehen noch weitere Herausforderungen an den Continuous Delivery Prozess, wie zum Beispiel:

·       Die Laufzeiten von Builds, Deployments und automatisierten Tests steigen mit einer zunehmenden Codebasis schnell an, so dass kein zeitnahes Feedback für die Entwickler möglich ist.

·       Komplexität des Testens: Lastperformancetests, Security-Tests, Usability Tests usw. erfordern zahlreiche Parameter und Testumgebungen, wodurch die Komplexität des CD-Prozesses zusätzlich steigt.

·       Zusammenarbeit der Entwicklerteams: Ein monolithischer Buildprozess stellt zwar die Integration der Komponenten sicher, fehlerhafte Commits können jedoch den gesamten CD-Prozess zum Erliegen bringen. Es kommt noch hinzu, dass die Rückverfolgbarkeit von Fehlern auf einzelne Commits/Entwickler und somit eine schnelle Fehlerbeseitigung oft nicht möglich ist. Zusätzliche Mechanismen sollen die Transparenz erhöhen und zur effizienteren Fehlerauflösung beitragen.

Die ausgeschriebene Masterarbeit soll einen Schritt in die Optimierung solcher Prozesse vollziehen. Im Rahmen der Arbeit sollen mögliche Ansatzpunkte zur Effizienzsteigerung ermittelt und prototypisch umgesetzt werden. Um der praktischen Relevanz gerecht zu werden, wird die Masterarbeit in Zusammenarbeit mit der Firma ATOS Berlin umgesetzt.

Im ersten Schritt soll ein bestehender CD-Workflow der Firma ATOS analysiert, in einzelne Module zerlegt werden, so dass einzelne Automatisierungseinheiten gebildet werden. Die Optimierungsmöglichkeiten sollen für jede Einheit systematisch ermittelt und bewertet werden. Für mindestens einen Block (bevorzugt jenen mit dem höchsten Verbesserungspotential) soll ein Konzept erarbeitet und vorgestellt werden. Abschließend soll das Konzept unter Nutzung von Jenkins prototypisch umgesetzt und in der produktiven Umgebung evaluiert werden.

 

Voraussetzungen

Kenntnisse von Java, Maven, Softwareentwicklungsprozessen, verteilten Systemen. Wünschenswerte Kenntnisse sind Jenkins, Java EE, Groovy, Ansible

Beginn: ab sofort

Kontakt: Prof. Dr. Odej Kao (odej.kao@tu-berlin.de)

Zusatzinformationen / Extras

Quick Access:

Schnellnavigation zur Seite über Nummerneingabe

Auxiliary Functions

Ansprechpartner

Odej Kao
+49 (30) 314-24230
Room E-N 158