Interview mit Gerd Aschemann auf der DevOpsCon 2019

„GitOps wird die Provisionierung der Infrastruktur in den nächsten Jahren standardisieren“

Dominik Mohilo

Mit GitOps hat sich in den letzten Jahren ein Vorgehen etabliert, das im Betrieb von Anwendungen weg von rein auf Überwachung spezialisierten Diensten hin zu Tools wandert. Gerade Jenkins-X spielt bei der Realisierung von GitOps-Methoden eine zentrale Rolle. Auf der DevOpsCon 2019 sprachen wir im Interview mit Gerd Aschemann (Freelancer) darüber, was GitOps eigentlich ist, welche Vorteile Jenkins-X hierfür mitbringt und welche Rolle Kubernetes dabei spielt.

Wer Gerd Aschemann einmal live erleben möchte, der hat bei der diesjährigen DevOpsCon 2019 in München Gelegenheit dazu. Dort wird er mit seiner Session „GitOps by Courtesy of Jenkins-X“ vertreten sein.

JAXenter: Hi Gerd und danke, dass du dir die Zeit genommen hast. In deiner Session auf der DevOpsCon 2019 in München sprichst du über GitOps. Vielleicht daher zunächst einmal die Frage, was genau versteht man denn unter GitOps?

Gerd Aschemann: GitOps ist eine Kombination von Infrastructure as Code und Continuous Delivery. Die deklarative Definition der Infrastruktur (z.B. in Form von Helm Charts) liegt in einem Git-Repository. Niemand darf manuell Änderungen an der Infrastruktur durchführen, sondern man muss sie als Pull-Request in das Git-Repo einbringen. Eine Continuous Delivery Pipeline reagiert auf die Pull-Requests und provisioniert die Infrastruktur entsprechend. Dadurch ist zum einen alles automatisiert und versioniert, zum anderen lassen sich leicht zusätzliche Maßnahmen zur Qualitätssicherung integrieren, z.B. automatisierte Tests und ggf. Rollback der Änderung.

JAXenter: Kubernetes ist – vom technologischen Standpunkt aus betrachtet – das Herzstück des Konzepts. Wieso eignet sich Kubernetes dafür so gut und gibt es Alternativen?

Gerd Aschemann: Kubernetes bringt von Hause aus schon eine deklarative Definition der Ressourcen mit, zum anderen lässt es sich sehr leicht erweitern, z.B. durch Operatoren bzw. Custom Resource Definitions. Helm als _der_ Paketmanager für k8s hat sich das schon frühzeitig zu Nutze gemacht. Einige GitOps-Implementierungen sind direkt als Operator in Kubernetes realisiert, also als Erweiterung im Kern von Kubernetes integriert. Bonmot: Damit unterliegen sie selbst auch dem GitOps-Prinzip, was an der einen oder anderen Stelle eine kleine “Henne oder Ei”-Herausforderung mit sich bringt.

Vom Konzept her ist GitOps nicht allein auf Kubernetes beschränkt

Vom Konzept her ist GitOps aber nicht auf Kubernetes beschränkt, sondern ließe sich beispielsweise auch mit Ansible Playbooks oder anderen IaC-Tools (Puppet, Salt Stack, …) realisieren.

JAXenter: Jenkins-X ist ebenfalls geeignet als Teil der Infrastruktur, um das Ganze dann Serverless zu betreiben. Wie genau spielt der Gedanke „alles in der Cloud“ mit in das Konstrukt. Ist GitOps auf Baremetal überhaupt denkbar?

Gerd Aschemann: Jenkins-X (JX) selbst ist Kubernetes-native: Die ganze Realisierung ist eng an Kubernetes gekoppelt. Ob das Kubernetes in einer Cloud läuft, oder On-Premise/Baremetal, spielt keine so große Rolle. Es gibt ein paar Anforderungen an die Kubernetes-Implementierung, z.B. muss dynamisch Storage bereitgestellt werden. Das kann aber z.B. auch ein klassischer NFS-Server (oder eine Appliance) umsetzen. Für einige der bekannten Public Clouds lässt sich Jenkins-X “out of the box” sehr leicht einrichten, insbesondere unterstützt Jenkins-X dabei auch den Aufbau des zugrundeliegenden Kubernetes-Clusters. Mit manchen Public Clouds habe ich aber auch schon ganz schön Mühe gehabt. Für mich persönlich ist das auch ein Indikator, welcher Cloud-Provider seinen Kunden wirklich ein Vendor Lock-In ersparen oder gar Multi-Provider Clouds ermöglichen möchte (weil er keine Angst vor dem Wettbewerb hat)? Manche scheinen sich zwar Kubernetes auf die Fahnen zu schreiben, wollen aber eigentlich nur ihre eigenen Dienstleistungen verkaufen.

Jenkins-X lässt sich in verschiedenen Varianten betreiben, auch Serverless (genaugenommen ist es dann sogar “Jenkinsless”, da ohne klassischen Jenkins). Ich diskutiere in meinem Vortrag die Vor- und Nachteile dieser Ansätze.

Jenkins-X ist im übrigen auch nicht die einzige Implementierung von GitOps, ein paar schlaue Leute (nicht ich) haben eine schöne Übersicht zusammengestellt.

Manche scheinen sich zwar Kubernetes auf die Fahnen zu schreiben, wollen aber eigentlich nur ihre eigenen Dienstleistungen verkaufen.

JAXenter: Der Begriff GitOps zeigt schon, dass es sich hier vor allem um den Fokus auf Operations geht. Wie könnte sich das GitOps-Modell auch für Entwickler öffnen zu…DevGitOps? Oder ist das eher nicht denkbar?

Gerd Aschemann: Im Gegenteil, GitOps bringt mehr Dev zum Ops: Das Tooling und die Konzepte sollten gerade einer Entwicklerin leicht von der Hand gehen, weil die Prozesse aus ihrem Alltag stammen: Infrastruktur “programmieren” und Änderungen mit Git-Pull-Requests auf den Weg bringen, inklusive Feedback-Loop über die Continuous-Delivery-Pipeline.

JAXenter: Was soll jeder Besucher deiner Session als Kernaussage mit nach Hause nehmen?

Gerd Aschemann: GitOps, ob mit Jenkins-X oder einer anderen Implementierung, wird die Provisionierung der Infrastruktur in den nächsten Jahren standardisieren. Ein frühzeitiger Blick auf dieses spannende Konzept erleichtert allen Beteiligten die Einschätzung und eigene Positionierung.

JAXenter: Vielen Dank für das Interview!

Gerd Aschemann is always working at the verge of development and operations. As a freelance software architect he extends the technology stack of his customers introducing a well-suited architecture with appropriate tools and components. During the last years he has accompanied some cloud-native software projects taking care of the transition from developing the software artifacts to running them in production.
DevOpsCon Istio Cheat Sheet

Free: BRAND NEW DevOps Istio Cheat Sheet

Ever felt like service mesh chaos is taking over? As a follow-up to our previous cheat sheet featuring the most important commands and functions, DevOpsCon speaker Michael Hofmann has put together the 8 best practices you should keep in mind when using Istio.

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

Hinterlasse einen Kommentar

Hinterlasse den ersten Kommentar!

avatar
4000
  Subscribe  
Benachrichtige mich zu: