Testimonianze dei clienti Siemens
+

La scelta di Siemens: costruire una cultura DevOps open-source con GitLab

Processo di sviluppo più efficiente
Risparmio di costi e tempo
Maggiore collaborazione
Settore Tecnologia
Dipendenti Oltre 25.000
Località 190 Paesi
Soluzione

Vuoi scoprire i vantaggi di GitLab Ultimate per il tuo team?

Prova Ultimate gratis

Siemens utilizza GitLab per migliorare l'efficienza degli sviluppatori e soddisfare al meglio le esigenze dei clienti.

Grazie a GitLab SCM, alla CI/CD e all'adozione di una metodologia DevOps, Siemens ha ottimizzato i flussi di lavoro organizzativi e migliorato la collaborazione fra i team.

Il nostro obiettivo era promuovere una cultura open-source e, a oggi, possiamo dire di averlo raggiunto. Grazie alla CI/CD, siamo in grado di sviluppare un milione e mezzo di build ogni mese. Si tratta di un cambiamento radicale dal punto di vista della cultura aziendale.
- Fabio Huser, Architetto del software presso Siemens Smart Infrastructure, Siemens

Pioniera mondiale dell'innovazione

Fondata nel 1847 in Germania e più precisamente a Berlino, Siemens era in origine una piccola officina artigianale. Oggi, Siemens AG (Berlino e Monaco di Baviera) è una potenza tecnologica globale, da oltre 170 anni sinonimo di eccellenza ingegneristica, innovazione, qualità, affidabilità e internazionalità. Attiva in tutto il mondo, l'azienda si concentra sullo sviluppo di infrastrutture intelligenti per edifici e sistemi energetici distribuiti e sull'automazione e la digitalizzazione nei settori manifatturiero e industriale.

Siemens riunisce il mondo digitale e quello fisico a vantaggio dei clienti e della società nel suo complesso. Attraverso Mobility, fornitore leader di soluzioni di mobilità intelligenti per reti stradali e ferroviarie, Siemens sta contribuendo a plasmare il mercato mondiale dei servizi di trasporto merci e passeggeri. Tramite la sua quota di maggioranza in Siemens Healthineers, una società quotata in borsa, Siemens è anche leader mondiale nella fornitura di strumenti tecnologici e servizi digitali in ambito sanitario.

Inoltre, detiene una partecipazione di minoranza in Siemens Energy, leader globale nella trasmissione e generazione di energia elettrica, quotata in borsa dal 28 settembre 2020. Nell'esercizio 2019, conclusosi il 30 settembre dello stesso anno, il Gruppo Siemens ha generato ricavi per 58,5 miliardi di euro e un utile netto di 5,6 miliardi di euro. Al 30 settembre 2019, la società impiegava circa 295.000 dipendenti nelle sue attività principali in tutto il mondo

Un'azienda di grandi dimensioni con esigenze su larga scala

Con un bacino di oltre 20.000 sviluppatori, Siemens si articola in più organizzazioni che operano in diversi settori e si concentrano principalmente su iniziative business-to-business. Secondo Fabio Huser, architetto del software dell'azienda, la sfida consisteva nel costruire una cultura DevOps attorno a una struttura societaria frammentaria e, per certi versi, simile a una federazione composta da più stati.

Per raggiungere il proprio obiettivo, Siemens aveva bisogno di una piattaforma DevOps che le permettesse di migliorare la collaborazione fra i team, garantire una maggiore trasparenza e gestire il codice nel modo corretto: in altre parole, una community per i dipendenti in tutto il mondo e un'unica fonte di riferimento nell'ambito della programmazione. Per questa ragione, Siemens ha richiesto agli sviluppatori di dimostrare un'attitudine collaborativa, una conoscenza completa dello stack tecnologico, l'esperienza necessaria come collaboratori open-source e la disponibilità di una piattaforma scalabile e capace di espandersi o evolversi autonomamente. L'idea ispiratrice per un flusso di lavoro migliorato non poteva prescindere dalla capacità di collaborare allo sviluppo del codice e di condividerlo in pochi minuti, di accelerare il time-to-market, di instillare negli sviluppatori un senso di responsabilità verso il proprio lavoro e di gettare le basi tecnologiche per i futuri modelli di business.

L'open-source come primo passo

Un piccolo team all'interno di Siemens ha adottato GitLab nel 2013 per migliorare la collaborazione e sfruttare il controllo della versione, al fine di sviluppare dispositivi embedded basati su Linux. Adottando un tipico approccio dal basso, il team ha iniziato coinvolgendo tutta l'azienda, incrementando il numero di utenti della piattaforma fino a oltre 40.000 utilizzatori. La piattaforma DevOps consente a team diversi di lavorare allo stesso progetto con la possibilità di condividere il codice in pochi minuti e di collaborare facilmente da ogni parte del mondo.

"Il mondo-open source genera strumenti sempre nuovi ogni settimana. Ma alla fine dei conti, bisogna cercare di risolvere il problema tenendo in considerazione le persone che ci lavorano. La collaborazione è fondamentale, mentre lo strumento utilizzato ha un'importanza secondaria", afferma Huser. "Grazie a GitLab, abbiamo trovato uno strumento che ci permette di mettere in pratica questi principi. Il successo di un'attività dipende dalle persone che vi sono coinvolte, ragion per cui dovevamo creare una community sinergica all'interno di Siemens".

Nel 2015, il team code.siemens.com ha deciso di orientarsi verso l'implementazione della CI/CD in ambiente DevOps, adottando un approccio pragmatico e flessibile (inizialmente chiamato "junkyard computing") per gestire l'integrazione dei componenti open-source. "Grazie alla facilità d'uso del runner GitLab, è possibile configurare nuove macchine in pochi minuti", afferma Huser. "Se si dispone di macchine vecchie inutilizzate ma anche di un buon setup di rete, si possono letteralmente configurare nuovi runner e funzionalità nel giro di un minuto. È piuttosto conveniente".

Codice, collaborazione e community

Oggi, code.siemens.com ha la sua infrastruttura IT in hosting su AWS. Abbandonato l'approccio "junkyard computing" in quanto non più necessario, code.siemens.com è ormai un servizio ben consolidato che si regge su una vasta community di sviluppatori interni messi a disposizione dalla divisione tecnologica di Siemens.

L'infrastruttura è stata perfezionata fino a raggiungere livelli molto elevati di efficienza e raffinatezza, con un numero ingente di istanze EC2 che vengono gestite complessivamente come Infrastructure as Code. Inoltre, vengono utilizzate soluzioni SaaS come S3, RDS, ElastiCache, EFS ed ELB, che possono essere sostituite con strumenti e servizi open-source standard in modo da ridurre al minimo i vincoli al fornitore. GitLab è in hosting su AWS insieme a servizi di supporto come i runner CI di GitLab e gli strumenti di monitoraggio, accesso, segnalazione degli arresti anomali, solo per citarne alcuni. Dall'adozione di GitLab, Siemens ha superato i 38 milioni di build CI. "I dipendenti che lavorano in Siemens possono collaborare attingendo a diversi repository condivisi. Il nostro obiettivo era promuovere una cultura open-source e, ad oggi, possiamo affermare di averlo raggiunto. Grazie alla CI/CD, siamo in grado di sviluppare un milione e mezzo di build ogni mese. Si tratta di un cambiamento radicale dal punto di vista della cultura aziendale", afferma Huser.

GitLab permette a Siemens di risparmiare tempo e denaro, in quanto non è più necessario gestire le patch applicate localmente o aggiornare manualmente le correzioni. Il team di code.siemens.com segue un flusso di lavoro "upstream first". "Non utilizziamo patch. Eseguiamo solo il deployment delle versioni upstream, e questo è quanto. Se abbiamo bisogno di nuove funzionalità, le proponiamo nel progetto ospitato su GitLab. Non applichiamo patch alla nostra istanza", afferma Roger Meier, Principal Key Expert e Service Owner della piattaforma code.siemens.com di Siemens. "Non appena il merge viene eseguito upstream, si passa al deployment della versione successiva. In questo modo, possiamo distribuire il codice a cadenza mensile. Siamo in grado di eseguire quattro deployment in produzione al mese".

La piattaforma code.siemens.com è gestita da un team di sole otto persone distribuite in quattro Paesi diversi e che lavorano in modo estremamente flessibile. Tutti i membri del team adottano un approccio open-source. Offrono orientamento e formazione, nonché supporto e indicazioni alla community interna degli sviluppatori, oltre ad amministrare l'intera infrastruttura e l'applicazione. Usano GitLab giorno per giorno per gestire tutte le loro attività. Tutti i membri del team contribuiscono e/o gestiscono diversi progetti open-source, fornendo al contempo un servizio affidabile all'intera community di sviluppatori Siemens con l'obiettivo di soddisfarne le esigenze su scala più ampia.

La collaborazione tocca tutti i livelli dell'organizzazione, che conta oltre 40.000 utenti GitLab in potenziale aumento. GitLab supporta Siemens non solo nel gestire efficacemente la crescita e l'espansione delle operazioni interne ma anche nell'identificare, comprendere e rispondere alle esigenze dei clienti. "I nostri clienti e sviluppatori vogliono semplicemente usufruire di un servizio affidabile e sempre in funzione", aggiunge Meier.

I team Siemens forniscono un contributo importante a GitLab, alla luce delle 150 richieste di merge eseguite. Inoltre, Huser e Meier sono stati insigniti dei titoli di GitLab Heroes e GitLab MVP. I team non solo utilizzano la piattaforma DevOps ma sono orgogliosi delle proprie competenze, al punto tale da non dover ricorrere al team di supporto messo a disposizione da GitLab. "Fin dall'inizio, abbiamo discusso delle nostre idee e della roadmap affinché fossero ben chiare a tutte le persone che lavorano nell'azienda. Comunicare è fondamentale. E naturalmente, il cliente occupa il primo posto: il nostro è un prodotto creato da sviluppatori per soddisfare le esigenze di altri sviluppatori", conclude Meier.

Tutte le informazioni e le persone coinvolte nel case study rappresentano fedelmente la situazione reale al momento della pubblicazione.

Prova GitLab

Scopri cosa può fare il tuo team con un'unica piattaforma di distribuzione del software.

Ottieni la prova gratuita
Headshots of three people

Hai domande? Siamo qui per aiutarti.

Parla con un esperto