CREDITO FONDIARIO
- CONTESTO E OBIETTIVI - Abbiamo supportato Credito Fondiario (Banca CF+) nella gestione del ciclo di vita del software, progettando processi e strumenti per rendere sviluppo e rilascio più efficienti, rafforzando l'approccio DevOps attraverso automazione e collaborazione tra team.
- SOLUZIONI IMPLEMENTATE - Abbiamo implementato rilasci automatizzati con Ansible e Artifactory, integrato archivi Maven e Npm per gestione dipendenze, integrato SonarQube per controllo continuo della qualità del codice, e stabilito pipeline CI/CD complete con Jenkins e GitLab.
- SFIDE - Il progetto presentava moduli interconnessi con dipendenze complesse, team di nuova acquisizione da allineare, e stack tecnologici diversificati che richiedevano compatibilità e coerenza.
- SUCCESSI - Abbiamo implementato una pipeline di rilascio unificata end-to-end, ottenuto scalabilità perfetta tra applicazioni con adozione progressiva, e garantito coerenza e affidabilità a ogni livello attraverso pratiche standardizzate.
- TECNOLOGIE - Artifactory, JFrog, Maven & Npm repositories, SonarQube, Jenkins, GitLab.
APPROFONDISCI
CONTESTO E OBIETTIVI
Credito Fondiario (noto come Banca CF+) è un istituto bancarioitaliano con sede a Roma. Li abbiamo supportati con consulenza specializzata per aiutarli a stabilire basi solide per la gestione del ciclo di vita del software.
Il nostro lavoro si è concentrato sulla progettazione di processi pratici e sulla scelta degli strumenti giust per rendere lo sviluppo e il rilascio più fluidi ed efficienti. Abbiamo anche contribuito a rafforzare il loro approccio DevOps migliorando l' automazione, semplificando i flussi di lavoro e incoraggiando una collaborazione più stretta tra i team di sviluppo e operazioni.
Questi miglioramenti hanno posto le basi per una consegna del software più veloce, affidabile e per un successo a lungo termine.
SOLUZIONI IMPLEMENTATE
- Rilasci Automatizzati e Ripetibili con Ansible e Artifactory: sviluppati potenti attività di automazione Ansible per snellire e standardizzare i processi di rilascio, garantendo versioni più rapide e prive di errori integrate perfettamente con JFrog Artifactory per la gestione degli artefatti.
- Integrazione Robusta con gli Archivi Maven: abilitata gestione fluida delle dipendenze e risoluzione degli artefatti per progetti basati su Java, migliorando l' efficienza di compilazione e la coerenza tra gli ambienti.
- Integrazione Perfetta con gli Archivi Npm: supportati flussi di lavoro moderni per frontend e basati su Node.js incorporando archivi npm, garantendo gestione affidabile dei pacchetti tra i team.
- Controllo Continuo della Qualità del Codice con SonarQube: integrato SonarQube nella pipeline per fornire analisi automatizzata e in tempo reale della qualità del codice e del debito tecnico, promuovendo le pratiche migliori e una manutenzione semplificata del codice.
- Gestione Integrata Completa CI/CD con Jenkins e GitLab: stabilite pipeline di integrazione e consegna continua affidabili e scalabili che combinano la flessibilità di Jenkins con la potenza collaborativa di GitLab, accelerando cicli di sviluppo pur mantenendo alti standard di consegna.
SFIDE
- Dipendenze Complesse tra Moduli: il progetto richiedeva lo sviluppo di diversi moduli interconnessi, ciascuno dipendente dagli altri, il che ha aggiunto complessità tecnica e costi di coordinamento.
- Integrazione di Team di Nuova Acquisizione: sono stati coinvolti team provenienti da acquisizioni recenti portando competenze preziose ma richiedendo anche allineamento aggiuntivo nei flussi di lavoro, strumenti e comunicazione.
- Stack Tecnologici Diversificati: moduli e tea diversi utilizzavano varie tecnologie, il che ha introdotto sfide nel garantire compatibilità
SUCCESSI
- Implementazione di una Pipeline di Rilascio Unificata e Semplificata: abbiamo stabilito un processo di rilascio robusto end-to-end, portando chiarezza, efficienza e controllo alla consegna del software in tutto l'ecosistema.
- Ottenuta una Scalabilità Perfetta tra le Applicazioni: l' approccio al rilascio è stato progettato per essere adottato progressivamente, consentendo l'implementazione fluida su tutte le applicazioni con attrito minimo e impatto massimo.
- Coerenza e Affidabilità Garantite a Ogni Livello: standardizzando le pratiche di rilascio, abbiamo assicurato che ogni modulo e componente— indipendentemente dalla tecnologia o dal team— fosse consegnato con lo stesso alto livello di qualità, stabilità e tracciabilità.