efDevOps è una metodologia di sviluppo software relativamente nuova che raccoglie in un unico contesto processi e pratiche che riguardano lo sviluppo del software, il testing automatico , configuration management, integrazione, deploy, operations e service management.

In particolare i processi di DevOps insistono sulla comunicazione, la collaborazione e l'integrazione tra sviluppatori di software e personale addetto alle operazioni con lo scopo di velocizzare il deploy di nuovi sistemi o di nuove funzioni in sistemi esistenti garantendo la qualità dei rilasci.

DevOps è la risposta all’interdipendenza tra lo sviluppo e operation di sevizi IT. Con il termine devop si indica spesso anche una figura professionale in grado di operare in questo contesto, ovvero uno sviluppatore software in grado di farsi carico anche delle tematiche di deploy ed operation della soluzione sviluppata, almeno limitatamente agli ambienti di test ed integrazione.

I processi di DevOps nascono per supportare lo sviluppo di web applications realizzate secondo il paradigma SaaS (Software as a Service) e hanno avuto grande successo in team che utilizzano metodologie agili. Le pratiche di DevOps si sono poi estese ad altri domini dell’ ICT quali APIs, motori, apps, etc.
Oggi processi di devop sono in uso nella quasi totalità delle startup di successo e nei principali progetti open source. Molte sono le aziende che cominciano ad adottare queste tecniche anche all’interno dei gruppi di sviluppo legacy.

E-Artspace lavora da oltre sei anni in questo contesto e ha avuto modo di sperimentare i tools e le metodologie DevOps in tutti i progetti da lei presidiati. In particolare nel corso del 2014 ha formalizzato il proprio approccio verso le tecnologie DevOps come parte del progetto eKEES (tuttora in corso) che ha portato al rilascio della nuova piattaforma LinkedData.Center avvenuta ad inizio di quest’anno.

I processi di DevOps che sono stati disegnati ed implementati in E-Artspace coinvolgono:

  • La gestione del codebase, ovvero del repository software, attraverso best practice di configuration e branching management
  • La gestione delle dipendenze del codice da fonti esterne (librerie, dati)
  • La gestione delle dipendenze da backing services, ovvero da servizi esterni necessari al funzionamento dei sistemi
  • La gestione dei test automatici
  • Il setup automatico delle infrastuttura (infrastructure as a code) in ambienti virtuali
  • La gestione dei log
  • La continuous integration
  • Il continuous deploy
  • Il project quality monitoring

Per tutti questi i processi sono stati selezionati tool specifici.

Le esperienze maturate in ambito DevOps si sommano alle competenze in ambito di SW engineering e testing e service management che da sempre caratterizzano e-artspace