Milestone Systems grundades 1998 av de danska ingenjörerna John Blem och Henrik Friborg Jacobsen och är en ledande leverantör av programvara för videohantering (VMS) med öppen plattform. Milestone Systems har sitt huvudkontor i Brøndby i Danmark och är verksamt globalt med över 30 kontor världen över. Företaget specialiserar sig på datadrivna videotekniklösningar som ger organisationer inom flera branscher rätt förutsättningar, däribland offentlig sektor, stadsövervakning, handel, transport, finans, spel och utbildning.
Kort sagt
Enhetlig build-lösning
Skapade en enda, enhetlig CI/CD-lösning för att bygga alla komponenter i kärnprodukten och säkerställa konsekvens och compliance.
Migrerade CI/CD-pipelines från TeamCity till GitHub Actions, vilket förbättrade möjligheterna till integration och automatisering.
Företag
Milestone Systems är ett globalt mjukvaruföretag som specialiserar sig på datadrivna videotekniklösningar som hjälper organisationer inom olika branscher, däribland myndigheter, stadsövervakning, handel, transport, finans, spel och utbildning.
Utmaning
Milestone Systems behövde följa amerikanska Executive Order 14028 om cybersäkerhet, vilket skapade ett behov av att modernisera verktygskedjan och säkerställa spårbarhet och säkerhet. Företaget behövde en mer Agile, skalbar och modern arkitektur samt bättre samordning mellan utvecklingsteamen och de säkerhetsverktyg som användes. Teamens arbetssätt skilde sig åt och det fanns inga gemensamma säkerhetsverktyg – detta gällde både CI/CD-pipelines och verktygskedjorna.
Lösning
Installation och konfiguration av en verktygskedja för produktionsmiljö.
Implementering av källkods- och binärskanning samt tillägg av verktyg för beroendehantering i pipelines.
Implementering av Git och modern feature branching.
Tillägg av signering för verifierade paket.
Flytt av hemligheter till Azure KeyVault.
Tillägg av stöd för modulära builds.
Utbildning av plattformsteamet och att ge teamet rätt förutsättningar.
Fördelar
Efterlevnad av amerikanska Executive Order 14028 genom förbättrad spårbarhet, datalagring inom rätt region och säkerhet i mjukvaruleveranskedjan.
Beredskap för snabbare leveranscykler genom att eliminera ineffektivitet och beroenden i CI/CD-pipelines.
Förbättrat teamsamarbete och ökad självständighet genom införandet av Git och feature branching, vilket möjliggör effektivare parallell utveckling.
Minskad risk för säkerhetsintrång genom att centralisera hanteringen av hemligheter i Azure Key Vault.
Förbättrad skalbarhet och förvaltningsbarhet i systemet genom modulära builds och stöd för en övergång till en mer Agile, löst kopplad arkitektur.
Utmaningen: Att transformera mjukvaruutvecklingen med bibehållen säkerhet och regelefterlevnad
Milestone kontaktade Eficode med en modern och ambitiös teknikstrategi och stod inför en mångfacetterad utmaning inom mjukvaruutveckling, säkerhet och regelefterlevnad. Det var avgörande att säkerställa att deras programvara, som används av kunder över hela världen, uppfyllde de högsta säkerhetskraven. Det innebar att undvika sårbarheter, särskilt sådana som uppstår genom tredjeparts- och open source-komponenter, vilket krävde robust binärskanning och hantering av beroenden. Den transformation de såg framför sig omfattade en övergång till en mer Agile och skalbar arkitektur, en uppdelning av monolitisk infrastruktur och en löst kopplad arkitektur.
Kärnan i denna transformation var en migrering till GitHub Enterprise, vilket krävde en flytt från systemen TeamCity och TFS, uppbyggnad av pipelines samt hantering av komplexiteten i den stora och avancerade kodbasen och kundanpassade konfigurationer. Efterlevnad av USA:s Executive Order 14028 om cybersäkerhet, som rör spårbarhet, dataresidens och mjukvaruleveranskedjan, stod högt på Milestones agenda för att öppna nya möjligheter på den amerikanska marknaden och öka intäkterna.
Eficode fick i uppdrag att bygga en ny, compliant verktygskedja som skulle stödja Milestones ambitiösa tillväxt, samtidigt som den befintliga infrastrukturen migrerades till molnet och deras omfattande kodbaser förnyades. Eficode behövde säkerställa att produkterna uppfyllde strikta regulatoriska krav. Det innebar att samordna teamen inom utveckling, Platform Engineering och infrastruktur så att de kunde arbeta smidigt mot samma mål. Migreringsstrategin skulle främja en kultur av Continuous Integration och Continuous Delivery, samtidigt som den underlättade minskning och refaktorering av teknisk skuld. Målet var att införa containerbaserade metoder, mikrotjänster och trunk-based development för att öka agiliteten och förmågan att agera snabbt.
Ett sammanhållet och högpresterande ekosystem
Eficodes förslag syftade till att modernisera versionshanteringen och CI/CD-processerna för att möjliggöra en mer Agile och skalbar arkitektur. En viktig del av denna DevOps-transformation var att skapa en enda lösning för att bygga alla komponenter med trunk-based development. Detta förenklade branching och gjorde det möjligt med self-service för utveckling och feature branching.
Eficode hanterade Milestones behov inom infrastruktur och SCM för att säkerställa att deras on-prem-lösningar, molntjänster och managed services var robusta och compliant. Det handlade inte bara om att bygga för dagens behov, utan även för en framtid där Milestones produkter och processer är redo för marknaden, säkra och skalbara – i linje med deras kärnvärden och långsiktiga vision.
Projektet ställdes inför flera utmaningar i arbetet med att modernisera mjukvaruutvecklingen med inbyggd säkerhet och regelefterlevnad. Utgångspunkten var ett anrikt och komplext system för versionshantering och builds i TFS, som skapade betydande svårigheter i hela utvecklingsorganisationen. Teamen hade svårt att arbeta med self-service kring branching-strategier och att hantera en ineffektiv CI/CD-process i TeamCity.
Eftersom ett enda build-team stödde detta uppstod ofta flaskhalsar, och testautomatiseringen var monolitisk, vilket skapade ett stort beroende som påverkade framtida effektivitet och hållbarhet. Merparten av testautomatiseringen var end-to-end, och beroendet av UI ledde till långa körtider som förlängde återkopplingsloopen till utvecklingen. Dessutom var det avgörande att säkerställa regelefterlevnad, särskilt för den amerikanska marknaden, för att öppna nya affärsmöjligheter – något som var svårt att uppnå med den befintliga verktygskedjan. Milestone hade totalt fler än 400 utvecklare.
Lösningen: Versionshantering, CI/CD och förbättrade testprocesser
För att stödja efterlevnaden av USA:s Executive Order 14028 och driva moderniseringen av arkitekturen samarbetade Eficode med Milestone Systems för att leverera en säker, skalbar och framtidssäkrad utvecklingsmiljö. Den omfattande migreringen av verktygskedjan genomfördes under åtta månader och effektiviserade samarbetet, förbättrade säkerheten i mjukvaruleveranskedjan och gav Milestones team moderna CI/CD-funktioner och hållbara utvecklingsmetoder.
För versionshantering fokuserade Eficode på trunk-based development, migrering till GitHub Enterprise Platform och att möjliggöra self-service:
Trunk-based development
Införde en strategi för trunk-based development för att effektivisera utvecklingsprocessen.
Förenklade branching-strategierna, så att teamen enklare kunde hantera sin kod och samarbeta effektivt.
Migrering till GitHub Enterprise Platform
Gick från TFS till GitHub Enterprise Platform för att dra nytta av avancerade funktioner för versionshantering.
Delade upp monorepot i logiska komponenter, där varje komponent fick ett eget repository.
Möjliggjorde self-service
Gav teamen möjlighet att hantera sina egna brancher, vilket främjade självständighet och minskade beroendet av central styrning. Införde feature branching för att stödja parallell utveckling och snabba upp releasen av nya funktioner.
För CI/CD fokuserade vi på att bygga en enhetlig lösning och kundfunktioner, samt på en stödjande teamroll och förbättrade testprocesser:
Enhetlig build-lösning
Skapade en enda, enhetlig CI/CD-lösning för att bygga alla komponenter i kärnprodukten och säkerställa konsekvens och regelefterlevnad.
Migrerade CI/CD-pipelines från TeamCity till GitHub Actions, vilket förbättrade integrations- och automatiseringsmöjligheterna.
Stödjande roll för build-teamet
Förändrade byggteamets roll från att direkt styra och hantera verktygskedjan till en Platform Engineering-roll.
Byggteamet tillhandahåller nu riktlinjer och resurser och fungerar som ett kompetenscentrum som möjliggör smidigare utvecklingsprocesser.
Dessutom fokuserade Eficode på förbättrade testprocesser med integrerad testautomatisering, som nu fungerar som en kvalitetsgrind i de nya CI/CD-pipelines och säkerställer kontinuerlig testning och kvalitetssäkring. Beroendet av UI-baserade tester minskades för att förkorta körtider och feedbackloopar samt förbättra den övergripande effektiviteten.
Lösningen implementerades i nära samarbete mellan Milestone och Eficode. Det gjorde det möjligt för Eficode att snabbt hantera utmaningarna och tillsammans bygga upp kunskapsbasen hos Milestone.
Samarbetet med Eficode har varit värdefullt för Milestone och bidragit till betydande framsteg. Deras expertis och förmåga att fatta välgrundade beslut utifrån vårt teams synpunkter säkerställde att vi valde rätt verktyg och implementerade bästa möjliga processer.
Sammanfattningsvis omfattade implementeringen:
Migrering till GitHub Enterprise Platform
Utvärderade den befintliga lösningen för versionshantering och planerade övergången.
Genomförde migreringen på ett Agile sätt, inklusive att skapa monorepot och etablera nya repositories.
Säkerställde efterlevnad av EO:s cybersäkerhetskrav.
CI/CD-transformation
Flyttade CI/CD-pipelines från TeamCity till GitHub Actions.
Vi byggde upp kundens kompetens genom att stötta teamen i GitHub Actions, skapa golden pipelines och containeriserade runners samt samarbeta med utvecklarna kring deras nya self-service-miljöer.
Omdefinierade byggteamets roll för att stötta och ge utvecklingsteamen rätt förutsättningar.
Förbättrade testprocesser
Integrerade testautomatisering i de nya CI/CD-pipelines.
Minskade beroendet av UI-baserade tester för att förkorta körtider och feedbackloopar.
Implementering av scanning av källkod och binärer
Stärkte kodkvaliteten och scanningen genom implementering av SonarQube.
Hantering av Artifactory och styrning av open source med Sonatype Nexus, Firewall och Lifecycle
Stärkte säkerheten med hantering av hemligheter
Implementering av Azure Key Vault och Cosign.
Resultatet: Betydande förbättringar inom effektivitet, Agile, regelefterlevnad och säkerhet
Transformationen resulterade i flera betydande förbättringar:
Effektivitet och Agility
Utvecklingsteamen fick större självständighet genom självbetjäning för branching och CI/CD-pipelines. Snabbare feedbackloopar och färre flaskhalsar förbättrade den övergripande produktiviteten.
Compliance och säkerhet
Uppnådde compliance med amerikanska cybersäkerhetskrav, vilket öppnade nya marknadsmöjligheter.
Skalbarhet
Den nya arkitekturen och de nya processerna stödde framtida tillväxt och skalbarhet.
Samarbetet mellan Eficode och Milestone Systems visade hur viktigt det är med utbildning: Genom att höja teamens kompetens tidigt blir övergångarna smidigare och införandet av nya verktyg bättre. Kontinuerlig kommunikation mellan team och intressenter är avgörande för en lyckad migrering och transformation. Slutligen bidrar en stödjande infrastruktur, där build-teamet får en stödjande roll, till att behålla fokus på innovation och kontinuerlig förbättring.
- DevOps
- Platform engineering
Get in touch
Related client stories