Hurra, wir haben das Fließband erfunden! Wie du deine Transaktionskosten mit der Fließband-Denkweise radikal reduzierst und damit die Produktivität deines Unternehmens durch die Decke geht! Das erfährst du in diesem Artikel.
In dem Moment, als 1908 bei Ford das erste Model-T vom Fließband lief, veränderte sich die Welt. Die traditionelle Produktion war von heute auf morgen altes Eisen. Auch wenn Henry Ford nicht der Erfinder des Fließbandes ist: Das Konzept hat er auf ein neues Level gehoben. Sein Ziel: Ein Auto zu bauen, das sich jedermann leisten kann. 15 Millionen Exemplare liefen vom Fließband. Sie sind der Beweis für den überwältigenden Erfolg. Bis in die 70er Jahre hielt dieser Rekord. Erst der VW-Käfer hat diesen Bestwert übertroffen. Natürlich vor allem dank des ausgetüftelten Fließbandes.
Und heute?
Heute gibt es nur noch ein paar wenige Nobel-Automarken, die nicht mit einem Fließband arbeiten. Und nicht nur die großen Autohersteller kennen den Wert. Fast alle produzierenden Unternehmen nutzen diese Fließbänder. Sie sind das Rückgrat der Produktion.
Was haben Fließbänder mit Transaktionskosten zu tun?
Was Transaktionsaktionskosten sind und warum du sie im Blick behalten solltest, habe ich in diesem Artikel beschrieben. Sie zu senken ist eine Kernaufgabe der Führung.
Warum also Fließbänder und was haben sie mit Transaktionskosten zu tun?
Fließbänder haben drei Eigenschaften, die Transaktionskosten senken:
- Klar definierte Übergabepunkte
- Einen angemessenen, stetigen Takt
- Eindeutige Aufgabenverteilung in jedem Schritt
Mit dem Einsatz der Lean Prinzipien bekommst du zusätzlich
- Qualität in jedem Schritt
- Übergreifende Effizienz in jedem Schritt
- Stetige Anpassung an die äußeren Rahmenbedingungen
Diese 6 Eigenschaften sorgen in der Kombination dafür, die Transaktionskosten zu senken.
Wie kannst du sie für deine Prozesse adaptieren? Sollst du dir ein Fließband anschaffen? Fast.
CI/CD-Pipelines – Die Fließbänder der IT
Der Kern jeder CI/CD-Pipeline-Technologie: Ein Command-Line-Runner und die strukturierte und automatisierte Abarbeitung von Aufgaben.
Sie bringen drei Eigenschaften mit sich:
- CI/CD-Pipelines sind trotz ihres Fokus auf Software-Entwicklung flexibel einsetzbar.
- CI/CD-Pipelines garantieren dir eine schrittweise Abarbeitung von einzelnen, aufeinander aufbauenden Aufgaben.
- CI/CD-Pipelines geben dir in der Regel die Kontrollinstrumente und Werkzeuge, die du brauchst, um wiederholbar gleichartige Aufgaben auszuführen.
Auch wenn du keine Software-Entwicklung betreibst, kannst du von dieser Technologie profitieren. Durch diese Eigenschaften eignen sich CI/CD-Pipelines hervorragend für jegliche Aufgaben, die du strukturiert fließbandmäßig abarbeiten möchtest.
9 erprobte Use Cases, wie du CI/CD-Pipelines zweckentfremden kannst, um deine Transaktionskosten zu senken
- SSH-Keys auf unterschiedlichen VM’s austauschen: Stell dir vor, du musst aus Sicherheitsgründen alle personalisierten SSH-Keys auf allen VM’s austauschen. Wie einfach wäre es, das auf automatisierte Art zu tun? Mit Pipelines kein Hexenwerk.
- Staging-Konzept für VM’s und Docker nutzen: Staging-Konzepte nutzen mehrere Stages, also zum Beispiel Dev, Test, Stage und Prod, um unterschiedlichen Zielgruppen und Stakeholdern auf den verschiedenen Stages unterschiedliche Versionen von der Software zu zeigen und diese auf Herz und Nieren zu testen. Das geht nicht nur mit selbstentwickelter Software, sondern auch mit Servern auf Basis provisionierter VM’s oder Docker Container.
- Eingekaufte Standardsoftware aktuell halten: Stell dir vor, du hast ein Standardprodukt, dass alle paar Wochen ein Update bekommt. Mithilfe von Pipelines backst du zu bestimmten Zeitpunkten ein Image und provisionierst es so, wie du es brauchst. So habe ich meinen Monitoring-Stack bei einer Unternehmenskritischen Anwendung auf VM-Basis automatisiert gemanaged. Die Container-Jünger haben über die Einfachheit gestaunt,
- Automatisiertes Patchmanagement deiner Anwendung: Renovate und Depandabot machen es möglich. Vorbei ist die Zeit, in der du manuell in der pom.xml oder dem Dockerfile Versionen austauschen musstest. Einfach den automatisiert angelegten Pull Request annehmen und die Pipeline sorgt für die Aktualisierung.
- Automatisiertes einspielen der Security-Updates auf allen VM’s: Infrastructure as Code-Tools wie Ansible, Saltstack und Chef sind großartig. Geht es um das Managen einer geringen Anzahl von Servern, wirken die großen Lösungen wie die Ansible Automation Plattform wie „mit Kanonen auf Spatzen schießen“. Dezentrale Lösungen, z.B. über Cronjobs, sind schwierig zu überwachen. Auch hier kann eine Pipeline, vor allem mit einem Staging Konzept, Wunder wirken.
- Security-Checks der Produktion: Möchtest du wissen, ob alle Dockercontainer in Produktion sicher und korrekt konfiguriert sind? Dann kauf die ein Standardprodukt. Oder noch besser: Mit Clair oder Trivy, gepaart mit einer Pipeline hast du ein perfektes Duo, um jederzeit die Sicherheit deiner Produktion im Blick zu behalten.
- „Ab in Produktion“: Du hast eine Software- oder Konfigurationsänderung gemacht? Dann schick sie auf die Reise in Produktion. Durch die automatisieren Regressionstests, Konfigurations- und Sicherheitschecks hast du ein starkes Sicherheitsnetz, dass ein risikoarmes Deployment in Produktion ermöglicht.
- Automatisierte Sicherheitskontrollen von Third-Party Software: Du hast eine Software von einem Drittanbieter gekauft und möchtest sicherstellen, dass sie sauber ist? Dann bau dir eine Security-Scan Pipeline, in der die Software mit verschiedenen Scannern nacheinander getestet wird.
- Qualitäts- und Kompatibilitätschecks bei Zulieferungen von Software-Komponenten: Dein Lieferant liefert dir eine Bibliothek aus? Dann bau dir eine Qualitäts- und Kompatibilitätscheck-Pipeline, die Akzeptanztests und Last- und Performance-Tests durchführt. Im produzierenden Gewerbe ist das der Standard. Warum nicht in der IT?
All diese Anwendungsfälle lassen sich auch auf andere Art lösen. Es ist eine Architekturfrage, welche Lösung im jeweiligen Fall die sinnvollste ist. In Bezug auf die Transaktionskosten stehen für die CI/CD-Pipelines auf der Haben-Seite:
- Einheitliches Tooling: Dein Team muss sich mit etwas weniger unterschiedlichen Tools auseinandersetzen. Die Transaktionskosten der Einarbeitung und des Wissenstransfer sinken.
- Staging-Denkmuster im Team: Staging hat riesige Vorteile bei dem weitestgehend automatisierten Betrieb deiner Infrastruktur. Mit geeigneten Pipelines unterstützt du dieses Denkmuster bei deinem Team. Durch das einheitliche Denken sinken die Transaktionskosten.
- Einfache Automatisierung mit Standardfunktionalität: Die Pipelines bieten das Werkzeug, um viele Dinge zu automatisieren. Auch wenn die Anwendungsfälle oben auf den ersten Blick nach dem „Wer einen Hammer hat, für den ist jedes Problem ein Nagel“-Prinzip aussieht, sind die Aufgaben, die in jedem Schritt der jeweiligen Pipeline ausgeführt werden, Standardaufgaben (Puh, ein langer Satz). So kannst du die Transaktionskosten senken, indem du standardisierte Aufgaben in unterschiedlichen Pipelines durchführst, was wiederum die Kompliziertheit deutlich reduziert.
Und last, but not least:
Standardisierte Abfolge der Aufgaben mit standardisierten Übergabepunkten: Das größte Problem der meisten Prozesse sind die schlecht gestalteten Übergabepunkte (englisch Handover). Dort entstehen hohe Transaktionskosten. Viel Zeit und viel Energie gehen verloren. Oft passieren auch „witzige“ Dinge. In einem meiner ersten Projekte haben wir mit unserer Partnerabteilung nach Monaten herausgefunden, dass viele unserer Reports beim ihnen mühsam wieder herausgelöst und ins blaue Archiv (Papierkorb) verfrachtet wurden. Zweimal Aufwand, weil keiner mit dem anderen redete. Seitdem sehe ich dieses Muster an vielen Stellen.
Jetzt ist der Zeitpunkt, sich mit CI/CD-Pipelines zu beschäftigen!
Wie du siehst, gibt es viele Einsatzmöglichkeiten für Pipelines, die weit über den normalen Continuous Integration (CI) und den Continuous Delivery (CD) bzw. Continuous Deployment (auch CD) hinausgehen. CI/CD-Pipelines sind das Fließband von heute. Seit 2010, etwa 100 Jahre nach dem Model-T sind Pipelines das Rückgrat jeder modernen IT-Organisation. Wann springst du auf den Zug auf und nutzt die Macht der CI/CD-Pipeline?
Schreib gerne in die Kommentare: In welchen interessanten Situationen nutzt du CI/CD-Pipelines? Wo planst du den Einsatz?