Kanban und Kubernetes

Ausgangslage

Die Novadex GmbH entwickelt Marketingportale für Großunternehmen.

Nach dem erfolgreichen Aufbau der Software und der Marke hatte sich die Entwicklungsgeschwindigkeit verringert. Außerdem war die Betriebsinfrastruktur in die Jahre gekommen und musste erneuert werden.

100 DAYS wurde beauftragt, Verbesserungspotentiale aufzudecken, zu priorisieren und in der Umsetzung zu begleiten.

Ablauf

In einem ersten Schritt hat 100 DAYS in Interviews und Reviews von Sourcecode und Dokumentation den aktuellen Stand der Entwicklung erhoben. Als kritisches Thema wurde dabei die Moderninsierung und Flexibilierung des Hostings identifiziert.

Nach Analyse der Hosting-Anforderungen hat 100 DAYS eine Umstellung auf Kubernetes empfohlen. Die Anwendung wurde dann gemeinsam mit dem Novadex Team zunächst in Services unterteilt und in Container integriert. Danach hat 100 DAYS erste Helm-Charts für ein Deployment der Anwendung auf Kubernetes erstellt und mit dem Team weiterentwickelt. Gemeinsm mit dem Novadex Team wurden in der Folge alle Komponenten der alten Infrastruktur durch Kubernetes-Konzepte abgelöst, die zunächst in einer Entwicklungsumgebung zum Einsatz kamen. Entwicklung und Tests wurden auf Kubernetes ausgeführt während die Produktivumgebung noch im alten Umfeld lief.

Anschließend haben 100 DAYS und Novadex gemeinsam Code-Hosting Optionen evaluiert, um das bestehende Subversion-System abzulösen. Die Wahl fiel auf gitlab und die bestehenden Build- und Deployment Prozesse wurden von der alten Jenkins Löung auf eine gitlab-ci Lösung umgsetellt.

Im Verlauf dieser Umstellungen wurde klar, dass die bisherige Scrum-Basierte Entwicklungsmethodik den Gesamtanforderungen nicht mehr entsprach. 100 DAYS hat ein Kanban-gestütztes System empfohlen, das von Anforderungserhebung bis Rollout und Bugfixing alle Teilprozesse in einen Gesamtprozess zusammenführte. Dieses System wurde schrittweise eingeführt und zuletzt noch durch einen kontinuierlichen Architektur-Verbesserungsprozess ergänzt.

Beitrag 100 DAYS

  • Analyse der bestehenden Software, der Produktivumgebung und der Prozesse

  • Konzeption und Umsetzungs-Unterstützung bei Containerisierung und Kubernetes-Einführung

  • Auswahl und Umzug der Code-Verwaltung von SVN auf git und gitlab

  • Schrittweise Einführung eines optimierten Gesamtprozesses auf Kanban Basis

  • Begleitend jeweils Schulungen des Teams bezüglich der einzelnen Themengebiete

  • Kontinuierliches Coaching

Ergebnisse

  • Flexibles Hosting auf Standard-Infrastruktur (managed Kubernetes)

    • Einfache horizontale Skalierung

    • Abgrenzung von Services

    • On-Premise Option basierend auf Standard-Infrastruktur

  • Containerisierung der Anwendung, dadurch Einführung von Service-Denkweise

    • Ablösung von NFS durch S3

  • Umstellung auf git und gitlab

    • Hosting in der Cloud reduziert Komplexität und Maintenance

    • Einfachere Integration von Tools zur statischen Codeanalyse (Qualität und Security)

    • Einfachere Einbindung von Remote-Entwicklern

    • Höhere Automatisierung durch GitOps

    • Einführung von Feature Branches und Pull-Requests

  • Kanban-Einführung

    • Fokus auf “Flow” statt Auslastung

    • Transparenter Gesamtprozess

    • Reduktion der Mittleren Durchlaufzeit von Workitems auf 10 Tage

    • Mehr Vertrauen und bessere Vorhersagequalität in der Entwicklung

Zurück
Zurück

Computer-Vision auf NVIDIA Jetson

Weiter
Weiter

Service-Quality Network