Flexibel entwickeln mit Containern

The fantastic projects of our student trainees: Katharina

Unsere Werkstudent*innen Serie

Softwareentwicklung und Cloudcomputing verlangen eine stetige Weiterentwicklung, um immer wieder über die aktuelle Arbeitsweise hinauszublicken. Gerade unsere Werkstudent*innen leisten hier mit ihren Projekten eine wertvolle Arbeit für uns. Sie setzen sich für ihre Abschlussarbeiten intensiv mit neuen Technologien und Herangehensweisen auseinander und ermöglichen uns, immer wieder Neues auszuprobieren und zu etablieren.

Katharina arbeitet seit März 2020 als Werkstudentin im Bereich Softwareentwicklung bei tracekey. Sie hat sich für ihre Bachelorarbeit mit virtuellen Arbeitsumgebungen beschäftigt, genauer mit virtuellen Maschinen und Containern.  In ihrer Arbeit hat sie sich nicht nur mit der Technologie als solche auseinandergesetzt, sondern vor allem die „Sicherheitsaspekte bei der Containerisierung auf Basis von Open Source Technologien“ untersucht. Ihr Fazit: „Es lässt sich nicht pauschal sagen, dass die Arbeit mit Containern mehr Risiken birgt als die mit virtuellen Maschinen. Die Verwendung von Containern bringt einige Vorteile für die Entwicklung von Software, sodass sich der Einsatz wirklich lohnt. Durch das Wissen, das ich mir während des vergangenen halben Jahres aneignen konnte und das hier generell schon im Bereich IT Security vorhanden ist, sind nun auch die Sicherheitsgrundlagen für die Arbeit mit den besonders schützenswerten und sensiblen Daten der Pharmaindustrie geschaffen.“

Was sind Container?

Ein Container ist eine Standard-Einheit von Software. Nicht nur der Code ist in einem Container enthalten, er umfasst zum Beispiel auch die Systembibliotheken, Konfigurationsdateien und Laufzeit. Sie werden von Entwicklern genutzt, um flexibler arbeiten zu können, denn durch den Einsatz von Containern erhalten sie eine schnell erreichbare und austauschbare Arbeitsumgebung. Die Anwendung (Software) wird in einen Container verpackt und läuft dort unabhängig von der Arbeitsumgebung mit all ihren Funktionen und Abhängigkeiten.

Was ist der Vorteil von Containern?

Der größte Vorteil besteht darin, einen Container flexibel von einer Arbeitsumgebung in die nächste verschieben zu können. Anstatt virtuelle Maschinen (VM), auf denen eine Applikation laufen soll, in jeder neuen Umgebung manuell aufsetzen zu müssen, lassen sich auch veränderte Anwendungen in Containern von der lokalen Programmierumgebung ganz einfach auf das Test- und dann auf das Produktivsystem übertragen. Dadurch, dass eine Anwendung im Container fest mit den dazugehörigen Dateien und Funktionen verbunden ist, lässt sie sich voll funktionsfähig verschieben.

Mittelfristig könnte das Container-Projekt dazu genutzt werden, nach und nach alle Anwendungen in Containern laufen zu lassen. Als Resultat würden alle Entwickler in der gleichen Umgebung und unter den gleichen Voraussetzungen arbeiten können. Denn die in Containern verpackte Software läuft unabhängig von der sonstigen Infrastruktur immer gleich.

Ein Team trotz Homeoffice

Katharina hat kurz vor unserer Corona bedingten andauernden Homeoffice-Phase ab Mitte März 2020 bei uns angefangen. So schnell ohne Face-to-Face-Kontakt mit dem Team zu arbeiten war dennoch nie ein Problem, sagt sie: „Es gibt mehrere Dinge, die mich beim Arbeiten zu Hause motivieren. Gerade ist es vor allem mein Thema – ich habe angefangen, aktiv mit der Cloud zu arbeiten und beschäftige mich gerade mit dem MediLedger Host unserer DSCSA-Lösung. Außerdem arbeite ich gerne mit meinen Kollegen zusammen. Es ist schön, dass ich dabei unterstützt werde, neue Sachen zu lernen, die anderen mich auch unabhängig von meinem Projekt im Alltag immer integriert haben und ich jetzt auch richtig aktiv mitarbeiten darf – in einem mir unbekannten Gebiet. Das finde ich toll und das motiviert mich, weiter zu lernen und zu arbeiten. Ich mag die Aufgeschlossenheit und das positive Mindset im Team sehr.“

Die Zukunft

Momentan befindet sich unser Entwickler-Team in einer längeren Testphase des Container-Projektes – wie nützlich sind sie wirklich für den Alltag bei tracekey? Aufbauend auf Katharinas Praxisprojekt könnten, bei erfolgreichen Tests, die Container bei tracekey zum Standard werden. Der größte Vorteil für uns: Durch die Container kann eine einheitliche Entwicklungsumgebung geschaffen werden, die es ermöglicht, dass sich die Software auch während ihrer Weiterentwicklung durch die Programmierer*innen immer auf dem gleichen Stand befindet und sich auch das Testen und Bereitstellen der Software für unsere Kunden angenehmer gestaltet. Ob und in welchem Umfang das Container-Projekt umgesetzt wird, wird sich in der Testphase herausstellen. Unabhängig davon hat Katharina die Grundlage für diese Weiterentwicklung geschaffen und wir freuen uns, sie nach ihrem Abschluss auch als festes Teammitglied begrüßen zu dürfen.

Mehr Andere Mehr Über tracekey