Milestone Systems wurde 1998 von den dänischen Ingenieuren John Blem und Henrik Friborg Jacobsen gegründet und ist ein führender Anbieter von Video-Management-Software (VMS) für offene Plattformen. Das Unternehmen hat seinen Hauptsitz im dänischen Brøndby und ist mit mehr als 30 Niederlassungen weltweit tätig. Es ist auf datengestützte Videotechnologielösungen spezialisiert, die Unternehmen und Organisationen in verschiedensten Branchen unterstützen, darunter Behörden, Stadtüberwachung, Einzelhandel, Transportwesen, Finanzwesen, Gaming und Bildung.
Kurz gesagt
Einheitliche Build-Lösung
Eine zentrale, einheitliche CI/CD-Lösung für den Build aller Komponenten des Kernprodukts geschaffen, die Konsistenz und Compliance sicherstellt.
CI/CD-Pipelines von TeamCity zu GitHub Actions migriert und damit Integrations- und Automatisierungsmöglichkeiten verbessert.
Unternehmen
Milestone Systems ist ein globales Softwareunternehmen, das sich auf datengestützte Videotechnologielösungen spezialisiert hat. Diese unterstützen Unternehmen und Organisationen in verschiedenen Branchen, darunter Behörden, städtische Überwachung, Einzelhandel, Transport, Finanzwesen, Gaming und Bildung.
Herausforderung
Die Anforderungen zur Einhaltung der US Executive Order 14028 zur Cybersicherheit machten deutlich, dass Milestone Systems seine Toolchain modernisieren sowie Rückverfolgbarkeit und Sicherheit gewährleisten musste. Das Unternehmen benötigte eine agilere, skalierbare und moderne Architektur und wollte Entwicklungsteams sowie die eingesetzten Sicherheitstools aufeinander abstimmen. Die Arbeitsweisen der Teams unterschieden sich, und es gab keine gemeinsamen Sicherheitstools – das betraf auch die CI/CD-Pipelines und Toolchains.
Lösung
Installation und Konfiguration einer produktionsreifen Toolchain.
Implementierung von Source- und Binary-Scans sowie Integration von Tools für das Abhängigkeitsmanagement in die Pipelines.
Implementierung von Git und modernem Feature Branching.
Signierung verifizierter Pakete ergänzt.
Secrets in Azure Key Vault überführt.
Voraussetzungen für modulare Builds geschaffen.
Das Platform-Team geschult und befähigt.
Vorteile
Einhaltung der US Executive Order 14028 durch verbesserte Rückverfolgbarkeit, Datenresidenz und Sicherheit der Softwarelieferkette.
Bereitschaft für beschleunigte Release-Zyklen durch die Beseitigung von Ineffizienzen und Abhängigkeiten in den CI/CD-Pipelines.
Bessere Zusammenarbeit und mehr Eigenständigkeit der Teams durch die Einführung von Git und Feature Branching, was eine effizientere parallele Entwicklung ermöglicht.
Geringeres Risiko von Sicherheitsverletzungen durch die Zentralisierung der Secrets-Verwaltung in Azure Key Vault.
Bessere Skalierbarkeit und Wartbarkeit des Systems durch modulare Builds und Unterstützung beim Übergang zu einer agileren, lose gekoppelten Architektur.
Die Herausforderung: Softwareentwicklung transformieren und gleichzeitig Sicherheit und Compliance gewährleisten
Milestone wandte sich mit einer modernen und ambitionierten Technologiestrategie an Eficode und stand dabei vor einer vielschichtigen Herausforderung in den Bereichen Softwareentwicklung, Sicherheit und Compliance. Es war entscheidend, dass die bei Kunden weltweit eingesetzte Software höchsten Sicherheitsstandards entsprach. Dazu mussten Schwachstellen vermieden werden – insbesondere solche, die durch Drittanbieter- und Open-Source-Komponenten entstehen. Dies erforderte zuverlässiges Binary Scanning und Dependency Management. Die angestrebte Transformation umfasste den Übergang zu einer agileren und skalierbaren Architektur, die Auflösung monolithischer Infrastruktur und die Einführung einer lose gekoppelten Architektur.
Im Zentrum dieser Transformation stand die Migration zu GitHub Enterprise. Dafür mussten die TeamCity- und TFS-Systeme abgelöst, Pipelines aufgebaut sowie die Komplexität der großen Codebasis und individueller Konfigurationen bewältigt werden. Die Einhaltung der US-amerikanischen Executive Order 14028 zur Cybersicherheit – insbesondere in Bezug auf Rückverfolgbarkeit, Datenresidenz und die Software Supply Chain – stand im Mittelpunkt von Milestones Zielen, neue Chancen auf dem US-Markt zu erschließen und das Umsatzwachstum voranzutreiben.
Eficode erhielt den Auftrag, eine neue, Compliance-konforme Toolchain aufzubauen, die Milestones ambitioniertes Wachstum unterstützt. Gleichzeitig sollten die bestehende Infrastruktur in die Cloud migriert und die umfangreichen Codebasen modernisiert werden. Eficode musste sicherstellen, dass die Produkte strenge regulatorische Anforderungen erfüllen. Dazu galt es, die Teams aus Entwicklung, Platform Engineering und Infrastruktur auf ein gemeinsames Ziel auszurichten. Die Migrationsstrategie sollte eine Kultur von Continuous Integration und Continuous Delivery fördern und zugleich den Abbau und das Refactoring technischer Schulden ermöglichen. Ziel war es, containerbasierte Entwicklung, Microservices und Trunk-based Development einzuführen, um Agilität und Reaktionsfähigkeit zu steigern.
Ein integriertes, leistungsstarkes Ökosystem schaffen
Eficodes Vorschlag zielte darauf ab, die Prozesse für Versionskontrolle und CI/CD zu modernisieren und so eine agilere und skalierbare Architektur zu ermöglichen. Ein wesentlicher Teil dieser DevOps-Transformation war die Schaffung einer zentralen Lösung für den Build aller Komponenten mit Trunk-based Development. Dieser Ansatz vereinfachte das Branching und ermöglichte Self-Service für Entwicklung und Feature Branching.
Eficode erfüllte Milestones Anforderungen an Infrastruktur und SCM, damit die On-Premises-, Cloud- und Managed Services-Umgebungen robust und Compliance-konform sind. Dabei ging es nicht nur darum, die heutigen Anforderungen zu erfüllen, sondern auch eine Zukunft zu schaffen, in der Milestones Produkte und Prozesse marktreif, sicher und skalierbar sind – im Einklang mit den zentralen Werten und der langfristigen Vision des Unternehmens.
Das Projekt stand bei der Modernisierung der Softwareentwicklung mit integrierter Sicherheit und Compliance vor verschiedenen Herausforderungen. Ausgangspunkt war ein bewährtes, aber komplexes System für Versionskontrolle und Builds in TFS, das in der gesamten Entwicklungsorganisation erhebliche Schwierigkeiten verursachte. Die Teams hatten Probleme mit Self-Service bei Branching-Strategien und der Verwaltung eines ineffizienten CI/CD-Prozesses in TeamCity.
Da nur ein Build-Team dies unterstützte, entstanden häufig Engpässe. Zudem war die Testautomatisierung monolithisch, was zu einer starken Abhängigkeit von ihrer zukünftigen Effizienz und Nachhaltigkeit führte. Der Großteil der Testautomatisierung bestand aus End-to-End-Tests. Die Abhängigkeit von der UI führte zu langen Ausführungszeiten und verlängerte die Feedbackschleife zur Entwicklung. Darüber hinaus war die Sicherstellung von Compliance, insbesondere für den US-Markt, entscheidend, um neue Geschäftschancen zu erschließen – mit der bestehenden Toolchain jedoch schwer umzusetzen. Milestone hatte insgesamt mehr als 400 Entwickler.
Die Lösung: Versionskontrolle, CI/CD und verbesserte Testprozesse
Um die Compliance mit der US-amerikanischen Executive Order 14028 zu unterstützen und die Modernisierung der Architektur voranzutreiben, arbeitete Eficode mit Milestone Systems zusammen, um eine sichere, skalierbare und zukunftssichere Entwicklungsumgebung bereitzustellen. Die umfassende Migration der Toolchain wurde innerhalb von acht Monaten umgesetzt. Sie vereinfachte die Zusammenarbeit, verbesserte die Sicherheit der Software Supply Chain und stattete Milestones Teams mit modernen CI/CD-Funktionen und nachhaltigen Entwicklungspraktiken aus.
Bei der Versionskontrolle konzentrierte sich Eficode auf Trunk-based Development, die Migration zur GitHub Enterprise Platform und die Einführung von Self-Service:
Trunk-based Development
Eine Trunk-based-Development-Strategie wurde umgesetzt, um den Entwicklungsprozess zu vereinfachen.
Die Branching-Strategien wurden vereinfacht, sodass Teams ihren Code leichter verwalten und effektiv zusammenarbeiten können.
Migration zur GitHub Enterprise Platform
Der Wechsel von TFS zur GitHub Enterprise Platform ermöglichte die Nutzung erweiterter Funktionen für die Versionskontrolle.
Das Monorepo wurde in logische Komponenten aufgeteilt, die jeweils in einem eigenen Repository liegen.
Self-Service ermöglichen
Die Teams können ihre Branches nun selbst verwalten. Das fördert ihre Eigenständigkeit und reduziert die Abhängigkeit von zentraler Steuerung. Feature Branching wurde eingeführt, um parallele Entwicklung zu unterstützen und die Bereitstellung neuer Features zu beschleunigen.
Bei CI/CD konzentrierten wir uns auf den Aufbau einer einheitlichen Lösung und Kundenkompetenzen sowie auf eine unterstützende Teamrolle und verbesserte Testprozesse:
Einheitliche Build-Lösung
Eine zentrale, einheitliche CI/CD-Lösung für den Build aller Komponenten des Kernprodukts wurde geschaffen, um Konsistenz und Compliance sicherzustellen.
Die CI/CD-Pipelines wurden von TeamCity zu GitHub Actions migriert, wodurch sich Integrations- und Automatisierungsmöglichkeiten verbesserten.
Unterstützende Rolle des Build-Teams
Das Build-Team wechselte von der direkten Steuerung und Bedienung der Toolchain in eine Rolle im Platform Engineering.
Das Build-Team stellt nun Richtlinien und Ressourcen bereit und fungiert als Enabler, der reibungslosere Entwicklungsprozesse ermöglicht.
Zusätzlich konzentrierte sich Eficode auf verbesserte Testprozesse mit integrierter Testautomatisierung, die nun als Quality Gate für die neuen CI/CD-Pipelines dient und kontinuierliches Testen sowie Qualitätssicherung gewährleistet. Durch die geringere Abhängigkeit von UI-basierten Tests verkürzten sich Ausführungszeiten und Feedback-Schleifen, was die Gesamteffizienz verbesserte.
Die Umsetzung der Lösung erfolgte in enger Zusammenarbeit zwischen Milestone und Eficode. So konnte Eficode schnell auf Herausforderungen reagieren und gemeinsam mit Milestone die Wissensbasis aufbauen.
Die Zusammenarbeit mit Eficode war für Milestone sehr wertvoll und hat uns dabei geholfen, bedeutende Fortschritte zu erzielen. Dank ihrer Expertise und ihrer Fähigkeit, auf Basis des Inputs unseres Teams klare Entscheidungen zu treffen, konnten wir die richtigen Tools auswählen und die bestmöglichen Prozesse implementieren.
Zusammenfassend umfasste die Umsetzung:
Migration zur GitHub Enterprise Platform
Die bestehende Versionsverwaltung wurde bewertet und der Übergang geplant.
Die Migration wurde nach Agile-Prinzipien umgesetzt, einschließlich der Zusammenstellung des Monorepos und der Einrichtung neuer Repositories.
Die Einhaltung der EO-Anforderungen an die Cybersicherheit wurde sichergestellt.
CI/CD-Transformation
Die CI/CD-Pipelines wurden von TeamCity zu GitHub Actions migriert.
Wir bauten Kundenkompetenzen auf, indem wir Teams bei GitHub Actions unterstützten, Golden Pipelines entwickelten, containerisierte Runner bereitstellten und gemeinsam mit Entwicklern ihre neuen Self-Service-Umgebungen erstellten.
Die Rolle des Build-Teams wurde neu definiert, um Entwicklungsteams zu unterstützen und zu befähigen.
Verbesserte Testprozesse
Die Testautomatisierung wurde in die neuen CI/CD-Pipelines integriert.
Die Abhängigkeit von UI-basierten Tests wurde reduziert, um Ausführungszeiten und Feedback-Schleifen zu verkürzen.
Implementierung von Source- und Binary-Scanning
Codequalität und Scanning wurden durch die Implementierung von SonarQube verbessert.
Artifactory-Management und Open-Source-Governance mit Sonatype Nexus, Firewall und Lifecycle
Verbesserte Sicherheitslage durch Secrets Management
Implementierung von Azure Key Vault und Cosign.
Das Ergebnis: Deutliche Verbesserungen bei Effizienz, Agilität, Compliance und Sicherheit
Die Transformation führte zu mehreren deutlichen Verbesserungen:
Effizienz und Agilität
Die Entwicklungsteams gewannen durch Self-Service-Branching und CI/CD-Pipelines an Autonomie. Schnellere Feedbackschleifen und weniger Engpässe steigerten die Gesamtproduktivität.
Compliance und Sicherheit
Die Compliance mit den US-amerikanischen Cybersicherheitsanforderungen wurde erreicht und eröffnete neue Marktchancen.
Skalierbarkeit
Die neue Architektur und die neuen Prozesse unterstützten zukünftiges Wachstum und Skalierbarkeit.
Die Zusammenarbeit zwischen Eficode und Milestone Systems unterstrich die Bedeutung von Schulungen: Wenn Teams frühzeitig neue Kompetenzen aufbauen, gelingen Übergänge reibungsloser und neue Tools werden besser angenommen. Kontinuierliche Kommunikation zwischen Teams und Stakeholdern ist entscheidend für eine erfolgreiche Migration und Transformation. Eine unterstützende Infrastruktur, die das Build-Team in eine unterstützende Rolle überführt, hilft zudem dabei, den Fokus auf Innovation und kontinuierliche Verbesserung zu bewahren.
- DevOps
- Platform engineering
Get in touch
Related client stories