Was hilft uns nun die schönste, beste und sicherste Software, wenn diese nicht effizient in Produktion ausgerollt werden kann?
Darum kümmern wir uns im Deliver Zwischenstopp, natürlich mit dem Hintergrund unserer Prinzipien wie Automatisierung, Nachvollziehbarkeit, Reproduzierbarkeit und Immutability.
Was kann ich mir von diesem Zwischenstopp erwarten?
Im Deliver-Zwischenstopp sind folgende Themen enthalten:
Staging & GRC
UAT & CDCT
Test & Data Management
Scans & Policies
Configuration
Artifacts
Dieser Zwischenstopp baut auf der 12-Factor-App Methodik auf und erweitert diese um unseren Erfahrungsschatz zu den genannten Themen. Wir verfolgen dabei jedoch keinen "one-size-fits-all" Ansatz, sondern haben für unterschiedliche Zielgruppen unterschiedliche Referenzmodelle entwickelt. Diese Referenzmodelle passen wir dann gezielt an die konkreten Bedürfnisse der Kunden an.
Der große Vorteil dabei ist, dass wir sofort einen Startpunkt haben, der iterativ immer weiter an den aktuellen Kontext angepasst wird. Es ist also quasi eine Kombination der besten Eigenschaften aus bereits umgesetzten Lösungen und einem Greenfield-Ansatz.
Warum soll ich bei diesem Zwischenstopp halt machen?
Dieser Zwischenstopp realisiert unsere Prinzipien und unser TAO in Richtung Software Entwicklung und Software Betrieb:
Pragmatismus
Automatisierung durch Codifizierung
Versionierung durch Codifizierung
Immutability
Workflows, nicht Technologien
Resiliente Systeme
Einfach, modular, composable
Cloud-Native Maturity ausbauen
Die genannten Punkten sind für uns keine Marketing-Buzzwords, sondern ermöglichen unseren Kunden einen klaren Wettbewerbsvorteil bei der Auslieferung und dem Betrieb von Software, dank dem Erreichen von:
Höhere Softwarequalität durch Automatisierung auf allen Ebenen
Mehr Synergien zwischen Entwicklung, Betrieb, Security und (Abnahme-)Tests
Vereinfachte Integration neuer Features und beschleunigte kontinuierliche Bereitstellung von Releases in voller Rücksichtnahme auf bestehende GRC-Vorgaben
Ständige und kontinuierliche Verbesserungen
Wie läuft dieser Zwischenstopp ab?
Der wesentlichste Schritt ist die Einführung von Automatisierung auf allen Ebenen, von der Infrastruktur über Scans und Tests bis hin zur Softwarebereitstellung mit "Everything-as-Code".
Dabei unterstützen unveränderliche Artefakte und semantische Versionierung erheblich. Da so eine umfassende Reproduzierbarkeit und Rückverfolgbarkeit ermöglicht wird.
Bei vielen unserer Kunden besteht die Notwendigkeit in den Delivery-Prozess jederzeit manuell eingreifen zu können. Daher entwickeln wir entsprechende Prozesse immer mit dem Grundsatz "automatisierte und kontinuierliche Delivery wann immer möglich, aber mit definierten Exit-Points".
Wurde der skizzierte Schritt begangen ist es in weiterer Folge auf einfache Art und Weise möglich, Änderungen schrittweise bspw. unter Verwendung von Canary Releases oder Feature Flagging einzuführen.
Um dieses Thema noch weiter zu vertiefen, werden wir im nächsten Blog-Post darauf eingehen, was GitOps ist, wie es beim Erreichen der genannten Punkte hilft und wie dieses ideal mit ArgoCD realisiert werden kann.
コメント