Tools DevOps: quali sono e come sceglierli
La programmazione richiede il deployment di codice di qualità, libero da vincoli per soluzioni, linguaggi e tools DevOps. Allo stesso tempo, però, l’esecuzione deve essere efficiente. Oggi la richiesta di efficienza è fatta sistematicamente e a ciclo continuo: la spinta a migliorare le operazioni si riflette nell’approccio DevOps, che unisce sviluppo e operazioni IT in un unico modello.
I tools DevOps stanno conoscendo un’espansione senza limiti. Una semplice ricerca online restituisce decine o centinaia di strumenti che rientrano in questa categoria.
Un altro ambito in espansione dal 2021 è lo sviluppo di microservizi, che ha portato al miglioramento di container, orchestratori, descrittori d’infrastruttura, il tutto gestito in pipeline di build e rilascio automatizzate. Stanno inoltre emergendo piattaforme no-code e low-code che aprono lo sviluppo anche ai non programmatori, pur rientrando nel contesto DevOps, e aiutano gli sviluppatori a gestire in modo automatico parti di codice ripetitive.
In questo scenario, la matrice open source di molte soluzioni si sta sfumando in una serie di grigi. Il consiglio è di valutare ogni tool sulla base delle reali esigenze e della community che lo sostiene, evitando contrapposizioni tra open source e software proprietario.
Il modello DevOps si basa sulla continua iterazione tra sviluppo e rilascio del codice, integrando software, infrastruttura e sicurezza.
Chi si occupa dell’architettura aziendale deve avere una chiara mappatura dei tools DevOps e degli strumenti di esecuzione necessari per le moderne applicazioni cloud-native. Molti vendor offrono framework completi, ma qui ci concentriamo sui tools standalone.
Proviamo a elencarne alcuni dei più noti.
12 tools per i DevOps
- GitHub: gestione di build, deploy e mantenimento del codice. È il più noto e dal 2018 è di proprietà Microsoft.
- GitLab: simile a GitHub, ma di utilizzo più immediato.
- Docker: containerizzazione delle applicazioni. Alternativa nota: Apache Mesos.
- Docker Swarm: orchestratore nativo di Docker, alternativa a Kubernetes.
- Ansible: automazione di compiti ripetitivi, configurazione e orchestrazione.
- Terraform e Istio: strumenti per Infrastructure as Code (IaC). Istio si definisce una service mesh.
- Sensu, PagerDuty e Elastic: strumenti per il monitoraggio delle performance.
Come orientarsi tra tutti questi strumenti? Un partner affidabile può aiutare a scegliere il tool giusto per ogni fase del processo DevOps.
L’avvento degli AIops
Un’area in forte crescita è l’intelligenza artificiale (AI), in particolare per semplificare i processi e migliorare la qualità dei dati. La sicurezza e l’AI sono oggi i due principali acceleratori nello sviluppo di applicazioni moderne.
Soluzioni come Appvance, Dynatrace (che offre anche altre funzionalità) e Test.ai stanno definendo il futuro di questo settore, sempre più vicino alla scrivania dei responsabili dell’innovazione aziendale.