Una catena di strumenti DevOps è una combinazione di strumenti coinvolti nello sviluppo, distribuzione e più in generale nella gestione delle applicazioni software durante il loro ciclo di sviluppo . Ogni azienda che utilizza il metodo DevOps lo coordina.
In generale, gli strumenti DevOps sono adatti ciascuno per una o più attività che affrontano iniziative DevOps specifiche: pianificazione, creazione, verifica, pacchetto, rilascio, configurazione e monitoraggio.
Nell'industria del software , una toolchain è un insieme di strumenti di programmazione utilizzati per eseguire un'attività complessa nello sviluppo del software per creare software, in genere un altro programma per computer o una serie di programmi correlati. Generalmente, gli strumenti che formano una catena vengono eseguiti successivamente in modo che il prodotto o l'ambiente risultante da uno strumento diventi i dati o l' ambiente di input del successivo. Questo non è necessariamente sempre il caso, tuttavia, e il termine viene utilizzato anche quando si parla di un insieme di strumenti che non vengono eseguiti consecutivamente.
Poiché DevOps è un insieme di metodi che enfatizzano la collaborazione e la comunicazione tra sviluppatori e altri professionisti IT, mentre automatizza i processi di distribuzione del software e le modifiche all'infrastruttura, la sua implementazione può includere una serie di strumenti utilizzati in diverse fasi del ciclo. L'implementazione di DevOps è un cambiamento culturale che richiede collaborazione tra sviluppo (Dev) e operations (Ops), non può esserci un prodotto considerato, da solo, come lo strumento di DevOps. Piuttosto, è una raccolta di strumenti, possibilmente da diversi fornitori, che vengono utilizzati in combinazione in una o più fasi del ciclo.
La pianificazione è in realtà composta da due parti: "definire" e "pianificare". Questo passaggio riguarda il valore aziendale e i requisiti dell'applicazione. Più specificamente, le attività di pianificazione includono la definizione di:
Diverse categorie di specialisti IT sono coinvolte in queste procedure: il proprietario delle applicazioni dell'azienda, gli sviluppatori di software, l'architetto del software, il responsabile dei rilasci di produzione continua, il responsabile della sicurezza e i gestori dell'infrastruttura. Alcune aziende che offrono soluzioni che automatizzano la fase del piano includono Atlassian , CA Technologies , iRise e Jama Software.
La fase Crea include la creazione, la codifica e la configurazione del processo di sviluppo del software. Le attività associate sono:
Gli strumenti e le aziende vendor in questa categoria spesso si sovrappongono a quelli in altre fasi, il che è normale perché DevOps si occupa di scompartimentare i team. Alcune soluzioni e fornitori importanti sono Bitbucket , GitLab CE , GitHub , Electric Cloud e CFEngine .
La fase di verifica è direttamente collegata alla garanzia della qualità della consegna del software: include attività progettate per garantire che la qualità del software sia assicurata e che la massima qualità sia distribuita in produzione. Le principali attività sono:
I fornitori che offrono soluzioni per questo passaggio rientrano in quattro categorie principali: automazione dei test (ThoughtWorks, IBM , HP ), analisi statica (Parasoft, Microsoft , SonarSource), laboratorio di test (Skytap, Microsoft, Delphix) e sicurezza (HP, IBM, Trustwave , FlawCheck).
La fase Pacchetto copre le attività coinvolte dopo che la consegna è pronta per la distribuzione. A volte è anche chiamato "Preproduzione" (o "Preprod") e comprende in particolare:
Gli strumenti che si occupano di questo passaggio sono i gestori di pacchetti universali come: Artifactory (JFrog), Nexus (SonaType) e ProGet (Inedo).
Le attività di programmazione, orchestrazione, provisioning e distribuzione del software in produzione e nell'ambiente di destinazione sono tutte incluse nella fase di rilascio. Più precisamente:
Le soluzioni che coprono questi aspetti della catena di strumenti sono ARA (Application Release Automation), che automatizza la distribuzione e la gestione dei rilasci (gestione dei rilasci). I fornitori interessati sono Automic, Clarive, Inedo, BMC Software , IBM , VMware e XebiaLabs.
Il passaggio Configura si trova sul lato Ops (operazioni) di DevOps. Dopo che il software è stato distribuito, potrebbero esserci altre attività di configurazione e preparazione dell'infrastruttura, come ad esempio:
Le soluzioni per facilitare queste attività sono gli strumenti di Continuous Configuration Automation , la gestione della configurazione e Infrastructure as Code. Ad esempio: Ansible , Chef , Puppet , Otter e Salt.
Il monitoraggio è un collegamento importante nella toolchain DevOps. Consente all'organizzazione IT di identificare un problema specifico con una consegna particolare e di comprenderne l'impatto sull'utente finale. Le sue attività sono:
Le informazioni dalle attività di monitoraggio spesso hanno un impatto sulle attività del piano richieste per le modifiche e per i nuovi cicli di consegna. I fornitori in questa fase sono BigPanda, Ganglia, New Relic e Wireshark .