PortfolioUnternehmen |

profi.com LAB – Unsere interne DevSecOps-Plattform

IT-Consultant Florian Fischer gibt einen Einblick, weshalb und wie wir eine Plattform zum Testen und Experimentieren entwickelt haben.

IT-Consultant Florian Fischer gibt einen Einblick, weshalb und wie wir eine Plattform zum Testen und Experimentieren entwickelt haben.

Was ist das LAB

„Ich brauche eine VM Instanz für den Kundentermin“. Solche oder ähnliche Aussagen hat man bis vor einem Jahr noch recht häufig gehört. Mittlerweile höre ich dergleichen fast nie – und wenn doch, ist meine Antwort an Kollegen meist: „Schau doch im LAB vorbei.“

Was ist das LAB? Darum soll es nachfolgend gehen:

Die „Herausforderung“

Wer sich, wie wir, häufig mit neuen Technologien auseinandersetzt oder sich einfach beim täglichen YouTube oder Reddit Konsum den einen oder anderen Tech Channel ansieht, der kennt das: man denkt sich „Oh, das klingt ja cool. Das würde ich gerne mal ausprobieren“ oder „Das könnte uns vielleicht bei Projekt X helfen“.

Weil uns bei profi.com genau dieses „Oh wow, das müsste man mal ausprobieren“ so wichtig ist, haben wir uns zusammengesetzt, um unseren Consultants die Bühne zu geben und diesem Drang nachzukommen. Entstanden ist das profi.com LAB.

Die Lösung

Mit dem LAB haben wir die technische Infrastruktur geschaffen, um Evaulierungsprojekte und private „Spielprojekte“ zu unterstützen, aber auch um darauf aufbauend unternehmensweite Services erwachsen zu lassen. All das wird dabei von unseren Consultants selbst betrieben und gemanagt – Services von Consultants für Consultants.

Gemäß der Redewendung „Eat your own dogfood“ setzen wir uns dabei DevSecOps als oberste Prämisse. Everything as Code, Automatisierung und Container sollen bei der Bereitstellung von Services im Vordergrund stehen. Dies führt unmittelbar zum Einsatz von CI/CD-Tools wie Jenkins, Ansible und Orchestrierern wie Openshift.

Das LAB ist also unsere interne Spielwiese, eine Umgebung in der ausprobiert, entwickelt, und deployt werden kann. Aber unser LAB ist mehr als das. Aus ihm heraus entwickeln sich auch Services, die für das ganze Unternehmen interessant und wichtig werden können. Diese Strukturen entwachsen dem Greenfield Status und bilden das Grundgerüst für eine weitere Anwendung des LAB: als eine Lernplattform.

Services, die unternehmensweit Beachtung finden und dementsprechend auch genutzt werden, unterliegen natürlicherweise anderen Anforderungen als die persönlichen „pet-projects“ einzelner Consultants. Um dem Rechnung zu tragen, wird hier auch ein anderer Fokus auf das LAB und den jeweiligen Service gesetzt. Der Service hat nun Anforderungen gemäß DevSecOps mit besonderem Augenmerk auf „Ops“ zu erfüllen. Im Vordergrund stehen hier vor allem Automatisierung (in Bereitstellung und Patching), Containerisierung (soweit möglich) und Pipeline getriebenes Testing und Deployment. Die Herausforderungen und die individuelle Umsetzung, die sich dadurch ergeben, machen das LAB zu einer Lernumgebung für den zeitgemäßen Betrieb von Anwendungen unter Produktionsbedingungen: ein großer Vorteil beim Kundeneinsatz.

Die Dienste

Die technische Grundlage für das LAB bietet die hauseigene Virtualisierungsumgebung, auf der letztendlich alles Weitere aufsetzt. Außerdem steht für die LAB Umgebung eine eigenes Netzwerksegment zur Verfügung. Die Basis für den Betrieb des LABs und somit von besonderer Bedeutung sind grundlegende Infrastrukturservices die entsprechend den o.g. Anforderungen aufgebaut wurden. Auf Grundlage unserer VMWare Umgebung haben wir zunächst Basisdienste wie DHCP und DNS eingerichtet. Auch ein HA-proxybasierter und hoch verfügbarer Loadbalancer gehört dazu. Weitere Basisdienste, die letztendlich die Grundlage des LABs bilden sind:

  • Red Hat Ansible Tower®
  • Red Hat Openshift®
  • Jenkins®
  • Podman®
  • Micro Focus ALM Octane®

Aufbauend auf dieser grundlegenden Infrastruktur, haben wir weitere Dienste wie z.B.

  • Grafana®
  • SonarQube®
  • Micro Focus CSA®
  • Micro Focus Operations Orchestration®

hinzugefügt, welche unternehmensweit genutzt werden können – insbesondere auch für interne Schulungen oder für Kundendemos.

Testing und Automatisierung gehören zu unseren Spezialgebieten. Das Wissen kommt natürlich auch unserer LAB Umgebung und den entsprechenden Integrationen zugute, die unsere Consultants dabei unterstützen, Services containerisiert und automatisiert bereitzustellen. Unter anderem ALM Octane und Jenkins, sowie Grafana stehen daher als OpenShift Templates zur Verfügung – weitere sollen folgen.

OpenShift Jenkins Template
Alle Dienste sind unmittelbar von allen profi.com Mitarbeiter:innen nutzbar. Eine der Voraussetzungen für die Implementierung der LAB Services ist die Nutzung unseres ActiveDirectorys als Authentifizierungsmechanismus. Alle Services, die im Rahmen des LABs angeboten werden, werden ausschließlich über TLS gesicherte Verbindungen angeboten. Unsere IT-Abteilung bindet die LAB Services ebenfalls in ihre Backup- und Monitoringlösungen mit ein.

Um das LAB innerhalb der profi.com zu promoten und außerdem einen einfachen Einstiegspunkt für unsere Consultants und Mitarbeiter:innen zu schaffen, haben sich unsere zwei Werkstudenten Jean-Lukas und OIiver daran gesetzt, eine eigene Homepage für das LAB zu entwickeln. Hier sind die einzelnen Dienste mit Kacheln hinterlegt, die grundlegende Informationen aber auch z.B. aktuelle Verfügbarkeit darstellen.

Aber nicht nur in technischer Hinsicht ist das LAB ein integraler Bestandteil unserer Firma geworden. Darauf aufbauend bedienen sich nun auch Kolleginnen und Kollegen aus der Buchhaltung, dem Controlling und z.B. des Marketings unserer Infrastruktur um z.B. aufbauend auf ALM Octane Reisetätigkeiten oder unseren Publikationsprozess zu managen. Nicht zuletzt konnten wir sogar unser Marketing Team dazu begeistern uns ein eigenes Logo zu designen – hier einer der frühen Entwürfe.

In diesem Zusammenhang ist auch unser Motto entstanden: No Nonsense just DevSecOps

Feedback

Nachdem das LAB nun mittlerweile ein Jahr genutzt, wird haben wir unsere Consultants nach ihren Meinungen gefragt:



Bastien Reinhardt (Senior IT-Consultant)

Wie nutzt du das LAB hauptsächlich?
Ich nutze das LAB hauptsächlich zum Testen von Features im Container Umfeld. Dabei nutze ich den Toolstack GIT, Quay, Jenkins und OpenShift.

Wie hilft dir das LAB deine Arbeit zu erledigen?
Das LAB hilft mir mich weiterzubilden, denn ich kann neue Features bzw. Use Cases ausprobieren und somit meine Projektarbeit voranbringen.

Möchtest du noch etwas loswerden?
Ich bin sehr froh, dass wir das LAB haben und dankbar für alle Beteiligten, die sich dafür engagieren.



Daniel Martin (IT-Consultant)

Wie nutzt du das LAB hauptsächlich?
In erster Linie, um auf UFT Mobile zuzugreifen. Ich sehe es allerdings eher als Pool an Tools und zentrale Anlaufstelle zur Bereitstellung.

Wie hilft dir das LAB deine Arbeit zu erledigen?
Die größte „Erleichterung“ ist, dass nicht erst eine „Umfrage“ gestartet werden muss. Am meisten freue ich mich bzw. erhoffe ich mir als Support-MA, dass ich mir schnell eine Test-Maschine mit gewünschtem Tool und Version bereitstellen lassen kann und ggf. mit Tools im LAB verknüpfen kann (z.B. UFT Mobile).

Möchtest du noch etwas loswerden?
Vielen Dank an alle, die an diesem Thema arbeiten und engagiert vorantreiben und hoffe natürlich, dass weitere Kollegen diesen Service schätzen



Michelle Riemer (Senior IT-Consultant)

Wie nutzt du das LAB hauptsächlich?
Das LAB nutze ich hauptsächlich für das Traineeprogramm, aber eigentlich noch sehr wenig. Ehrlich gesagt frage mehr Kollegen, wenn ich was wissen möchte.

Wie hilft dir das LAB deine Arbeit zu erledigen?
Momentan noch sehr wenig, aber ich glaube zukünftig wird es meine Arbeit besonders im TRP erleichtern, wenn wir VMs bzw. ein Octane benötigen. Dennoch könnte es mir ein paar Vorteile auch im Support bieten, weil ich in diesem Bereich “nur mal schnell“ was für den Kunden testen könnte z.B. eine bestimmte ALM.Net Version in Verbindung mit einer UFT Version.

Möchtest du noch etwas loswerden?
Loswerden nicht unbedingt, gerne würde ich zukünftig ein ALM Octane nutzen für das Traineeprogramm. Ansonsten freue ich mich, dass daran gearbeitet wird und ich Maschinen per Knopfdruck bekomme.


Ausblick

Erklärtes Ziel innerhalb der Firma ist es das LAB weiter als Self-Service Portal auszubauen. Dahingehend arbeiten wir mit Hochdruck daran, die Möglichkeiten des LABs zu nutzen, um unsere Trainings und auch das Traineeprogramm in der Vorbereitung weitestgehend zu automatisieren.

Die Vorbereitung der Trainings ist ein nicht zu unterschätzender Aufwand. Je nach Training müssen für die Teilnehmmenden verschiedene Trainingssysteme bereitgestellt werden. Die Vorbereitungen unserer Trainer:innen beinhalten damit auch die Aufgabe, die Systeme zu konfigurieren und mit der benötigten Software zu bespielen, teilweise auf verschiedenen Betriebssystemen. Hier sehen wir den Anknüpfungspunkt um

  1. Die Trainingsumgebung, die Schulungssoftware z.B. als Service über Openshift einfach und per Knopfdruck auf- und auch wieder sauber abbauen zu können.
  2. Die Bereitstellung der Teilnehmer:innen-Maschinen als Self-Service für die Trainer:innen anbieten zu können. Insbesondere unsere Ansible Erfahrung spielt uns hier in die Hände.

Wir lernen im LAB aber auch Themen wie (Selbst-)Organisation neu denken. Das LAB lebt von der Mitarbeit der Consultants. Sie sind es, die sich um den Erhalt und die Weiterentwicklung der einzelnen Dienste kümmern. Dazu gehört natürlich Maintenance und Lifecycle Management, aber auch Kreativität und Weitblick. Neben dem eigentlich Projektgeschäft, sind das manchmal Dinge, die einem nach einem anstrengenden Tag nicht unbedingt leichtfallen. Wir arbeiten daran innerhalb der profi.com, die Freiräume zu schaffen, aber auch die Richtlinien vorzugeben, die es unseren Consultants ermöglichen sollen immer wieder ein: „Oh cool das klingt ja cool. Das würde ich gerne mal ausprobieren“. oder „Das könnte uns vielleicht bei Projekt X helfen“ zu erleben.