Folge 2: Das Periodensystem der DevOps-Tools

Klicken Sie auf den unteren Button, um den Inhalt von podcasters.spotify.com zu laden.

Inhalt laden

In dieser Episode des Podcasts diskutieren die Gastgeber Alex Lichtenberger und Dierk Söllner mit dem Gast Matthias Zieger von Xebia Labs ausführlich über das Periodensystem der DevOps-Tools. Sie erörtern die Entstehung und Bedeutung des Systems, seine Struktur, und wie es die Auswahl und den Einsatz verschiedener DevOps-Werkzeuge in der Softwareentwicklung vereinfacht und verbessert. Der Fokus liegt dabei auf der Integration der Tools in den Continuous Delivery Prozess und der Rolle der Automation, mit besonderer Berücksichtigung verschiedener Technologien und Plattformen.

Inhalt

  • Einführung und Vorstellung der Teilnehmer
  • Entstehungsgeschichte des Periodensystems der DevOps-Tools
  • Struktur und Klassifizierung der Tools im System
  • Bedeutung und Anwendung von Continuous Delivery
  • Unterschiedliche DevOps-Tools und ihre Funktionen
  • Herausforderungen und Lösungen im Bereich der Tool-Integration
  • Wichtigkeit von Automatisierung und Effizienz in der Softwareentwicklung
  • Community-Einfluss auf die Entwicklung des Periodensystems

Shownotes

Transkript (automatisiert, keine Gewähr 🙂 )

Hallo und herzlich willkommen zum zweiten Podcast, zur zweiten Folge des Podcasts. DevOps auf die Ohren und ins Hirn.
Mein Name ist Dirk Söllner und ich bin einer der beiden Gastgeber. Und der Alex wird sich auch gleich nochmal ganz kurz vorstellen.
Ja, die zweite Ausgabe, die zweite Folge, die wir hier an den Start bringen. Wir haben heute zu Gast den Matthias Zieger von Xebia Labs.
Auch der wird sich nachher noch vorstellen. Wir haben das Thema Periodic Table of DevOps Tools. Ein sehr interessantes Thema.
Wir freuen uns, dass wir den Matthias dabei haben. Hallo Matthias, mal ein herzliches Willkommen schon mal an der Stelle.
Danke.
Ja, zweite Folge. Wir haben bei der ersten Folge dazu aufgerufen, ein paar Rückmeldungen zu geben. Und wir haben uns gefreut, es gab ein paar Rückmeldungen.
Und eine Rückmeldung war bezüglich der Technik. Da kam die Rückmeldung, dass die Aufnahme ein bisschen nivellierter sein könnte, ein bisschen mehr Qualität rein.
Das machen wir schon. Das, denke ich, werdet ihr merken oder hören, dass wir ein bisschen an der Technik gearbeitet haben.
Und insofern da.
Ja, herzlichen Dank für die Rückmeldungen. Alex, dann übergebe ich mal an dich.
Ja, vielen Dank, Dirk. Herzlich willkommen auch von meiner Seite.
Ja, wir haben ja ursprünglich, haben wir angekündigt im letzten Podcast, dass wir heute das Value Stream Mapping machen.
Das hat sich jetzt verschoben, weil die Leute müssen natürlich immer auch verfügbar sein für ein Interview.
Das hat für das Value Stream Mapping nicht geklappt. Aber wir werden das dann, denke ich, im übernächsten Podcast werden wir das bringen.
Aber wir haben heute auch ein ganz spannendes Thema, die Periodic Table of DevOps von Xebia Labs.
Bevor ich da übergebe an den Matthias, ja, die meisten von euch kennen wahrscheinlich diese Periodic Table.
Und wenn wir über DevOps sprechen, egal über welches Thema, eigentlich ist es immer so People, Process, Tools.
Also im Falle von DevOps, People, wie setze ich eine DevOps-Kultur?
Durch die neue Art und Weise zusammenzuarbeiten. Dann Process, wie bringe ich ein Continuous Delivery auf die Reihe?
Und wenn es dann um die Tools, die Technologie geht, wie bringe ich das dann effektiv auf den Boden?
Da hat sich ein riesen Tool-Universum aufgetan.
Verschiedenste Tools rund um Cloud, Continuous Delivery, Artifactory etc.
Und da, als ich das erste Mal diese…
Diese Table gesehen habe, das ist eigentlich so dann so wie, weil die Leute sind ein bisschen dann verloren in diesem ganzen Tool-Universum.
Eigentlich eine wunderbare Sache. Das gefällt den Leuten sehr gut.
Deshalb denke ich, ist heute auch das heutige Thema sehr spannend für die Leute.
In diesem Sinne möchte ich gerne jetzt an den Matthias übergeben.
Vielleicht mal kurz, dass du dich als Person vorstellst, auch Xebia Labs und was ihr macht.
Ja, vielen Dank.
Vielen Dank für die Einführung.
Mein Name ist Matthias Zigger. Ich bin bei Xebia Labs in Deutschland für die Technik zuständig.
Das heißt, ich mache alles von Produkt-Demos über Messen bis hin zu POCs, Piloten und Produkteinführungen.
Ich mache das jetzt seit zweieinhalb Jahren für Xebia Labs, eine ganze Zeit auch mit einem Partner zusammen, mit der Co-Centric.
Mittlerweile hat Xebia Labs ein eigenes Team in Deutschland und wer Xebia Labs nicht kennt, wir kommen ursprünglich aus Holland.
Da ist auch immer noch unser Hauptsitz, unsere Entwickler.
Das sind so 70 Entwickler, die wir haben, die an den Produkten arbeiten.
Die sitzen alle in Holland, in der Nähe von Utrecht, in Hilversum.
Und wir sind mittlerweile weltweit vertreten, haben ein zweites Headquarter noch in Boston, hauptsächlich aus Gründen Venture Capital und so weiter.
Aber Technik ist alles in Europa, von daher passt das auch alles so weit.
Bevor ich bei Xebia Labs und Co-Centric das Thema gemacht habe, war ich bei Microsoft und habe da das Thema Team Foundation.
Server gemacht.
Da hieß das noch gar nicht DevOps, da hat man noch Application Lifecycle Management gesagt.
Aber eigentlich ging es immer darum, wie bekomme ich meine Produkte eigentlich schneller vom Entwickler bis in Produktion.
Das ist das, was mich so die letzten 10, 15 Jahre mittlerweile umtreibt.
Sehr schön.
Dann, Matthias, vielen Dank für die Vorstellung, für die Einführung.
Ich habe ja vorhin gesagt, wir haben Rückmeldungen bekommen.
Und eine Rückmeldung war auch zum Thema.
Was ist DevOps?
Und der Teilnehmer hat gesagt, dass er das sehr interessant fand.
Insofern, Frage an dich, Matthias.
Wie würdest du denn DevOps definieren?
Kann man das definieren?
Wie würdest du DevOps beschreiben?
Was ist DevOps für dich?
Ja, man kann es versuchen zu definieren.
Es gibt ganz unterschiedliche Definitionen.
Es gibt natürlich die Definition und der Alex hat es ja schon genannt.
Es gibt ja die drei Perspektiven immer.
People, Process, Technology.
Wenn wir mal bei People anfangen, ist das natürlich ein Thema.
DevOps.
Das ist ein Kulturwandel.
Ein Kunde hat mal zu mir gesagt, wir haben Silos of Excellence,
die wir jetzt aufbrechen müssen im Sinne von DevOps.
Das heißt, wir müssen unsere sehr arbeitsteilige Arbeitsweise,
die wir hatten, wo es Requirements-Spezialisten gab.
Dann gab es die vielleicht Architekten, Modellierer, Entwickler,
QA-Teams, Produktionsteams, die häufig noch mal unterschieden waren
nach Infrastrukturbetrieb und Anwendungsbetrieb und Monitoring.
Das müssen wir eigentlich aufbrechen.
Ja, und das ist die Kernidee von DevOps.
Daran erkennt man schon, dass der Name eigentlich ein bisschen zu kurz gegriffen ist.
Ich sage immer gerne amerikanisch vereinfacht.
DevOps, ja, aber eigentlich müsste es bis Dev QA Security Ops irgendwie heißen.
Ja, so in der Richtung ist aber viel zu umständlich.
Deswegen hat sich DevOps eigentlich eingebürgert.
Aber im Kern geht es eigentlich darum, eine bessere Zusammenarbeit
der verschiedenen Spezialisten, die man hat, zu erreichen in sogenannten
cross-funktionalen Teams.
Das ist, glaube ich, der Kern von DevOps auf der People-Seite,
dass man diese, ja, ich bleibe bei dem Begriff Silos of Excellence einfach aufbricht
und sagt, wir gehen da hinüber, dass wir alle zusammen an einem Produkt
oder einem Problem arbeiten und nicht in so einer Fließbandartigen Geschichte
an dem Thema arbeiten, sondern eher in Gruppen daran zusammenarbeiten.
Das ist so das People-Thema.
Dann haben wir natürlich das Process-Thema.
Das ist dann noch ein bisschen größer und das
geht auch sehr stark dann in den kulturellen Wandel natürlich an den Kern der Unternehmen tatsächlich ran.
Und da ist natürlich das Thema, das geht deutlich über Technik und Technikabteilung auch hinaus.
Also da reden wir dann darüber, dass auch Unternehmen eine andere Art des Controllings
und der Steuerung eigentlich machen müssen.
Also deutlich mehr als ja, wir führen jetzt mal ein paar Tools ein und dann wird das schon gut werden.
Ja, das wird so nicht funktionieren.
Und das sagen wir auch als Toolhersteller natürlich.
Unseren Kunden, dass das so nicht funktionieren kann, wenn man das quasi vernachlässigt am Ende.
Und dann kommen wir ins Spiel.
Geht natürlich auch um Technologie, es geht um Werkzeuge, es geht um Automatisierung.
DevOps als manueller Prozess, glaube ich, kann nicht funktionieren.
DevOps hat als technischen Fokus den Anspruch Automate Everything, also alles zu automatisieren.
Das ist der Anspruch, den wir auch haben.
Beim Kunden kann man dem immer zu 100 Prozent erfüllen, wahrscheinlich nicht.
Aber man sollte das Ziel haben, möglichst weit zu kommen beim Automatismus
und möglichst wenig manuelle Geschichten zu haben.
Das ist so für mich das Thema DevOps.
Verschiedene Perspektiven.
Wir sind jetzt kein Beratungshaus.
CBA Labs ist ein Produkthaus.
Das heißt, wir kümmern uns rein um das Thema Technology.
Wir haben aber Partner an der Hand, wie eine Cozentrik, wie eine Direktgruppe, wie eine M-Vice,
ein paar andere noch, die sich um das Thema People and Process auch kümmern.
Ist jetzt nicht unser Fokus.
Aber wir sagen, das muss eigentlich sein.
Das muss eigentlich vorher geklärt sein, bevor wir mit unserer Technologie dann ins Spiel kommen.
Gut, vielen Dank.
Sehr gute Definition, finde ich.
Auch sehr schön, dass ihr als Produkthaus das schlussendlich holistisch seht.
Also nicht nur Technologie, sondern auch Prozesse und Kultur.
Bevor wir zur eigentlichen Table, also zum Inhalt selber kommen,
wäre vielleicht noch spannend, wie ist das Ding eigentlich entstanden?
Genau, in Vorbereitung auf den Postcard musste ich auch erst mal nachschauen,
wie alt ist eigentlich dieses Periodic Table of DevOps Tools.
Und die erste Version, die wir davon rausgebracht haben, war im Jahr 2015.
Also es ist ungefähr zwei Jahre alt, kann man sagen.
Entstanden ist das deswegen, weil wir bei den Kunden immer wieder die Diskussion geführt haben,
wir reden über, am Ende des Tages reden wir über Toolchains und Werkzeugketten mit den Kunden.
Und dann kam immer wieder die Diskussion, welche Bestandteile muss so eine Werkzeugkette haben?
Welche Prozessschritte sind darin überhaupt notwendig?
Und was sind so die typischen Vertreter, die wir in so einer Werkzeugkette halt sehen,
auch bei anderen Kunden am Markt?
Und dann hat sich unser Marketing überlegt, wie könnte man das eigentlich ganz gut visualisieren?
Und sind dann auf die glorreiche Idee gekommen, das so bei den Chemikern quasi sich zu holen.
Und dort das ja wohl,
bekannte Periodensystem der Elemente quasi zu adaptieren auf das Thema DevOps und Tools.
Und das ist so ein bisschen die Hintergrundgeschichte.
Mittlerweile ist online die zweite Version verfügbar von dem System.
Das heißt, das wird auch ständig abgedatet.
Da kann man aber nachher noch mal kurz drüber sprechen, welche Möglichkeiten es da gibt.
Und wir arbeiten gerade an der dritten Version davon.
Das heißt, das lebt auch so ein bisschen über die Zeit.
Das ist vielleicht der größte Unterschied zum Chemiker.
Ja, genau.
Also, das ist ein bisschen wie in einem chemischen Periodensystem, wo ja Naturgesetze quasi abgebildet sind.
So weit sind wir, glaube ich, in der IT noch nicht, dass wir über Naturgesetze reden.
Aber ja, die Idee ist einfach griffig, weil viele Leute damit ganz gut zurechtkommen.
Und vielleicht als Info mal, wir haben durchaus sechsstellige Downloadzahlen aus dem Internet für das PDF
und verteilen auch jedes Jahr so ein paar Tausend dann noch auf Messen und Konferenzen
in einem Format quasi als Poster.
Das vielleicht mal so als Info für die Zuhörer auch, dass ganz gut verbreitet ist, das Periodensystem.
Spannend.
Jetzt kommen wir, ist ein guter Zeitpunkt, mal auf den Inhalt zu kommen.
Mal gleich einen Versuch zu machen, die, also einerseits die Struktur der Periodic Table,
aber auch den ganzen Inhalt, das mal uns näher zu bringen.
Matthias.
Genau.
Also die Table, für die, die sie jetzt nicht vor sich haben, ist tatsächlich angelehnt an das Periodensystem der Elemente.
Das heißt, wir haben eigentlich eine Matrix.
Diese Matrix hat verschiedene Säulen, die quasi durch Farben repräsentiert sind.
Und diese Farben sind eigentlich dann die Prozessschritte, die man im Continuous Delivery quasi dann finden kann.
Das heißt, fängt ganz vorne dann an mit dem Thema Versionierung und Repositories,
geht dann über CI-Werkzeuge, also Continuous Integration, quasi auch die Grundvoraussetzung,
dass ich überhaupt etwas automatisieren kann, dass ich automatisierte Bills habe.
Geht dann über Artefakt-Repositories, wo dann meine gebauten Binär-Artefakte quasi reinfließen.
Oder wenn man eher moderner unterwegs ist, seine Container-Images auch dann liegen können.
Über Testing-Tools bis zu Deployment-Werkzeugen, Release-Werkzeugen.
Und am Ende haben wir natürlich dann das ganze Thema Orchestrierungs-Werkzeuge dann für Container.
Also sowas wie Kubernetes, Mesos, OpenShift.
Und ganz rechts findet man das, worauf alles dann aufbaut, quasi Infrastruktur-Themen.
Das sind die Sachen, über die auch die Continuous Delivery Lehrbücher, sage ich mal, sprechen.
Wir haben uns dann dafür entschlossen, unter dem Periodic Table nochmal einen separaten Absatz zu machen.
Für ergänzende Tools, die normalerweise in den Continuous Delivery und DevOps Lehrbüchern gar nicht auftauchen.
Das sind dann eher Collaboration-Werkzeuge.
Also da taucht dann sowas auf wie agile Planungs-Werkzeuge.
Also sowas wie ein Jira zum Beispiel oder ein Rally oder ein Version 1.
Dann gehören natürlich heute auch Chat-Werkzeuge dazu.
Also da taucht dann sowas auf wie ein Slack oder ein HipChat von Atlassian dann auch.
Bis hin zu sehr speziellen Werkzeugen, die das Thema Security,
Adressieren, die dann quasi so eine Querschnittsfunktion haben.
Die haben wir separat, so ein bisschen auch räumlich separiert von den anderen Themen,
weil sie ursächlich natürlich nichts mit Continuous Delivery oder DevOps zu tun haben,
aber aus unserer Sicht eine gute Ergänzung sind.
Das ist quasi die Abbildung des Prozesses.
Und das eignet sich eigentlich sehr gut, beim Kunden darüber zu reden,
welche Prozessschritte hat er überhaupt in seinem Unternehmen,
weil wir natürlich auch bei Kunden sind, die zum Beispiel sagen, wir sind Software-Lieferant,
wir haben gar nicht den Betrieb, weil den macht der Endkunde am Ende des Tages mit der Software,
die dann von einem Softwarehersteller zum Beispiel ausgeliefert wird.
Oder man hat vielleicht Kunden, die sagen, ja, wir wissen, dass Testautomation wichtig ist,
aber wir haben noch nicht da rein investiert.
Das heißt, wir haben da so einen kleinen Spot, so ein bisschen an der Stelle.
Und das sind so die Themen, wo man eigentlich sehr gut mit dem Kunden erstmal auf einer Prozessebene sprechen kann,
indem man sich anhand der Farben langhangelt und mit dem Kunden spricht und sagt,
was ist so dein Gefühl dafür, wo bist du gut aufgestellt, wo geht es so einigermaßen
und wo siehst du noch Verbesserungspotenzial.
Also eine reine Prozessbetrachtung.
Dabei helfen quasi die Farben dieses Periodensystems einfach sehr gut,
weil man wirklich die Prozesse als Säulen dann hat.
Und das Zweite ist dann, in den Säulen hat man natürlich dann die einzelnen Werkzeuge.
Also ich sage mal, beim Thema Versionskontrolle haben wir eine relativ große Bandbreite abgebildet.
Von Git-basierten Systemen, von Git-Pur über Bitbucket vielleicht, GitHub.
Aber auch noch Subversion natürlich drin, weil es immer noch Kunden gibt,
die auch eher auf älteren Systemen natürlich unterwegs sind
und noch nicht jeder auf die neueste Technologie an der Stelle gesetzt hat.
Und unsere Strategie ist eigentlich so, dass wir in jeder Säule die Tools abgebildet haben,
die wir bei unseren Kunden, und das ist die wichtige Aussage bei unseren Kunden,
als führende Tools dann in den jeweiligen Bereichen halt sehen.
Und das ist dann eine bunte Mischung aus Open-Source-Tools,
wenn wir jetzt mal beim Code-Repository bleiben, Open-Source-Werkzeuge wie Git zum Beispiel,
bis hin zu kommerziellen Werkzeugen, vom Schlager eines Bitbucket dann oder auch eines GitHub Enterprise.
Also es ist immer eine bunte Mischung aus Open-Source-Werkzeugen und kommerziellen Werkzeugen
und deckt so ein bisschen die Realität ab, die wir beim Kunden halt sehen.
Und das erhebt natürlich keinerlei Anspruch auf absolute Vollständigkeit.
Das geht gar nicht, wenn man sich allein mal das Thema Testen anschaut.
Da hat man natürlich, wenn ich mit dem Java-Entwickler rede,
Unit testen ist die Antwort relativ einfach, machen wir mit JUnit.
Aber wenn ich schon auf das Thema Oberflächen gehe, dann kommt schon sehr stark natürlich rein in Unterscheidung.
Der eine sagt, er nimmt Selenium,
der andere sagt, er testet Oberflächen.
Wenn ich zum Beispiel native Applikationen auf mobilen Geräten testen will,
brauche ich ganz andere Testwerkzeuge.
Also beim Testen ist es dann auch nicht mehr so einfach, einen Marktführer zum Beispiel dann rauszufinden,
weil das einfach auch technologieabhängig ist.
Wenn ich auf einem Windows-Client eine Microsoft.net-Applikation testen will,
brauche ich ganz andere Werkzeuge.
Also da ist es dann auch nicht mehr so einfach.
Und ja, wir haben quasi uns Mühe gegeben,
das so best of the best quasi in diesem Periodensystem abzubilden,
aber keinen Anspruch auf Vollständigkeit.
Das merkt man auch immer wieder, wenn wir zum Beispiel mit Kunden reden,
die jetzt eher aus dem Embedded-Umfeld kommen.
Da findet man plötzlich ganz andere Werkzeuge natürlich,
die man so in der klassischen Business-Applikationswelt gar nicht findet.
Und da muss man ein bisschen aufpassen.
Es ist quasi eine repräsentative Darstellung des Marktes,
aber auch eine sehr verallgemeinernde Darstellung des Marktes.
Und kann natürlich nur eine geringe Auswahl an den tatsächlich vorhandenen Tools geben.
Aber es deckt so ein bisschen die Marktführerschaft quasi dann aus den einzelnen Bereichen dann quasi ab.
Das vielleicht dazu.
Wir haben dann die Tools noch klassifiziert so ein bisschen.
Das sind quasi die Sachen, die man im Periodensystem so als kleingedruckt auch findet.
Auch wieder angelehnt an das chemische Periodensystem.
Wir haben dann nochmal klassifiziert, welches Business-Modell steckt eigentlich.
Hinter dem Anbieter ist es rein Open Source oder ist es zum Beispiel ein Freemium-Model,
wie man es vielleicht bei Jenkins hat, wo ich sage, es gibt eine Open Source-Variante
und darauf aufbauend gibt es eine kommerzielle Variante.
Oder ist es ein rein kommerzielles Angebot, was man quasi da findet, wie es bei vielen Herstellern halt auch der Fall ist.
Mal als Beispiel bei den Atlassian Tools.
Das sind halt reine kommerzielle Werkzeuge halt dann.
Und das ist dann quasi, bildet das dann das Periodensystem.
Also zusammenfassend könnte man nochmal sagen, wir haben quasi die Säulen, die die Farben bilden.
Das ist eher der Prozessgedanke, über welche Schritte muss ich eigentlich nachdenken und wo muss ich mir etwas auswählen.
Und der zweite Gedanke ist dann quasi, welches Tool nehme ich eigentlich.
Und dann kommen wieder Berater ins Spiel oder der Kunde selbst, wo er dann quasi die Qual der Wahl hat, sage ich mal.
Weil er muss aus jeder Farbe sich ein Werkzeug natürlich aussuchen.
Um die Kette komplett zu haben.
Ja, also wir nutzen das auch sehr oft, um in die Diskussion zu gehen mit dem Kunden.
Das ist ein super Instrument dafür.
Und schlussendlich ist es wahrscheinlich eine Illusion, dass man ein Tool hat, das alles abdeckt.
Stattdessen will man eher eine Toolchain, das ist eigentlich wie ein Puzzle, das man zusammenfügen muss.
Und wenn halt, sage ich mal, ein Element fehlt, also man sieht das auch schön am Continuous Delivery.
Wo ein manueller Bruch drin ist, dann hat man kein Continuous Delivery.
Vielleicht noch kurz zur Auswahl.
Du hast ja selber gesagt, das Tool-Universum ist riesig.
Ihr müsst eine Selektion vornehmen.
Ihr habt das ein bisschen nach Bestenwissen und Gewissen.
Was sind so die grossen Player für die einzelnen Bereiche?
Gibt es da vielleicht auch die Möglichkeit, das als Community zu beeinflussen?
Was da auf dir, zum Beispiel in der nächsten Version, aufhört?
Was kommt auf die Table drauf?
Genau, das ist ein wichtiger Punkt.
Die Frage ist, warum sind jetzt gerade die Tools drauf, die drauf sind?
Also bei ein paar Sachen kommt man einfach nicht drum rum, glaube ich.
Dass da ein Git draufsteht, ist, glaube ich, unstrittig.
Und dass bei CI-Tools halt ein Jenkins drauf ist und ein Bamboo und vielleicht dann noch ein TeamCity.
Ja, das sind die drei Großen.
Aber die Frage ist, wer wird dann Nummer 4 und Nummer 5?
Und da haben wir eigentlich mehrere Methoden, wie wir das ermitteln.
Die erste Methode ist eigentlich die,
dass wir natürlich ein Voting-Mechanismus haben im Internet.
Das heißt, man kann quasi voten und sagen, da soll jetzt ein neues Tool drauf.
Das hat eine gewisse Relevanz, das brauchen wir.
Der zweite Kanal, den wir dafür nutzen, ist quasi der Kanal,
dass wir selbst eine sehr aktive Community auf GitHub haben.
Da gibt es eine XebiaLabs-Community-Seite, wo quasi die Plugins für unsere Tools dann drauf sind.
Und das beobachten wir auch sehr genau.
Was macht die Community? Welche Plugins werden da gefragt?
Welche steigen massiv an von den Download-Zahlen her?
Und wir monitoren das sehr genau.
Und das ist natürlich für uns auch ein Indikator dann.
Was soll dann als nächstes vielleicht auf dieses Periodensystem?
Was können wir dafür rausschmeißen?
Weil der Platz ist halt auch nur beschränkt.
Ja, wir können nicht alle Tools draufnehmen, sonst wird es zu unübersichtlich.
Und die dritte Methode ist natürlich die, wenn wir auf Konferenzen sind, auf Messen sind,
in die direkte Interaktion gehen mit den Kunden.
Das ist quasi der dritte Kanal, wo wir dann auch Feedback dazu bekommen und dann fragen,
welche Tools nutzt ihr? Was glaubt ihr, was nächstes Jahr bei euch im Haus eine Rolle spielt?
Und da kommt man auch ganz gut auf Ideen, was dann als nächstes quasi auf diesem Periodensystem dann drauf sein soll.
Ja, also Community kann hier wirklich aktiv mitmachen und kann uns Hinweise geben und sagen, da fehlt was
und da hätten wir gern noch was dazu gebaut.
Ja, super. Das macht das Ganze auch viel glaubwürdiger.
Also wenn das dann auch von der Community gefüttert wird.
Noch eine andere Frage, die in den Sinn gekommen ist.
Kann man daraus auch so eine Art wie Beispielkonfigurationen ableiten?
So im Sinne von Starterkit, billige Variante, Open Source, Enterprise?
Eher nicht. Also die Idee ist eigentlich nicht, dass man jetzt sagt,
okay, ich nehme jetzt, sag ich mal, aus jedem Bereich nur die Open Source Tools zum Beispiel
und lande dann bei, sag mal, so eine typische Pipeline wäre, wenn ich sage, ich darf nur Open Source Tools nehmen,
dann wäre es halt Git, Jenkins-freie Version plus vielleicht Deployment und Provisionierung dann mit Ansible
und das Ganze lasse ich dann auf einem Kubernetes zum Beispiel laufen, ja, als Laufzeitumgebung.
Und das kann man zwar machen, ja, und kann sagen, okay,
das ist quasi dann die Billigvariante, aber das trifft eigentlich nicht den Kern,
weil der Kern ist eigentlich, den Kunden zu fragen, welche Anforderungen hast du eigentlich?
Und dann kommt man sehr schnell drauf, dass man am Ende eine Mischung haben wird,
vielleicht aus Open Source Tools, aus kommerziellen Tools.
Wir sehen relativ wenig Kunden auch, die jetzt ihre Pipeline komplett nur mit Open Source haben
oder komplett nur mit kommerziellen Tools. Meistens ist es eine ganz gute Mischung.
Meistens ist es auch so, dass man bei größeren Kunden, sag ich mal,
bei Banken, Versicherungen, große Handelsunternehmen, Logistiker, mit denen wir halt sprechen,
auch gar nicht mit einer Continuous-Delivery-Pipeline am Ende des Tages auskommt,
sondern man hat vielleicht verschiedene. Also es gibt natürlich Themen in dieser Pipeline,
die sind technologieunabhängig. Ob ich jetzt in einem GitHub-Repository
Java-Code, Node.js oder .NET Sachen verwalte, ist eigentlich egal.
Beim Build-Server wird es dann schon ein bisschen anders, da ist es nicht mehr ganz so egal.
Weil da muss ich dann schon mal Cross-Plattform unterwegs sein.
Das heißt, der muss im Zweifel dann auf Linux laufen oder auf Windows,
wenn ich Windows-Applikationen baue, oder muss vielleicht andere Technologien unterstützen.
Und spätestens beim Thema Testen bin ich plattformabhängig.
Da habe ich Plattformabhängigkeiten, weil ich einen Browser testen muss, der auf Windows läuft,
weil ich einen Browser testen muss, der auf macOS läuft. Und ähnlich ist es eigentlich auch bei Provisionierungstools.
Weil die meisten Provisionierungstools natürlich dann auch Betriebssystemabhängigkeiten haben.
Das heißt, es ist schon ein Unterschied, ob ich einen Windows-Server provisionieren darf
oder ob ich ein Linux- oder Unix-System provisionieren muss. Das ist dann natürlich ein Unterschied.
Bei Container-Orchestrators ist es dann wieder ein bisschen einfacher.
Da bin ich dann doch zum großen Teil plattformunabhängig. Aber spätestens dann, wenn es dann wieder darum geht,
meine Firmenstrategie eigentlich alles im eigenen Rechenzentrum zu haben oder gehe ich in eine Public Cloud
und wenn ja, ist es dann nur eine oder vielleicht zwei. Ist es AWS oder Azure oder AWS und Azure und Google Cloud.
Dann bin ich plötzlich wieder beim Thema, welche Tools unterstützen das eigentlich?
Und dann wird es auch manchmal sehr schnell dünn. Und dann kommt man auch schnell auf den Punkt, wo man sagt,
vielleicht reicht auch nicht eine Toolchain, sondern du brauchst vielleicht unterschiedliche Toolchains pro Technologie.
Also deine Java-Entwickler kriegen einen anderen CD-Toolchain in einer gewissen Ausprägung wie deine Microsoft-Leute.
Und SAP ist nochmal ein ganz anderes Beispiel, wo ich dann über ganz andere Tools wieder rede.
Und dann kommt man wirklich sehr schnell dahin, dass man sagt, wir haben Gemeinsamkeiten wie zum Beispiel GitHub und Nexus Artifactory.
Technologieunabhängig kann ich alles damit machen.
Aber die restlichen Sachen sind dann nicht da.
Und vielleicht Stack-spezifisch auszuwählen. Das trifft eher die Realität eigentlich.
Und da muss man ins Detail gehen. Dann kommen wieder die Berater ins Spiel, beim Kunden dann solche Sachen quasi auszusuchen.
Genau, es ist dann eben doch nicht so einfach. Und schlussendlich, wie du gesagt hast, hat man ja verschiedene Toolchains, verschiedene Pipelines.
Da kann man ja, denke ich, noch schön den Link machen, dann so die Dimensionen, Prozesse und People,
was jetzt viele IT-Abteilungen machen. Sie richten ihre Teams entlang ihrer Produkte aus.
Also Cross-Functional Teams, die sich dann End-to-End, also von der Anforderung bis in die Inbetriebnahme um das Produkt kümmern.
Und je nach Produkt sind dann natürlich auch eigene Plattformen darunter oder eigene Tools.
Aber zum Teil gibt es natürlich auch übergreifende dann. Und da wäre vielleicht auch mal schön, jetzt mal so ganz praktisch,
das ist auch immer eine Frage, die ich bekomme, weil die Leute haben in der Regel ein gutes Verständnis.
Was heisst jetzt kulturell DevOps mit dieser neuen, sagen wir, die agile Philosophie, die grundsätzliche Agile Leadership, das reinkommt.
Dann Prozesse, sagen wir, der Continuous Integration Delivery Prozess. Und wie das jetzt ganz konkret, also so ein Beispiel End-to-End.
Also ich würde mal so, aus meiner Erfahrung, also der Traum ist vom Entwickler, es fängt immer aus,
alles an mit der Anforderung, also man hat beispielsweise User Stories, man formuliert Testfälle dazu und dann geht man hin,
man entwickelt, man checkt ein, es durchlaufend, das ist ja dann Continuous Delivery, man testet die automatisiert ablaufend,
so dass man eigentlich jederzeit könnte live gehen. Also Software is always in a releasable state.
Value Stream von Anfang bis Ende, da hat man so auch aus Kundensicht, also der Kunde will was und er bekommt das relativ schnell, das Feature.
Kann man da mal so ein Beispiel durchspielen? Ich habe es jetzt mal so prozessmässig erklärt.
Und wie würde das jetzt an beispielsweise Tools, wie würden die untendran entlang von dieser Pipeline interagieren? Ist das etwas, das du könntest?
Ja klar, weil das ist das, was wir quasi täglich machen, uns genau in solche Themen,
quasi rein zu integrieren. Wenn wir jetzt mal das Beispiel, was du genannt hattest, mal entlang gehen mit so ein paar typischen Tool-Vertretern,
dann würde quasi im Idealbild natürlich die Anforderung nicht irgendwie in Word oder in Excel gebaut werden,
sondern würde vielleicht in einem Tool wie Jira dann stehen. Das heißt, ich habe da meine User Stories, die vielleicht dann runtergebrochen sind,
die fangen oben an relativ grob in irgendwelchen Epics, dann User Stories und dann geht das immer weiter.
Nach unten auf beliebig viele Hierarchiestufen. Dann hattest du einen wichtigen Punkt gesagt.
Was machen wir eigentlich mit den Testfällen? Die sollten eigentlich direkt auf die Anforderungen gemappt sein.
Ich sage jetzt eigentlich, weil das bei vielen Kunden immer noch ein blinder Fleck so ein bisschen ist.
Wir wissen alle, wie die Idealwelt aussehen sollte. Ich habe meine Testfälle, die zu meinen Anforderungen gehören und die sind irgendwie verlinkt.
Die könnte ich zum Beispiel auch in einem Jira machen. Da gibt es Ergänzungen für Jira, dass ich da auch Testfälle verwalten kann.
Oder ich habe ein separates Test-Management-Tool. Da gibt es auch verschiedene von HP, von Micro Focus und so weiter, die da eine Rolle spielen.
Dann arbeiten natürlich meine Entwickler mit einer IDI. Das heißt, im Java-Umfeld sehen wir dann Eclipse oder auch andere Systeme, die da eine Rolle spielen.
Vielleicht IntelliJ, bei Microsoft dominierend natürlich Visual Studio, die da eine Rolle spielen.
Und da bauen dann die Entwickler ihren Code, haben vielleicht auch von da direkt Zugriff auf die Anforderungen, was nicht so ganz schlecht wäre, wenn sie ihre IDE nicht verlassen müssen, um auf Anforderungen zuzugreifen.
Und dann wird der Code quasi ständig gebaut und dann relativ kleinteilig, sage ich mal, auch eingecheckt dann in eine Versionskontrolle.
Das macht natürlich dann mit Git viel mehr Spaß als mit so althergebrachten Systemen wie vielleicht Subversion oder noch älter wie Clear Cases.
Oder Clear Quest, ja, von den älteren Zuhörern, die werden sich noch daran erinnern können.
Die jungen Leute wissen heute gar nicht mehr, wie gut sie es eigentlich haben, weil sie direkt mit Git eigentlich einsteigen können.
Da wäre natürlich auch die Idee, dass ich dann eine Traceability habe von meinen Anforderungen bis zum Code.
Das heißt, meine Anforderungen im Jira vielleicht sollten natürlich auch verbunden sein mit meinen Codefragmenten, die ich dann gebaut habe.
Und aus der Versionskontrolle geht es dann quasi nach vorne.
Da kommt dann natürlich ein Jenkins ins Spiel, der dann quasi on demand ein Bild macht.
Wenn ich Continuous Delivery tatsächlich so auffasse, wie es gemeint ist, wird ja dann jede Codeänderung quasi isoliert gebaut und dann hoffentlich auch isoliert getestet.
Das heißt, da spielt dann gleichzeitig das Thema Testen mit rein.
Aber nicht nur Testen, sondern da sollte ein bisschen mehr noch passieren.
Das heißt, mit den Jenkins dann zum Beispiel orchestriert oder auch andere CI-Tools, die können das auch alle, wie ein Bamboo oder ein TeamCity.
Da sollten dann auch Codeanalysen natürlich laufen, statische Codeanalysen.
Da wäre so ein Vertreter mal typischerweise ein SonarCube mal zu nennen für die, sag ich mal, Java- und .NET-zentrierten Geschichten oder auch andere Technologien.
Wenn man eher so im Embedded-Umfeld ist, gibt es dann sehr spezielle Tools, die auch Codeanalyse für C zum Beispiel machen.
Oder sogar Assembler machen können, die kann ich auch alle in Jenkins natürlich reinhängen.
So, dann haben wir unseren Code gebaut und dann geht der Flow natürlich weiter.
Unser Value-Stream vom Jenkins aus sollen die Sachen natürlich nicht auf irgendeinem File-Share landen.
Das sehen wir auch mittlerweile nur noch relativ selten.
Die meisten Kunden haben dann doch schon sowas wie Artifactory oder Nexus im Einsatz als Binär-Repository.
Warum sollte ich dafür ein spezielles Repository nehmen?
Das ist einfach der Grund, dass die Source-Repositories einfach nicht dafür ausgelegt sind, dann groß mit Binär-Artefakten zu hantieren.
Und vor allen Dingen das Thema Abhängigkeiten-Management eigentlich nicht gut da abgebildet ist.
Von daher macht es auf jeden Fall Sinn, sowas wie ein Artifactory oder Nexus zu haben.
Und von da geht es dann natürlich nahtlos in das Thema eigentlich Deployment über.
Das heißt, da reden wir dann darüber, wie kriege ich jetzt eigentlich die Artefakte auf meine Zielumgebung.
Ich sag mal, da sind wir jetzt nicht ganz neutral als XebiaLabs, weil wir da selber ein Tool haben.
Aber ich sag mal, was man am Markt findet, ist eigentlich alles von, wir haben Millionenzeilen, selbstgeschriebene Bash-Skripte oder PowerShell-Skripte, die das Deployment machen.
Über klassische deskriptive Deployment-Verfahren, wie zum Beispiel ein Ansible oder auch ein Chef.
Und dann ganz oben stehen dann die modernen Deployment-Tools, die tatsächlich so ein modellbasiertes Deployment machen.
Und dann abbilden können. Das ist so die Bandbreite, die man halt am Markt sieht.
Und die Deployment-Tools, egal welches, die sollten sich natürlich die Artefakte dann aus dem Artefakt-Repository dann holen und sollten sie dann auf die Stages bringen.
Dann muss man noch ein bisschen mit der Herausforderung kämpfen, dass ich natürlich Stage-abhängige Parameter dann habe.
Mal als Beispiel mein Datenbank-Passwort einfach im Testsystem ist ein anderes, hoffentlich, als auf dem Produktionssystem.
Mein Paket, was ich aber deployen will auf die Datenbank, sollte umgebungsunabhängig sein.
Das heißt, da muss ich mir Gedanken machen, wie kriege ich das Thema Configuration-Management eigentlich damit untergebracht in dem ganzen Prozess.
Da muss man ein bisschen reingucken, dass das vernünftig funktioniert.
Und dann ist eigentlich, sage ich mal, aus der Sicht von Continuous Delivery eigentlich mein Value-Stream schon zu Ende.
Wir glauben aber, dass noch ein bisschen mehr kommen muss.
Was zum Beispiel sinnvoll wäre, ist, wenn ich ein Monitoring-Programm,
ein Monitoring-System zum Beispiel habe in Produktion, dass ich dem Monitoring-System zum Beispiel sage, hier gibt es jetzt ein neues Release von der Applikation.
Das Monitoring-System kann dann darauf reagieren und kann sagen, okay, hier gibt es eine gewisse Downtime vielleicht.
Wenn ich noch keine Architektur habe, die jetzt Zero-Downtime mir ermöglicht, dann habe ich halt eine Downtime.
Da sollte mein Monitoring-System Bescheid wissen.
Das heißt, ich muss so ein bisschen mich um die Randsysteme auch noch kümmern.
Was ist mit Netzwerkkonfiguration, Firewall und Loadbalancer?
Nicht nur, mein Deployment ist nicht zu Ende, nur weil ich jetzt ein Artefakt auf eine Zielumgebung deployed habe, sondern es ist noch ein bisschen mehr.
Sachen, die auch Entwickler nicht immer so im Blick haben.
Also mehr mit den Ops-Leuten dann auch mal reden, was die denken, was zu so einem Prozess dann noch dazugehört.
Und dann war es das eigentlich.
Und was ich eigentlich mache während diesem ganzen Prozess ist, dass ich eigentlich messen sollte, wie lange hat das gedauert, was hat das gebracht.
Ich sollte eigentlich jederzeit sagen können, welche Anforderung ist jetzt in welcher Stufe.
Weil nur das ist interessant für den Kunden.
Denen interessiert nicht, ob da ein IR-File deployed ist auf einen Application-Server oder ein Docker-Container XY auf einem Kubernetes läuft.
Das ist dem Anwender egal.
Denen interessiert, welche Anforderung ist morgen verfügbar von dem System.
Und da brauche ich eigentlich was, was mir diesen ganzen Tool-Zoo, sage ich mal, am Ende des Tages so ein bisschen zusammenhält.
Das heißt, ich brauche so einen Kleber zwischen den Tools.
Der meine Sachen quasi orchestriert.
Und da muss ich auch darauf achten, dass ich mir da was Vernünftiges hole.
Ich glaube, wir sind uns alle einig, dass Excel da am ungeeignetsten ist dafür.
Aber dummerweise ist Excel der Marktführer in dem Bereich, den wir halt sehr, sehr häufig sehen.
Was versuchen die Leute, wenn sie so einen Prozess managen müssen?
Sie versuchen das mit Excel zu machen.
Und das ist eigentlich das ungeeignetste Werkzeug.
Und das steht auch nicht auf unserem Periodensystem.
Von daher ist das ein Punkt, wo wir sehr häufig mit Kunden reden.
Schmeißt Excel aus diesem Prozess raus.
Schmeißt E-Mails aus diesem Prozess raus.
Schmeißt SharePoints und Wikis aus diesem Prozess raus.
Also alles, was so eine Art Checklisten sind, haben in dem Prozess nichts zu suchen.
Sondern das muss ein Automatismus eigentlich sein.
Und dann hat man eigentlich auch ganz gut einen Blick, wo stehe ich eigentlich in meinem Value Stream?
Und welche Anforderung befindet sich eigentlich gerade in welchem Status?
Und was kann ich meinem Kunden versprechen?
Was kann ich morgen eigentlich davon auf der Produktion?
Weil nur darum geht es.
Nur Sachen, die in Produktion sind, haben am Ende einen Wert produziert.
Und das ist ja auch ein Kerngedanke von DevOps.
Was zum Thema Excel noch.
Also das heißt, wenn etwas oft genutzt wird, das heißt noch lange nicht, dass es auf der Table landet.
Das stimmt, ja.
Wir sagen ja den Kunden immer, wir können über jedes Tool,
das wir diskutieren, was ihr im Einsatz habt.
Das Einzige, worüber wir nicht diskutieren, ist Excel.
Da reden wir über Ablösung.
Ja, das ist halt eine Realität.
Es gibt auch den berühmten State of Agile Report, also in der agilen Projektmanagement.
Was wird am häufigsten genutzt?
Und da ist auch Excel auf Platz 1.
Aber das kann natürlich langfristig nicht die Lösung sein.
Ja, also ich glaube, das war jetzt, ich denke, ein sehr schönes, also beeindruckendes Beispiel.
Ich glaube, wir haben uns den ganzen Values, wie das beispielhaft durch Tools unterstützt werden kann.
Und am Schluss ist ja, wenn man sich das Ganze aus Kundensicht anschaut, es geht ja auch um Time to Market.
Das heisst, wenn der Kunde will, was er hat, ein Requirement, und aus seiner Sicht bekommt er es geliefert.
Klar, die Welt hört nicht dort auf, wenn man dann auch den Betrieb im eigentlichen sieht.
Aber wenn man das so hinkriegt, ohne Brüche,
dass man eigentlich die Time to Market drastisch verkürzen kann,
und auch die Qualität verbessern.
Wenn man das so mit dem Testing, und ich meine, wir arbeiten auch viel mit Kunden zusammen,
und da ist auch ganz klar, das ist ja nicht etwas, was man von heute auf morgen erreichen kann,
sondern es ist ja mehr ein Weg.
Also man will ja irgendwann eine Toolchain, man will Tools automatisieren, man will Tests automatisieren.
Das ist ja eher ein Weg, der sehr lange gehen kann, Jahre auch.
Das ist sicher auch etwas, das ihr seht auf eurer Seite, wenn ihr jetzt Kunden unterstützt.
Absolut, also es ist ein Weg, der gegangen werden muss, aber der muss, und das ist ein wichtiger Punkt,
man muss irgendwann mal anfangen, diesen Weg zu gehen.
Das sehen wir auch bei sehr vielen Kunden, die sagen, ja, wir entwickeln jahrelang erst mal so ein Konzept, wie sowas aussehen kann.
Das funktioniert aus unserer Sicht nicht, sondern man muss eigentlich irgendwann mal anfangen.
Es gibt ein paar einfachere Sachen, wie eine Versionskontrolle, eine vernünftige, sage ich mal, einzuführen.
Das ist auch bei den meisten Kunden schon passiert.
Es gibt ein paar Sachen, die sind bei vielen Kunden relativ schwierig, weil sie immer noch dort sehr arbeitsteilig unterwegs sind
und zum Beispiel immer noch eigene Testabteilungen haben, die nicht mit der Entwicklung so eng verzahnt sind.
Dann wird es mit der Automation ein bisschen schwieriger, aber man muss einfach mal anfangen, diesen Weg zu gehen.
Ich glaube, das ist die wichtige Aussage.
Das ist ein Weg.
Man muss einfach mal den ersten Schritt gehen für diesen Weg und ansonsten werden meine technischen Schulden quasi so hoch,
dass ich den Berg gar nicht mehr besteigen kann.
Ich muss quasi die ersten kleinen Schritte tun und dann ist eigentlich der Weg in die richtige Richtung.
Genau, und wenn es ich nicht mache, dann macht es ein anderer und da hat dann das Business ein Problem,
wenn es die Konkurrenz macht und da schneller ist.
Genau, das ist ein wichtiger Punkt.
Das sehen wir natürlich auch so ein bisschen nach Branche unterschiedlich.
Im E-Commerce spüren den Druck alle, im Bankenversicherungsumfeld fängt es jetzt so gerade an.
Im Automobilumfeld ist natürlich im Moment ein anderes Thema weiter oben, aber auch da wird das das nächste Thema sein.
Wie kriege ich eigentlich auch im Automobil meine Applikationen schneller ausgeliefert und so weiter.
Ich glaube, dass das auf alle Branchen quasi übergreift mit unterschiedlicher Intensität,
aber ich glaube, es kann sich niemand da rausziehen.
Gut, vielen Dank.
Für den Moment habe ich keine weiteren Fragen.
Möchtest du, Matthias, vielleicht noch irgendwas ergänzen?
Ich habe auch keine Ergänzung.
Ich bedanke mich, dass ich bei euch sein durfte und wünsche noch viel Erfolg mit weiteren Podcasts und mit anderen Teilnehmern.
Vielleicht hört man sich ja mal wieder.
Ja, und vielen Dank von unserer Seite für deine Bereitschaft, da mitzumachen.
An diesem Punkt möchte ich noch gerne hinweisen auf den nächsten Podcast, circa in einem Monat.
Da werden wir jemanden von der Direktgruppe interviewen, der wird uns die MetroMap vorstellen.
Das ist eine DevOps-Implementation.
Sicher auch ein sehr entspannendes Thema.
Vielen Dank.
So, dann auch ein Dankeschön von mir in die Runde.
Ich weiß nicht, ob es allen Teilnehmern aufgefallen ist.
Ich war recht still.
Ich hatte technische Probleme.
Insofern hat Alex das super zu Ende geführt mit dem Namen Matthias.
Matthias, von mir auch herzlichen Dank an der Stelle.
Und insofern freue ich mich auf den nächsten Podcast, dann ohne technische Probleme.
Und ja, schönen Abend noch.
Vielen Dank.
Vielen Dank.
Vielen Dank.

Folge 1: Was ist DevOps?

Klicken Sie auf den unteren Button, um den Inhalt von podcasters.spotify.com zu laden.

Inhalt laden

In dieser Episode erörtern Dierk Söllner und Alex Lichtenberger detailliert die Welt von DevOps, beginnend mit einer Diskussion über die Philosophie und Entwicklung von DevOps, den Unterschieden zu anderen Frameworks wie ITIL und Scrum und den spezifischen Herausforderungen in der Implementierung. Sie gehen auf verschiedene Praktiken wie Continuous Integration und Delivery, Kanban, Value Stream Mapping und DevSecOps ein, betonen die Bedeutung von Kultur und Kommunikation in der DevOps-Praxis und diskutieren, wie DevOps in verschiedenen Unternehmensgrößen skalierbar ist. Der Podcast schließt mit Überlegungen zur Integration von DevOps in traditionellere IT-Strukturen und einem Ausblick auf zukünftige Episoden.

Inhalt

  • Einführung in DevOps
    • Was ist DevOps und wie hat es sich entwickelt?
    • Unterschiede zu anderen Frameworks wie ITIL und Scrum.
  • DevOps-Philosophie und Praktiken
    • Die „Three Ways“ des Feedbacks.
    • Bedeutung von Kultur und Kommunikation.
  • Umsetzung von DevOps in Unternehmen
    • Herausforderungen und Ansätze für verschiedene Unternehmensgrößen.
    • Beispiele für DevOps-Praktiken: Continuous Integration und Delivery, Kanban, Value Stream Mapping.
  • Technologische Aspekte in DevOps
    • Rolle von Automatisierung, ChatOps und künstlicher Intelligenz.
    • Integration von Sicherheit in DevOps (DevSecOps).
  • DevOps in traditionellen IT-Strukturen
    • Anpassungen und Skalierung von DevOps-Methoden.
  • Ausblick auf zukünftige Episoden und Kontaktinformationen

Transkript (automatisiert, daher keine Gewähr 🙂 )

Hallo und herzlich willkommen zum Podcast
DevOps auf die Ohren und ins Hören.
Ich begrüße Sie zu der ersten Folge
und wenn ich sage, ich begrüße Sie,
begrüße ich alle Zuhörer
und ich begrüsse natürlich auch Alex Lichtenberger,
mit dem ich zusammen diesen Podcast erstelle und bespreche.
Insofern würde ich sagen, Alex, stell dich doch mal ganz kurz vor.
Vielen Dank, Dirk, und willkommen von meiner Seite.
Mein Name ist Alex Lichtenberger.
Ich bin seit rund 20 Jahren in der IT,
damals begonnen in der Softwareentwicklung bei IBM.
Wir haben damals schon iterativ, adaptiv entwickelt,
um nicht das Wort agil zu nennen.
Ich bin dann später sehr stark im Operation-Umfeld gewesen,
auch im Outsourcing.
Und etwas, das ich dann immer gesehen habe, ist,
dass so Dev und Ops, das sind schon zwei verschiedene Welten.
Und als ich mich vor ein paar Jahren beschäftigt habe mit DevOps,
habe ich gesehen, dass das eine sehr gute Lösung bietet,
um dieser Problematik zu begegnen.
Deshalb würde ich mich als DevOps-Enthusiasten bezeichnen.
Und ich arbeite…
Ich arbeite als Berater zurzeit,
auch als Trainer im Bereich DevOps, Agile und Scrum.
Jetzt mal von meiner Seite.
Vielleicht du, Dirk, möchtest du dich auch kurz vorstellen?
Ja, Dirk Söllner, mein Name.
Ich bin ähnlich wie der Alex schon etwas länger im Geschäft.
Ich bin sogar 25 Jahre im Geschäft, habe gestartet,
bin gestartet als Berater für klassische Themen wie ERP-Software,
Controlling-Applikationen und bin dann später zu dem Thema IT gekommen,
zum Thema IT-Service-Management und bin heute Berater, Trainer und Coach
für IT-Service-Management und agile Organisationsentwicklung.
Das ist genau das, was auch Alex schon bei sich angesprochen hat.
Wenn ich mir die klassische IT-Welt angucke,
die klassische IT-Service-Management-Welt,
bin ich so vor vier, fünf Jahren auch auf das Thema Scrum und Agile gestoßen,
habe das für mich als Geschäftsmodell entdeckt, weiterentwickelt
und bin eben dann heute auch als Trainer aktiv, bin auch als DevOps-Trainer aktiv.
Seit drei, vier Jahren bin ich wirklich sehr stark als agiler Coach unterwegs
und helfe da eben Unternehmen und einzelnen Personen,
das ganze Thema Agilität für sich zu entdecken und weiterzuentwickeln.
Das heißt, bei mir ist es eben genauso wie bei dir, Alex, Enthusiasmus,
was das Thema Agilität angeht, aber natürlich mit einem klassischen Background,
mit einem Background-IT-Betrieb.
Danke, spannend.
Das ist ja jetzt das erste Mal, dass wir diesen Podcast machen.
Eine erste Frage, die sich aufdrängt, ist ja, wieso überhaupt so ein DevOps-Podcast?
Ich glaube, es war ja du, Dirk, der die Idee hatte.
Vielleicht kannst du da ein bisschen ausführen.
Jawohl. Ja, ich hatte die Idee, weil ich mir gesagt habe,
Blogbeiträge schreiben, Vorträge halten, Veröffentlichungen dazu schreiben,
das ist sicherlich eine interessante Sache, aber es fehlt noch irgendwas Neues.
Und da ich selber gerne Podcasts höre und auch den einen oder anderen recht gut finde,
habe ich mir überlegt, Mensch, das wäre auch mal ein Thema,
wo ich mich einer neuen Technik widmen kann und habe dann auch geschaut,
gibt es deutschsprachige DevOps-Podcasts, die mir gefallen, die mich ansprechen.
Und ja, ich habe keinen gefunden.
Und dann habe ich für mich gesagt, so, jetzt musst du einen Podcast machen,
das ist was Neues, kannst du deine Freude an diesem Thema eben auch mit rüberbringen.
Und habe dann überlegt, mit wem mache ich das am besten zusammen
und habe dann eigentlich sofort auch an die Schweiz gedacht.
Das ist natürlich thematisch was ganz Schönes, da mit dir, Alex, das zusammen zu machen.
Außerdem finde ich es sehr interessant, wenn wir nicht nur so eine hochdeutsche Sprache haben,
wie ich habe, sondern dass wir auch so ein bisschen
schweizerisch da reinbringen.
Also insofern, das Ziel, was ich dabei verfolge, und das siehst du ja genauso,
dass wir das versuchen, das Thema DevOps ein bisschen locker rüberzubringen,
authentisch rüberzubringen und auch ansprechend gestalten.
Ja, und ansprechend heisst, man kann einfach auch mal reden dazu,
man muss nicht immer nur schreiben.
Wie sieht es bei dir aus? Warum machst du mit?
Ja gut, für mich ist Podcasts so wie ein neuer Kanal, der für mich persönlich sehr spannend klingt.
Ich bin bereits recht aktiv in der DevOps-Szene, schreibe viele Blogs,
auch war letztens an den DevOps-Days dort in Zürich, habe einen kurzen Speech gehalten.
Und Podcasts, ich habe es früher persönlich auch schon oft genutzt,
wenn man zum Beispiel im Auto sitzt und man kann halt nicht lesen während dem Autofahren,
ausser man hat ein selbstfahrendes Auto, aber da ist der Podcast eigentlich ein idealer Kanal.
Da dachte ich ja, mache ich mit.
So, das heisst, wir beide gestalten diesen Podcast.
Von der Idee her werden wir natürlich das nicht nur alleine machen,
wir werden uns Gäste dazu holen, wir werden uns thematisch natürlich breit aufstellen.
Aber die Frage ist ja überhaupt, was ist DevOps überhaupt?
Das sollte man als allererstes klären, bevor man überhaupt in so eine DevOps-Podcast-Folge einsteigt.
Alex, was ist DevOps?
Ja, die Frage tönt einfach, aber die Antwort ist gar nicht so trivial,
weil DevOps ist ja kein Standard, kein Framework.
Es ist nicht wie ETIL oder Scrum, wo man auch im Buch nachlesen kann,
kodifiziert, Regeln etc., sondern DevOps ist mehr eine Bewegung,
wo sich viele Dinge verändern zurzeit.
Und vermutlich ist es auch die falsche Frage, um zu starten, nicht was ist DevOps,
sondern eher, wieso ist DevOps überhaupt entstanden und ein Thema geworden.
Und diese Frage nach dem Wieso und sich auch im Klaren zu werden,
was ist Ihr Wieso, das Wieso Ihrer Firma, das kann sehr individuell sein.
Aber in der Regel gibt es so zwei Wieso, warum DevOps.
Das eine Warum, das hat wirklich mit Digitalisierung zu tun.
Wenn man da ein bisschen zurückschraubt in der Zeit,
sagen wir so 90er Jahre, wenn man schaut, wie Projekte gemacht wurden,
das war damals noch klassisch, Wasserfall-Vorgehen.
Man hat halt auch sehr lange gebraucht für Projekte,
also ich spreche jetzt auch von Software-Projekten.
Was dann plötzlich gekommen ist, ist auch so IT als Innovationstreiber.
Also ich spreche jetzt nicht von Business IT allein, sondern mehr IT im Business.
Also beispielsweise bei uns in der Schweiz,
die Banken, die haben angefangen, E-Banking-Lösungen zu bauen.
Und das ist dann halt zwei, drei Jahre gegangen, bis mal was live gegangen ist.
Und jetzt könnte man sagen, ja gut, das ist kein Problem.
Zwei, drei Jahre, that’s how it is.
Aber was, wenn plötzlich der Konkurrent, die andere Bank,
die gleiche Lösung in einem halben Jahr zustande bringt.
Dann wird das zum echten Problem für das Business, zum Wettbewerbsnachteil.
Was dann eben passiert ist, und das ist einfach passiert,
ist, dass die Software-Entwickler, die haben angefangen, auf agil umzustellen.
Also vor allem dort, wo halt auch die Antworten nicht von Anfang an klar waren.
Man hat in Sprints gearbeitet, beispielsweise nach Scrum Feedback abgeholt.
Weil die Idee, dass man da alle zwei Wochen
schon ein Potentially Releasable Increment hat.
Aber das Problem war halt immer noch, was nützt das Ganze,
wenn eigentlich das ganze System nicht erlaubt,
dass man beispielsweise alle zwei Wochen mit was live geht.
Also ein bisschen das Problem war so schon ein bisschen Operation.
Und der nächste logische Schritt, und das ist dann halt auch einfach passiert,
und das waren dann nicht so die grossen Firmen, die damit angefangen haben,
sondern mehr die Startups zu jener Zeit, so wie Google, Netflix.
Die haben angefangen mit Continuous Delivery.
Continuous Delivery heisst, that software is always in a releasable state.
Das heisst, nach jedem, wenn eine Anforderung implementiert wird, Check-in,
dann durchläuft man halt alle Tests, vorzugsweise automatisiert,
dass man jederzeit live gehen könnte.
Also plötzlich waren grosse Firmen konfrontiert mit diesen kleinen Startups,
die sehr schnell Features am Markt testen konnten,
mit Features live gehen konnten.
Und das waren dann plötzlich Konkurrenten.
Also your next competitor could be a startup with an app.
Und das betrifft inzwischen fast jede Branche.
Das ist so das eine Warum.
Und es gibt noch ein anderes Warum.
Das hat mit dieser, vielleicht haben Sie schon davon gehört,
Dev und Ops, also Entwicklung und Operation, und dazwischen die Wall of Confusion.
Das ist halt schon so, wenn man die Entwickler anschaut, die sind getrieben von Change.
Was wollen die? Die wollen in Projekten arbeiten, Änderungen umsetzen.
Während Operation hat eine ganz andere Motivation.
Die wollen Stabilität.
Jeder, der mal in Operation gearbeitet hat, weiss genau, was ich meine.
Und das ist dann der klassische Zielkonflikt.
Also man hat, Dev will Flexibilität, Ops will Stabilität.
Und was dann verloren geht manchmal, ist so die gemeinsame Sicht auf die Services.
Weil das will ja beides.
Und man hat dann angefangen, Value Streams zu identifizieren, gemischte Teams zu bilden, um diese,
und das war wahnsinnig erfolgreich.
Und das dann halt unter dem Label DevOps.
Das sind so diese zwei Warums.
Das eine Digitalisierung, so wirklich DevOps als Enabler für die Innovation.
Das andere, diese Dev und Ops-Geschichte mit der Wall of Confusion,
wo sich auch die meisten Leute in der IT können sich mit der nicht zufriedenstellenden Situation identifizieren.
Das ist halt die Motivation, wie es entstanden ist.
So, mal das Warum.
Und jetzt zur Frage, was ist DevOps, ist vielleicht, weil ich habe jetzt ziemlich viel gesprochen,
vielleicht die Frage an dich, Dirk, weil du kennst dich auch bestens aus im Bereich DevOps.
Was ist denn so für dich denn die Philosophie von DevOps, nachdem wir jetzt das Warum verstanden haben?
Ja, ich würde gerne, bevor ich auf diese Frage eingehe, nochmal einen weiteren Punkt ergänzen.
Was du gesagt hast, diese beiden Warums, stimme ich natürlich vollkommen zu.
Was ich glaube, was auch noch ein wichtiger Punkt ist, ist das Thema Automation,
ist das ganze Thema Software-Unterstützung.
Das, was so Firmen wie Netflix, Spotify und so weiter, du hast ja ein paar Beispiele genannt,
was die einfach nach vorne getrieben hat, ist natürlich auch das Thema das, was wir unter DevOps verstehen,
Continuous Delivery und so weiter.
Das hängt eng auch mit Software zusammen.
Natürlich wollen wir jetzt hier keine Software-Werbung machen, keine Software-Produkte vorstellen.
Wir werden sicherlich das eine oder andere nochmal in späteren Podcast-Folgen behandeln.
Aber für mich ist immer ein weiterer Punkt, dass wir dort auch einen Technologietreiber haben,
dass wir Software haben, die das ganze Thema unterstützt und damit auch eben dazu beiträgt,
dass wir überhaupt über DevOps reden.
Denn das, was wir eben als Warum haben, das ist natürlich etwas, was nicht unbedingt im ersten Moment
für große Firmen wie Automobilindustrie, wie Versicherungsbranche wirkt,
weil die natürlich sagen, Spotify ist nicht mein Konkurrent, Amazon ist nicht mein Konkurrent, nicht mein Mitbewerber.
Also es gibt noch ein paar Gründe mehr, das wollte ich vielleicht nochmal ganz kurz ergänzen.
Und wenn ich da eben schon so ein paar Namen genannt habe, große Firmen, dann sind das auch die Firmen,
die genau mit dem, was du vorhin gesagt hast, aus meiner Sicht manchmal ein Problem haben.
Wenn ich in den Trainings bin und dann erzähle, dass hinter DevOps kein Framework steckt,
dass da kein Eigner hinter steckt, der eine Deutungshoheit hat, sondern dass es eigentlich eine Bewegung ist,
so wie du das ja eben auch gesagt hast, dann kommen schon die ersten Fragezeichen.
Warum steht denn der da vorne und will mir als Trainer was erzählen? Ist aber gar kein Framework.
Und insofern würde ich jetzt genau auf den Punkt überleiten, den du eben angesprochen hast.
Gibt es denn überhaupt eine DevOps-Definition? Was ist DevOps?
Und ich sehe das ja auch als eine Philosophie, das hast du ja selber auch schon angedeutet.
Und unser beliebter Rob England hat sich dem Thema ja auch mal gewidmet.
Er hat eine wunderschöne Webseite dazu gemacht, weil er wohl mal gefragt wurde von einem seiner Leser,
er sollte doch bitte mal eine Definition von DevOps geben.
Und was ich interessant finde, ist, dass er doch einige Punkte auf seinem Blogbeitrag eingestellt hat, wo ich sagen würde, interessant.
Also für uns, für mich ist das,
das ist auf jeden Fall eine Philosophie. Und der Rob England sagt zum Beispiel,
dass einer der Begründer von DevOps, falls man überhaupt von so etwas sprechen kann, der Patrick Dubois,
dass der zum Beispiel überhaupt nichts zu einer Definition sagt.
Das heißt, wie gesagt, einer der Begründer, der Initiatoren von einer DevOps-Bewegung, der sagt dazu gar nichts.
Und wenn man dann beispielsweise mal bei Wikipedia reinschaut, dann finde ich, kommt man genau schon auf den ersten falschen Weg.
Auf Wikipedia steht ja zum Beispiel, dass das ein Zusammenschluss ist, eine Verballordnung von dem Begriff Software Development.
Und Wikipedia sagt, DevOps is a software development method that stresses communication, collaboration and integration between software developers and information technology professionals.
Da sage ich mal, es ist nicht nur eine Softwareentwicklungsmethode, es ist mehr.
Es ist eben die Philosophie. Und wenn ich sage Philosophie, heißt das für mich, dass ich dort in den Betrieb eigentlich auch die agilen Gedanken hineinbringe.
Dass ich das, was wir beide unter Agilität verstehen, was wir auch da so interessant daran finden, das ist etwas, was wir mit DevOps eigentlich in den Betrieb einbringen.
Ich denke, was sagst du? Haben wir die Philosophie halbwegs erklärt oder sollten wir noch ein bisschen was dazu aufhören?
Ja, absolut. Also ich schließe mich da an.
Das ist sehr gut zusammengefasst. Da habe ich ergänzt.
Aber warum machen wir dann überhaupt DevOps? Was sind denn die Ziele von DevOps?
Genau, die Ziele. Du hast ja auch gesagt, die Frage, was ist DevOps? Dass es auch eben mehrere Definitionen gibt oder sogar Leute, die sich da gar nicht rauslassen und sagen, es gibt keine definitive Aussage dazu.
So ja, Ziele. Dirk, was sind denn die, mal ganz kurz zusammengefasst, was sind die Ziele von DevOps?
Also aus meiner Sicht, wenn ich DevOps als eine Philosophie betrachte, würde ich sagen, wir wollen schneller und besser werden.
Wobei ich dieses schneller eigentlich so ein bisschen in Klammern setzen möchte. Also eigentlich heisst es für mich nur besser werden.
Wenn ich an meine Scrum Projekte denke, dann sind die großartig.
Ich glaube, dass die Kunden, die die Ergebnisse dieser Scrum Teams bekommen, häufig erfreut und für die ist es quasi vollkommen ausreichend, bessere Lösungen zu bekommen.
Die meisten Kunden, die in Fachbereichen sind natürlich auch daran interessiert, etwas schneller zu bekommen.
Aber wie gesagt, der Hauptfokus, der Hauptvorteil sehen sie als von Scrum und damit in der Folge auch von DevOps, dass sie bessere Ergebnisse bekommen.
Das heisst, für mich ist ein ganz wichtiger Punkt.
Dass wir mit DevOps, wenn wir eine Organisation nach DevOps-Philosophie aufbauen, dass wir bessere Ergebnisse liefern.
Und bessere Ergebnisse heisst, dass sie natürlich dann auch in der Folge schneller werden, weil wir keine Nacharbeiten haben und so weiter.
Aber wie gesagt, ganz klar für mich, bessere Ergebnisse, damit wir besser auf die Kundenanforderungen reagieren können und die dort besser umsetzen können.
Passt das für dich auch, Alex?
Ja, ich finde das spannend ist ja, dass diese schneller und wie du sagst, vor allem schneller,
besser, das wird ja klassischerweise als Zielkonflikt angeschaut.
Also wenn ich schneller werde, ich was schnellere, kürzere Time-to-Market, dann leidet die Qualität darunter und vice versa.
So, DevOps versucht auch ein bisschen diesen Zielkonflikt aufzulösen, in dem dann halt, sehen wir dann später, Automatisierung etc.
Und auch aus der Agilität heraus, es geht ja nicht, schneller stimme ich dir zu, ist vielleicht ein bisschen falsch, sondern was ich eben will, ist,
wenn ich mir am Anfang noch nicht sicher bin, was die Anforderungen sind, ich will Feedback vom Kunden, ob ich auf dem richtigen Weg bin.
Also fail-offen, fail-early, aber ich will echtes Feedback.
Das heisst, ich will halt das so bauen, wie es dann auch in der Produktion ausschauen würde.
Das so als Ergänzung.
Jetzt haben wir ja über die Ziele auch gesprochen, was auch noch spannend wäre mal generell.
Was sind denn so Handelsteine?
Was sind so Handlungsfelder?
Also wenn ich jetzt diese Ziele erreichen will, was sind so die verschiedenen Dimensionen, Handlungsfelder, in denen ich mich auf dem Weg dorthin bewegen kann?
Dirk?
Ja, also ich persönlich sehe dort fünf Handlungsfelder.
Und wenn ich sage Handlungsfelder, meine ich damit, das sind Gebiete, wo Unternehmen etwas tun müssen oder auch tun können, um sich in Richtung einer DevOps-Organisation zu entwickeln.
Und ich habe gesagt, DevOps ist kein Framework, es ist eine Philosophie.
Das heisst, ich kann nicht wie bei ITIL oder Scrum irgendwo mir ein Buch kaufen, sei es 17 Seiten Scrum Guide, sei es 2000 Seiten ITIL und dann sagen, ich mache das.
Nein, für mich ist das eben wirklich etwas, wo ich Organisationsentwicklung betreiben muss.
Und diese fünf Handlungsfelder, von denen ich eben gesprochen habe, das ist für mich das Wichtigste ist zuerst die Kultur.
Ich muss eine Kultur schaffen dafür und wenn man sich da in den DevOps-Blocks mal umtut, dann ist das ein Punkt, der sich eigentlich überall durchzieht.
Das heisst, selbst die Automatisierungsurus, die Automatisierung als einen ganz wichtigen Punkt von DevOps ansprechen, selbst die sagen, man braucht eine entsprechende Kultur.
Und das ist genau das, was letzten Endes, denke ich, auch die Arbeit ist, wenn ich über DevOps nachdenke, dass ich einfach eine Kultur schaffe für DevOps.
Zweiter Punkt wäre Organisation.
Ich denke, es reicht nicht einfach nur zu sagen, wir machen jetzt DevOps und wir haben vielleicht ein paar Scrum Teams, die machen den Betrieb jetzt mit.
Also, ich muss natürlich ein bisschen was organisieren.
Und da habe ich natürlich auch den Punkt, dass bei der Organisation ich auch mir überlegen muss, wie gestalte ich eine Organisation.
Dann dritter Punkt die Prozesse.
Ich habe natürlich in einem größeren Unternehmen habe ich das schon.
IT-Service-Management-Prozesse und die prallen natürlich jetzt mit ihrer
Stabilität auf die agilen Softwareentwickler und umgekehrt
natürlich. Insofern muss ich mir auch Gedanken machen über die Prozesse.
Das heißt, diese drei Themen sind so ein bisschen was Allgemeines,
sind etwas Organisatorisches. Und dann ein ganz wichtiger Punkt,
das Thema Automation. Ich habe es vorhin schon angesprochen. Ich glaube,
dass das eben ein ganz wichtiger Punkt ist. Die IT hat die letzten
Zehnte damit verbracht, andere Bereiche zu automatisieren,
Abläufe zu automatisieren. Jetzt ist die IT selbst
dran. Jetzt muss die IT ran und die eigenen Abläufe automatisieren.
Das heißt, das wäre für mich das vierte Handlungsfeld, wo man etwas tun muss,
um in Richtung DevOps zu gehen. Und dann mein Lieblingsthema,
die wir nicht kennen, ich weise immer wieder darauf hin, kontinuierliche
Verbesserung. Das ist für mich eigentlich das A und O, weil ich eben
sehr viele Implementierungen von IT-Service-Management gesehen habe,
aber auch von Scrum, die einfach für sich sagen, wir haben einen Status erreicht
und da bleiben wir jetzt stehen. Und ich glaube, dass man mit kleinen Schritten,
also mit diesem berühmten iterativen, inkrementellen Vorgehen,
dass man dort auch die DevOps-Organisation bauen kann,
sprich kontinuierliche Verbesserung von Anfang an aufsetzen. Und natürlich
hängt die kontinuierliche Verbesserung zusammen mit dem Thema Automation.
Das ist ein sehr wichtiger Punkt. Das ist ein sehr wichtiger Punkt.
Das ist ein sehr wichtiger Punkt. Das ist ein sehr wichtiger Punkt. Das ist ein sehr wichtiger Punkt.
Und das, was ich messen kann, kann mich auch beeinflussen.
Ja, also ich denke, du hast zuerst angesprochen Kultur.
Und ich denke auch, das ist die wichtigste Voraussetzung, die richtige
Kultur zu haben, sich dorthin zu bewegen. Es gibt auch den schönen Spruch
Culture eats strategy for breakfast. Und das stimmt wirklich.
Man kann die schönsten Pläne haben oder das Management kann
die schönsten Pläne haben. Wenn die Leute das nicht wollen,
dann kann man es gerade vergessen. Und ganz praktisch
heisst das ja dann auch, wenn, das sind dann vor allem halt die
Ex-Operation-Leute, wenn die sich nicht mit der agilen Idee
anfreunden können, dann wird es schwierig, sich Richtung
DevOps zu bewegen. Also man muss sich zuerst mal den Kulturaspekt
den anschauen. Das sehe ich schon auch als
die wichtigste Voraussetzung.
Ja, vielen Dank, Dirk.
Du hast gesprochen über die Ziele von DevOps, schneller, besser, die
Handlungsfelder, die Werte.
Jetzt hört man ja auch oft über diese sogenannten Three Ways.
Das sind drei unterschiedliche Philosophien, wie die Ziele von DevOps
angegangen werden.
Die wurden ja das erste Mal beschrieben in dem berühmten Buch von
Jin Kim, The Phoenix Project, ein Buch, das ich sehr empfehlen kann.
Dirk, willst du uns diese Three Ways vielleicht mal ein bisschen näher
bringen?
Ja, gerne.
Vielleicht, bevor ich auf diese drei Wege, drei Prinzipien eingehe.
Das Buch, was du angesprochen hast, ist für dich auch sehr, sehr lesenswert.
Interessant finde ich, wenn ich das meinen IT-Service-Management-Kollegen empfehle oder
mit denen ich darüber austausche, über meine Freude an DevOps.
Die meisten, die das Buch lesen, die ertappen sich, dass sie sagen, stimmt, habe ich auch
erlebt.
Also insofern, wer das Buch noch nicht gelesen hat.
Das ist sehr interessant.
Sehr nett, sehr locker geschrieben, lässt sich eben gut lesen, ist vielleicht nicht
eine Urlaubslektüre, aber zumindest eine Lektüre, die man sich gerne so am Wochenende
mal antun könnte.
Und wie gesagt, viele Leute, die ich mit dir darüber spreche, die sagen, ja, das habe
ich genauso erlebt, das ist bei uns auch so.
Also insofern, das kann man einfach nur empfehlen.
Ja, Jin Kim, hast du eben gesagt, der hat drei Wege für Feedback aufgezeigt.
Three-Ways-Principles, drei Prinzipien, wie Feedback laufen kann.
Das Feedback brauchen wir natürlich, wenn wir uns verbessern wollen.
Und wenn wir Dinge verbessern wollen, müssen wir Feedback-Schleifen einbauen.
Und seine drei Wege, im Prinzip der einfachste, der erste Weg ist der, der auch noch auf einer
Silo-Organisation aufbaut.
Der sagt, wenn ich eine Silo-Organisation habe, dann habe ich Projekte, ich habe eine Entwicklung
und die Entwicklung hat einen ganz einfachen Weg.
In Richtung Ops, das heisst, ich habe eigentlich nur einen Weg, wie Informationen laufen.
Wir haben eben noch nicht mal ein Feedback.
Es gibt nur Informationen von dem Bereich Development, von der Entwicklung an den Betrieb,
an Operations.
Und da gibt es den zweiten Weg, Alex, aber ich denke, den kannst du auch erzählen.
Ja, der erste ist ja recht offensichtlich mal.
Da geht es ja darum, wie du gesagt hast, Dirk, wenn man sich jetzt praktisch vorstellt, in
der Entwicklung, man definiert Anforderungen, es wird entwickelt, Check-in, verschiedene
Tests und dann geht es Richtung Deployment bis hin in die Produktion, so First Way.
Was der Second Way zusätzlich reinbringt, ist Feedback-Loops und zwar nicht einfach
Feedback, sondern schnelle, kurze Feedback-Loops, beispielsweise automatisiertes Testing.
In einem agilen Umfeld.
Wenn ich was mache, ich will wissen, ob ich das Richtige mache und deshalb brauche ich
diese Feedback-Loops.
Also idealerweise, so der Traum auch aus dem Continuous Integration Delivery, ich check
Code ein, ich bekomme sofort Feedback aus den automatisierten Tests, ob ich das Richtige
mache.
Wenn nicht, stop the line and go back, eine Philosophie, die sehr alt ist, die aus dem
Lean herauskommt.
Entstanden.
Es gibt viele andere Beispiele für Feedback-Loops, beispielsweise das klassische Problem-Management,
man hat wiederkehrende Störungen, man will jetzt mal die Ursache herausfinden, dauerhaft
beheben, Feedback nach links geben, Monitoring ist auch, Continuous Monitoring ist ein gutes
Beispiel.
Das sind so diese Feedback-Loops, der Second Way, man versucht, das überall reinzubringen.
Und so schlussendlich auch die Qualität zu erhöhen.
Und dann gibt es ja noch den Third Way, soll ich kurz erklären oder willst du?
Also Third Way geht dann wieder in eine ganz andere Richtung, das hat mit kontinuierlichem
Experimentieren und Lernen zu tun, das hat auch mit Fehlerkultur zu tun, weil Fehler
passieren, das ist absolut menschlich.
Das Problem ist, wenn man aus Fehlern nicht lernt, dann ist es einfach nur ein Fehler.
Also erstens hier eine Kultur aufbauen, der kontinuierlichen Verbesserung und andererseits
auch Experimente nutzen, um zu lernen.
Also ich mache hier das Beispiel von Google, bei Google ist alles ein Experiment, beispielsweise
Google Maps hat als Experiment, ist das entstanden, hatte einer eine Idee, man hat das implementiert,
geschaut, man weiss halt nicht zum Vornherein, funktioniert das oder nicht.
Und das ist dann wirklich auch ein Mindset-Shift, weil oft wird zu Tode argumentiert, ist jetzt
Lösung A oder B richtig, soll ich zwei oder drei Fenster haben auf meinem kleinen Client?
Und die Sache ist die, keine Ahnung, niemand kann das wissen.
Beides ausprobieren, Experiment machen, Impact messen, Feedback, das ist das, was wir hier
machen.
Und das, was funktioniert, das behält man.
Kontinuierliches Experimentieren und Lernen, das ist so der third way.
Und dann eben auch den Leuten die Zeit geben, Experimente einzugehen.
Es gibt Firmen, auch in der Schweiz, die machen dann zum Beispiel so Hackathons oder sie geben
den Leuten 10% der Zeit, wo sie eben so Experimente durchführen können und ihre Hypothesen testen.
Das wäre so von meiner Seite so der third way.
Ja, was ich da interessant finde ist, aus meiner Sicht, wenn man diese drei Wege mal
sozusagen nebeneinander stellt, dann brauche ich für den zweiten und dritten Weg eine
andere Organisation, dann brauche ich autonome Teams, brauche Teams, die das, was du eben
aufgeführt hast, für den zweiten und dritten Weg, die das quasi im Team umsetzen können.
Denn wenn ich natürlich lange Rückmeldezyklen habe.
Ich muss über irgendwelche Anzeichen gehen.
Ich muss über irgendwelche Anzeichen gehen.
Ich muss über irgendwelche Anzeichen gehen.
Ich muss über irgendwelche Gremien gehen.
Ich muss über Abteilungen gehen.
Ich muss Projektwege, Reportingwege einhalten.
Dann funktioniert das alles nicht.
Das heißt, das Ziel ist ja nicht nur diese Zyklen einzubauen, das Feedback einzubauen,
sondern auch schnell einzubauen.
Du hast das eben gesagt.
Schnell heißt nicht zwei Wochen.
Schnell heißt im Extremfall stündlich oder heißt zumindest sehr, sehr zeitnah zu dem
Start eines möglichen Experiments.
Das heißt ganz.
klar, für mich, was ich interessant finde und dann auch als Herausforderung
für die Unternehmen sehe, der Weg 1 auf 2
oder 1 auf 3 bedeutet eine Veränderung der Organisation.
Ich muss meine Organisation anders aufbauen und
das, glaube ich, ist noch ein wichtiger Punkt, den wir behandeln sollten.
Wir reden immer davon Netflix, wir reden von Amazon, wir
reden von Google, ganz tolle Firmen. Die Frage ist ja, können
wir das, was diese Firmen praktizieren, was wir hier auch so schön als
DevOps darstellen, können wir das einfach so in die deutschen
Unternehmen bringen? Wenn wir uns ein Mittelständler anschauen, wenn wir uns große Unternehmen
angucken, kann man das einfach so übertragen? Wie können
diese Firmen das, was wir so erzählen, eigentlich auch nutzen und
zufrieden bringen?
Ja, das Ganze hat ja, wie du sagst, angefangen mit diesen sogenannten
Unicorns. Für die ist das
eine Notwendigkeit, DevOps zu machen und
die grossen Firmen oder diese sogenannten Horses, sagt man
im DevOps-Slang, Enterprise-IT, wollen das nun
adaptieren. Und es ist ja nicht so, dass man DevOps
machen kann. Was man aber beispielsweise machen kann und
das ist auch schon recht etabliert in vielen grösseren Firmen ist
beispielsweise all diese Continuuses, Continuous Integration,
Delivery, Deployment.
Es gibt auch Praktiken wie beispielsweise Kanban, Value Stream
Mapping. Wenn wir das jetzt alles versuchen würden, ein bisschen auf die Reihe
zu bringen, nicht so anknüpfen nach, was du gesagt hast, Dirk,
mit den Three Ways, vor allem der First Way, weil was
ein bisschen verloren gegangen ist in den grösseren Firmen, ist die Sicht
des Value Streams. Man hat stark funktionale
Organisationen, man hat viele Handoffs, man hat
überall Prozessmanager, aber
wer ist eigentlich noch irgendjemand, wo der Value Stream
für die einzelnen Produkte und Services ist? Also von der Anforderung
bis hin ins Deployment. Also ein erster
Schritt ist mal, dass man sich vielleicht irgendeinen Service
rauspickt und man macht beispielsweise ein Value Stream Mapping.
Man identifiziert mit den Leuten, die da involviert sind,
nicht zuerst mal, wie der Prozess
theoretisch ausschauen soll,
sondern wie es im Moment läuft. Die Japaner sagen dem auch so
Gemba, also Gemba heisst dort, wo es passiert, Gemba Walk.
Man schaut durch, wie wird zur Zeit gearbeitet
und dann, wenn man dieses Bild hat, versucht man die
Bottlenecks oder Verschwendung auch zu identifizieren. Das kommt aus
dem Lean raus. Man sieht dann beispielsweise, dass man wahnsinnig
viel Zeit braucht für das Deployment oder dass man
sehr viel manuelle Arbeit, alle Tests manuell
und wenn man das sieht, dann denkt man an schrittweise Verbesserungspotenzial
zu identifizieren. Dirk, du hast ja gesagt, du bist ein Fan
von kontinuierlicher Verbesserung. Genau die Philosophie
kommt da rein. Also aus dem Value Stream Mapping,
das ist jetzt ein Beispiel von einer DevOps Praxis.
Wir haben zur Zeit ein Projekt, wo wir das beim Kunden machen
und wo wir kontinuierlich versuchen, schneller und besser
zu werden. Das ist mal so eine Möglichkeit. Eine andere
ist, das geht dann eigentlich so Richtung Kultur, weil
die Leute sind ja oft skeptisch gegenüber agiler
Vorgehensweise, DevOps, vor allem aus dem Bereich
Infrastruktur. Die haben ja oft auch ein Leben lang gekämpft gegen die Agilen
und da kann zum Beispiel ein erster Schritt sein,
in einem Team seine Arbeit zu organisieren mit Kamban.
Kamban ist ein einfaches Tool.
Viele von euch haben sicher auch schon diese Boards, Kamban Boards gesehen,
To Do, Doing, Done, wo man eben entlang des Value Stream
versucht, seine Arbeit zu visualisieren,
regelmässig zusammenzukommen, Fortschritt
zu diskutieren, den Work in Progress zu
managen. So ein erster Schritt. Was dann natürlich das andere
das ist ein riesen Thema, weil so der Kern von DevOps ist
für viele schon das Continuous Delivery.
Der Anfang von Continuous Delivery ist auch zuerst mal
sich über den Value Stream im Klaren zu werden. Also ganz simpel, wenn
Sie jetzt an eine Ihrer Applikationen denken,
es muss nicht eine Applikation sein, aber von der Anforderung
übers Bauen, Testing bis Deployment sich zu sehen,
wie es im Moment läuft und dann sich Richtung Continuous Integration
and Delivery zu bewegen. Also angefangen mit Continuous Integration,
das heisst, es ist eigentlich ein alter Zopf, Continuous Integration.
Das ist die Praxis, dass man mindestens auf täglicher
Basis Code eincheckt, in ein gemeinsames
Repository und ein paar automatisierte Tests läuft.
Das Ganze wird dann erweitert durch Continuous Delivery,
was dann heisst, dass man versucht konsequent diese
Value Chain, auch die Tests vor allem, die stattfinden,
die zu automatisieren und auch zu erweitern,
weil klassisch, wenn man schaut aus der Entwicklung, ein Problem ist ja
der Entwickler, der konzentriert sich immer auf Features,
funktionale Anforderungen. DevOps heisst jetzt,
dass man nicht funktionale Anforderungen,
sondern funktionale Anforderungen einbezieht,
dass man auch Tests dafür, beispielsweise Performance Tests,
Security Tests, man identifiziert
die, man automatisiert
die und macht sie Teil dieser Continuous Delivery
Pipeline. Ganz praktisch gesagt, nach jedem Check-In
vom Entwickler werden auch die Tests automatisch durchlaufen,
sodass man Software dann theoretisch immer in einem
Releasable State hat. Und das klingt jetzt, wenn man sich
im Legacy-Umfeld bewegt, dann klingt das natürlich nach
Mission Impossible, weil niemand hat gesagt, es ist einfach,
aber es ist eher ein Weg, den man beschreiten muss,
hier automatisieren, dort automatisieren, bis hin an so eine
Continuous Delivery Pipeline und eine Tool Chain.
Das ist ja auch was, wenn man irgendwo einen Bruch hat,
einen manuellen Bruch.
Dann habe ich kein Continuous Delivery.
Das sind so ein paar Beispiele. Es gibt ja noch so, und das kommt
da zum Teil wie Pilze, schiesst das jetzt heraus,
so neue Praktiken wie zum Beispiel ChatOps.
Das ist relativ neu. Es gibt dann so
Dinge wie, jeder von euch kennt WhatsApp.
Jetzt könnte man das gleiche Mechanismus nutzen für die
IT-Welt in der Zusammenarbeit. Also beispielsweise das
man so ein Chat-Tool nutzt, das ist dann integriert in die
bestehende Umgebung. Und wenn irgendwo ein Instant aufpoppt,
dass man direkt einen Kanal aufmachen kann, auch mit dem
Second Level, Third Level und gemeinsam an den Problemen
arbeiten kann. Da gibt es ja ganz verrückte Dinge, wie zum
Beispiel, es geht in Richtung Artificial Intelligence, dass
man solche Bots einbaut dort. Man will beispielsweise in diesem
Chat und sagt ja, bitte bring mir das jetzt in die Produktion
und der Bot verarbeitet das dann und agiert entsprechend.
So eine Art Siri für DevOps. Das ChatOps. Es gibt weitere
Beispiele, was jetzt gross am Kommen ist, ist Rucked DevOps
oder DevSecOps. Da geht es darum, Security Praktiken oder
Security Tests. Eben nicht wie früher, wenn man so eine
Partie macht, dass man sagt, ja, das ist ein separates Team,
das dann irgendwann später die Security Tests macht, sondern
dass man das versucht, früh in die Pipeline zu bringen, Tests
zu automatisieren. Das ist so die Idee dahinter. Ja, es gibt,
ich meine Dirk, du hast das sicher auch aus deiner Erfahrung,
oder? Da gibt es vielleicht noch so weitere Praktiken oder
Dinge. Man kann nicht DevOps machen, aber man kann eben
so diese, da hast du ein paar Ideen da. Ja, ja, wenn ich mir
das anhöre, was du jetzt auch gerade zum Schluss so erzählt
hast, das sind natürlich tolle Ideen, tolle Umsetzungsmöglichkeiten.
Wenn ich das so mir anschaue, das ist ja alles sehr stark in
Entwicklungsgebung. Und dann sehe ich vor mir den Delivery Manager,
sehe den Leiter des Rechenzentrums, den Leiter der IT-Infrastruktur
und der sagt sich, was soll ich damit anfangen? Das heißt, für
mich würde ich bei diesem ersten Schritt, von dem du angefangen
hast in deinen Ausführungen, ich würde diesen ersten Schritt
nochmal ein bisschen praktisch umsetzen, praktisch erläutern.
Was kann man denn tun, um mit DevOps zu starten? Und das heißt
für mich ganz klar, Kommunikation. Ich muss es hinbekommen, ein
Unternehmen muss es hinbekommen, die beiden Bereiche zusammenzubringen.
Die beiden Bereiche müssen miteinander reden, die müssen
miteinander Verständnis entwickeln. Das heißt, die beiden Bereiche
müssen zusammenarbeiten. Und das glaube ich, da sind viele Unternehmen
schon auf einem sehr guten Weg, dass sie einfach sehen, die beiden
Bereiche müssen im Sinne des Kunden zusammenarbeiten. Und dort glaube ich,
wenn ich jetzt auf die Betriebsseite schaue, ist es einfach auch interessant
und sehr gut, sich zum Beispiel mit den Community of Practice
zusammenzusetzen. Das heißt, in einem agilen Umfeld, dass ich meine
Betriebsanforderungen eben von Anfang an einbringe. Ich kann sie einbringen,
indem ich, wie gesagt, den Community of Practice gründe, wo ich mich mit
den agilen Teams auseinandersetze, wo wir gemeinsam darüber sprechen, wie
kriegen wir die agile Entwicklung dann auch schnell in einen Betrieb?
Das heißt, Kommunikation. Dann glaube ich, wird noch viel zu selten der
Standardweg benutzt, dass ich die Definition of Done vernünftig formuliere,
dass ich wirklich meine Betriebsanforderungen in eine Definition of Done
reinschreibe, dass ich meine Betriebsanforderungen auch in den User Stories
als Akzeptanzkriterium reinschreibe. Das sind für mich auch ganz praktische
Hinweise. Und an diesen Punkten, da wird schon viel diskutiert. Da gibt es
sicherlich viel Kommunikation, aber das, denke ich, ist neben den anderen Themen,
die du vorhin genannt hattest, einfach auch ein ganz wichtiger Punkt, dass ich
eben praktisch das hinbekomme, DEV und OBS zusammenzukriegen. Und was ich auch
noch wichtig finde, was meine Rednerin schon gesagt hat, ist, dass ich auch
in diesem Podcast nicht klären kann, was man regeln muss. Was wir sicherlich
heute hier in diesem Podcast nicht klären können, ist das ganze Thema Skalierung.
Wenn wir jetzt davon reden, das hast du ja selber gesagt, ich habe einen
Value Stream, ich habe eine Applikation, ich gucke mir einen Teil an, dann steckt
dahinter vielleicht auch wirklich nur ein Scrum Team. Dahinter stecken vielleicht
ganz wenige Scrum Teams. Aber die Frage ist ja, wie kriege ich meine gesamte
Umgebung, meine ganze Entdeckungsabteilung mit meinem Betrieb zusammen? Und da,
glaube ich, müssen wir uns in einem späteren Podcast nochmal ein bisschen so
auslassen, wie kriege ich das einfach skaliert? Wenn ich das jetzt hier nochmal
zurückführe auf den ersten Schritt, von dem ich eben gesprochen habe, glaube ich,
dass es einfach ganz wichtig ist, Kommunikation hinzubekommen, Offenheit auf
beiden Seiten hinzubekommen und dann einfach, dass beide an einem Ziel arbeiten.
Und das Ziel heißt, Kunden zufriedenstellen. Und das, glaube ich, ist ganz wichtig.
Und dort auch das, was wir vorhin schon hatten. Du hast ja gesprochen, dass die
Kunden zufriedenstellen. Und das, glaube ich, ist ganz wichtig. Und dort auch das, was
wir vorhin schon hatten. Du hast ja gesprochen, Culture eats strategy for breakfast.
Es muss an einer gemeinsamen Kultur arbeiten und das, glaube ich, ist eine der
großen Herausforderungen an DevOps. Und da würde auch ein Framework nicht helfen.
Das hatten wir vorhin auch als Punkt. DevOps als Philosophie, ja, es kann
kein Framework geben, was eine Kultur schafft. Dass die beiden Bereiche
miteinander sprechen, dass beide Bereiche zusammenarbeiten. Gut, also insofern,
Das wäre so meine Ergänzung dazu, zu dem Thema ersten Schritt.
Und ich glaube auch, ich habe dir eben gesagt, Betriebsseite,
ich glaube auch, dass wir dort sehr viel aus dem IT-Service-Management
an Wissen und an Erfahrung mitbringen können.
Und wenn ich das Thema DevOps als organisatorische Komponente betrachte,
dann komme ich ja dazu, ich habe es vorhin gesagt, autonome Teams zu bilden.
Und diese Teams, die kommen dann häufig sicherlich aus der agilen Entwicklung
und ich packe jetzt ein bisschen Betriebsaufgabe dazu.
Das klingt jetzt so einfach, heißt aber, dass ich ja eigentlich den gesamten Bereich
Service Design, Service Transition, Service Operation und natürlich
Continuous Service Improvement, dass ich diese Bereiche alle in das Team reinpacke.
Und das geht natürlich nicht in einem großen Framework,
aber die muss ich schon irgendwie regeln.
Es reicht eben jetzt nicht nur zu sagen, hey super, wir testen automatisiert
und haben eine Kontinente.
Wir haben das Delivery Pipeline, ich muss das Ganze ja auch organisatorisch regeln.
Und das, glaube ich, ist auch ein Punkt, wo DevOps einfach auch diese beiden Bereiche zusammenbringt.
Das heißt, wir haben schon eine agile Entwicklung, wir haben dort viele, viele Vorteile,
wir haben ein Schlangenprinz-Vorgehen und wir bringen aber IT-Service-Management-Gedanken
und Wissensgut mit ein.
Das würde ich noch einfach mit dazu packen, wenn wir nämlich über DevOps reden,
das ist ja Thema unseres Podcasts heute hier, was ist DevOps?
Dann wäre das quasi so ein bisschen mein Schlusswort, meine Erklärung, was ist DevOps?
Natürlich ist es eine Philosophie, es ist aber eigentlich nichts Neues.
Ich glaube, DevOps besteht eigentlich nur darin, dass ich die bestehenden Ansätze
wie agile Softwareentwicklung, Scrum beispielsweise, wie Lean Management,
mit Kanban als Beispiel und IT-Service-Management, ITIL oder andere Frameworks,
dass ich das zusammenbringe.
Ich glaube, das ist das, was ich unter DevOps verstehe und da denke ich,
dass wir in diesem Podcast noch das eine oder andere auch mal die einzelnen Bereiche beleuchten werden,
dass ich auch unsere Aufgabe in diesem Podcast quasi auch für Verständnis
auf der jeweiligen Seite zu werben, denn das hast du ja auch erzählt von deinem Freund.
Wenn wir mit DevOps zu klären sind, dann ist das, was ich unter DevOps verstehe,
das ist das, was ich unter DevOps verstehe, und das ist das, was ich unter DevOps verstehe.
Wenn wir zu kleineren Softwarehäusern kommen, die das schon lange machen,
dann machen die das schon so, aber die nennen das nicht DevOps.
Das heißt, das, worüber wir hier philosophieren, das ist für die Standard,
das ist für die Tagesgeschäft und das, was wir hier so schön ausbreiten,
ist etwas, was die schon seit Jahren leben und insofern glaube ich,
dass wir die einzelnen Bereiche mit diesem Podcast auch zusammenbringen.
Gut. Ja, es gäbe natürlich noch viel zu sagen.
Auch über DevOps, eben auch über die einzelnen Praktiken.
Und ich denke mal so jetzt als erster Podcast, mal so auch eine Einführung ins Thema,
warum DevOps, was ist DevOps, DevOps-Praktiken, das mal für den ersten Podcast gut ist.
Was ich jetzt lohnen würde für einen Nachfolge-Podcast,
mal sich ganz konkret so eine DevOps-Practice anzuschauen.
Und ich habe ja erzählt vom Value-Stream-Mapping.
Das ist etwas, das sich grosser Beliebtheit erfreut, mal zu identifizieren,
was sind eigentlich meine Value-Streams, so als Ausgangspunkt.
Und was wir da planen für den nächsten Podcast, ist ein Interview mit dem Kunden,
ein Real-Life-Beispiel, wie das dort umgesetzt wurde und wieso innerhalb von relativ kurzer Zeit
auch effektiv Ziele von DevOps erreicht wurden, nämlich schneller und besser zu werden.
Das so als…
Aussicht auf den nächsten Podcast.
Dirk, hast du da noch was zu ergänzen?
Ja, ich freue mich.
Das war eine sehr schöne Zeit mit dir hier, diese dreiviertel Stunde so circa.
Und ich bin zufrieden mit dem Ergebnis, aber vielleicht geht es ja unseren Hörern nicht so.
Vielleicht gibt es ja Rückmeldungen, vielleicht gibt es Hinweise.
Also insofern, wir freuen uns natürlich, wenn wir die Hörerschaft erweitern.
Ähm…
Da die Bitte natürlich, wenn es ihnen gefallen hat, weitergeben, den Hinweis auf diesen Podcast.
Und, wenn es Rückmeldungen gibt…
Alex, wie kann man dich erreichen?
Mich kann man erreichen auf alex.lichtenberger at ponthein.ch
oder auch auf Twitter, also wenn ihr da einfach nach a-lichtenberger sucht.
Ich bin da recht aktiv auf Twitter.
Und ich würde mich freuen über Feedback.
Also ganz im Sinn.
Im Sinne von Continuous Improvement, also wir versuchen auch diesen Podcast natürlich zu verbessern.
Dirk und ich würden uns auf Feedback freuen.
Wie kann man dich erreichen, Dirk?
Ja, mich kann man ähnlich erreichen.
Bei Twitter bin ich genauso erreichbar, at Söllner Dirk.
Beziehungsweise natürlich auch über meine E-Mail-Adresse dirk.söllner.de.
Ganz richtig, dirk.söllner at de.söllner.de.
Aber ich glaube…
Die meisten, die diesen Podcast hören, diesen ersten Podcast hören, kennen dich oder kennen mich.
Also insofern würde ich mich freuen, würden wir uns freuen, wenn wir Rückmeldungen bekommen.
Sei es, dass es uns gefallen hat, sei es, dass wir ein paar Dinge verändern können.
Und insofern freuen wir uns auf den nächsten Podcast und auf die Rückmeldungen unserer Hörer.
Vielen Dank, sagt Dirk Söllner und…
Vielen Dank, sagt Alex Lichtenberger.
Vielen Dank, Dirk Söllner.