Interview mit Clemens Utschig-Utschig

OpenShift, Kubernetes & Jenkins: „Wir wollten zeigen, dass ein Startup komplett in der Cloud entwickeln kann“

Dominik Mohilo

Clemens Utschig-Utschig

Continuous Delivery bzw. Integration komplett in der Cloud? Ja, das geht, wie Clemens Utschig-Utschig, CTO und Head of Engineering bei der BI X GmbH, auf der DevOpsCon 2018 in Berlin zeigen wird. Im Interview sprach er darüber, warum gerade auf die Kombination auf OpenShift mit Kubernetes, Jenkins und AWS gesetzt wurde und welche Probleme bei der Etablierung der CI-Pipeline auftraten.

Wer Clemens Utschig-Utschig einmal live erleben möchte, der hat auf der diesjährigen DevOpsCon 2018 in Berlin Gelegenheit dazu. Dort nimmt er in seiner Session „Continuous Integration with Jenkins and OpenShift – Stories of BI X“ die Besucher mit auf die Reise wie er mit seinem Team eine Continuous-Integration-Pipeline mit OpenShift, Kubernetes und Jenkins auf AWS etablierten.

PS: Bis Donnerstag, 15. Februar, können Sie noch von unseren Frühbucher-Specials profitieren: Early Birds erwarten Rabatte auf Tickets und ein kostenloses Tablet.

JAXenter: Hallo Clemens und danke, dass du dir die Zeit genommen hast. In deiner Session bei der DevOpsCon 2018 in Berlin berichtest du von euren Erlebnissen während dem Aufbau eurer Continuous-Integration-Pipeline bei der BI X GmbH. Daher vielleicht zunächst einmal die Frage: Aus welchen Elementen besteht sie?

Clemens Utschig-Utschig: Hallo Dominik – vielen Dank für die Einladung. Zuerst einmal möchte ich klarstellen, dass es sich in meiner Session nicht nur um die CI-Plattform bzw. -Pipeline von BI X – dem digitalen Startup von Boehringer Ingelheim – sondern auch um die unserer Mutter handelt. Wir achten hier auf Replication: Was wir bei BI X tun, muss auch sauber in einer globalen IT mit 1500 Leuten funktionieren.

Nun zu den Komponenten. Sourcecode-Management machen wir in Atlassian Bitbucket, unser Container-Management auf OpenShift mit Kubernetes und Jenkins direkt als Container mittendrin. Alles läuft eng miteinander verzahnt, und als Entwicker kümmerst du dich bei uns ausschließlich um Code – den Rest, inklusive Deployment und (wo gewollt) Environment-Provisionierung, macht die CI. Davor haben wir ein Archetype-Management geschaltet, damit Technologien und Komponenten standardgerecht aufgesetzt und verwendet werden. Von der Idee einer neuen Komponente (z.B. einem Microservice) bis zum ersten Deployment dauert es weniger als drei Minuten. Dasselbe gilt auch für mobile Anwendungen, deren Build genauso Pipeline-basiert läuft.

JAXenter: Warum wurde gerade auf diese Kombination aus OpenShift, Jenkins und AWS gesetzt?

Clemens Utschig-Utschig: Wichtig war, speziell im Hinblick auf den Transfer von Assets und Knowledge, dass Piloten von BI X einfach zu unserer Mutter transferierbar sind. Dementsprechend setzen wir auf weit verbreitete Technologien, die viele Entwickler kennen und seit Jahren beherrschen. Weder Jenkins noch Kubernetes sind Tools, die sich nur kleiner Bekanntheit erfreuen. Es war ein Kompromiss zwischen Cutting-Edge-Infrastruktur und bewährter Technologie.

Außerdem wollten wir mit BI X bewusst zeigen, dass ein Startup komplett in der Cloud entwickeln kann. Software-defined Everything (SDE) war genauso ein Muss, zumal hier die Zukunft liegt: Wir wollen weg davon, Server zu bestellen und ein OS aufzusetzen, hin zu „Describe in configuration – and have the platform make it work“.

DevOpsCon Dossier 2018

Free: 40+ pages DevOps knowledge by experts

Learn about Docker, Kubernetes, Continuous Delivery, DevOps Culture, Cloud Platforms & Security with articles by experts like Kai Tödter (Siemens), Nicki Watt (OpenCredo), Tobias Gesellchen (Europace AG) and many more.

JAXenter: Kannst du unseren Lesern einen kleinen Einblick in die Probleme geben, die bei der Etablierung eurer Continuous-Integration-Pipeline auftraten?

Clemens Utschig-Utschig: Nun, die meisten Entwickler haben schon mal mit Jenkins gearbeitet. Im Verbund mit OpenShift und Kubernetes gibt es jedoch einiges zu beachten, denn es gibt vieles, das mit OpenShift (Stand heute, Version 3.7) einfach nicht so klappt, wie wenn Jenkins allein im Einsatz ist. Das beginnt beim Speicher und dem Scheduling und hört bei der Secret-Verwaltung auf.

Wir setzen auf weit verbreitete Technologien, die viele Entwickler kennen und seit Jahren beherrschen.

Dazwischen gibt es dann noch Pods, die einfach verschwinden sowie einen nur sehr einfachen Kubelet Scheduler – und schnell haben 50 leute in vier Teams ganz schön Spaß und Freude an Dingen, um die sie sich eigentlich gar nicht kümmern sollten. Dann und wann fühle ich mich an den Beginn von OSGi zurückerinnert. Dort waren die Probleme mieses Logging, lausige Fehlermeldungen und nahezu magisches „Dependency- & Speichermanagement“.

Ein anderes Thema ist sicherlich die Erfahrung mit OpenShift. Viele Entwickler sind fit in Sachen Docker und wundern sich über den gefühlten OpenShift-Overhead, der aber massiv im Container- und Microservice-Management hilft. Problematischer sind Security und die Verwaltung von Volumes: hier geht es einfach nur mit Ausbildung und einer gehörigen Portion Neugier voran.

JAXenter: Wie habt ihr die einzelnen Probleme gelöst?

Clemens Utschig-Utschig: Komm einfach in meine Session und du erfährst es… 😉 Spaß beiseite: Viel ist einfach undokumentiert und selbst mit einem großen Erfahrungsschatz in Sachen Kubernetes nicht so einfach zu lösen. Letztlich war es ein Mix aus aufmerksamen Bugfixing und Contributors von OpenShift- und Kubernetes, die uns geholfen haben. Daraus ist eine umfangreiche Wissensbasis entstanden, die ich vorstellen werde.

JAXenter: Welche Erkenntnis sollte jeder Besucher deiner Session mit nach Hause nehmen?

Clemens Utschig-Utschig: A) Es geht – und b) Wenn es dann fliegt, ist es super cool und erleichtert das Entwicklerleben massiv.

Clemens Utschig-Utschig works for Boehringer-Ingelheim’s IT organization – responsible for the global technology strategy. He is the CTO and head of engineering at BI X (bix-digital.com) – a digital startup incubator. Prior he headed up Marketing and Sales Architecture, enabling the digital revolution and the global master data management program, end to end from build to run, within Global Business Services, the internal Shared Service Center of BI. Before joining BI, he worked at the Oracle Headquarters in the United States as platform architect, working with the Fusion Applications development as advisor and supported customers all around the world on their journey towards implementing enterprise-wide SOA. During his platform engineering years, Clemens was responsible for cross product integration, strategic standards as well as a member to the Oracle’s SOA platform steering committee, and served on the OASIS TC for Service Component Architecture (SCA).
Geschrieben von
Dominik Mohilo
Dominik Mohilo
Dominik Mohilo studierte Germanistik und Soziologie an der Goethe-Universität in Frankfurt. Seit 2015 ist er Redakteur bei S&S-Media.
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.