L’infrastructure as code è un mezzo ben consolidato per far sì che sviluppo e operation lavorino di concerto, ma vi sono strumenti di container management, monitoraggio e registrazione e ChatOps che svolgono sempre più funzioni simili. L’agenzia NuArch di Pound Ridge (New York), per esempio, utilizza uno strumento open source di container management appena rilasciato da Rancher Labs, adottando processi di sviluppo agile, nonostante un’infrastruttura IT centralizzata in lenta evoluzione.
Secondo Dan MacDonald, chief architect e principale responsabile tecnico dell’agenzia, i container open-source Docker rappresentano la scelta più logica per implementare i microservice che possono essere sviluppati e distribuiti più rapidamente rispetto alle strutture di applicazione tradizionali. Inoltre, sono importanti per gli sviluppatori in questo ambiente, perché per policy non hanno l’accesso root al sistema operativo in macchine virtuali ospitate; le piccole immagini del sistema operativo Linux come Alpine possono essere incapsulate all’interno di container, permettendo agli sviluppatori di sperimentare con librerie e altri strumenti senza dover attendere per l’accesso al sistema operativo VM.
Nel frattempo, Rancher consente la distribuzione catalog-based dei container da parte delle operation attraverso un’interfaccia utente grafica che non richiede una comprensione dei punti più delicati della containerizzazione: “Il catalogo Rancher – sottolinea MacDonald – fornisce funzionalità di base, ma sono in progetto molte altre caratteristiche per il prossimo futuro che garantiranno una maggiore automazione”. Nel frattempo, durante la fase di test, uno sviluppatore creerà una nuova immagine che verrà aggiunta al catalogo Rancher automaticamente e quando un quality assurance engineer deciderà di volerla testare lo potrà distribuire a piacimento a un ambiente qualsiasi.
Strumenti condivisi di monitoraggio e registrazione aumentano la collaborazione
Secondo gli esperti, i ritorni sul back-end sono importanti per il successo di una strategia DevOps tanto quanto gli strumenti automatizzati lo sono sul front-end. Ciò dovrebbe imporre ai team di Sviluppo e agli addetti alle Operation di utilizzare le stesse interfacce di monitoraggio e registrazione, in modo tale da identificare e risolvere rapidamente i problemi. Nell’agenzia NuArch, per esempio, gli addetti alle Operation oggi gestiscono da soli soltanto i server e si interfacciano tra la squadra di sviluppatori e la struttura ospitante per ottenere i nuovi host di cui hanno bisogno o le unità storage-area network. “Una volta effettuata la distribuzione – spiega MacDonald – proseguiamo attivamente con il controllo dell’applicazione fornendo un supporto 24/7 e se si verificano particolari criticità le si portano all’attenzione degli sviluppatori”.
Per questi scopi, MacDonald e i suoi collaboratori stanno cercando nuovi strumenti operativi IT per il monitoraggio e la registrazione, come per esempio DataHog di Skye Instruments, prodotti AppDynamics e l’utility open-source Prometheus.
Altri prodotti commerciali come Splunk e utilty open-source come Elasticsearch potrebbero essere utili per il monitoraggio e la registrazione condivisi tra professionisti DevOps. Così come i componenti del team Operation hanno bisogno di diventare più simili agli sviluppatori, via via che l’infrastructure as code si avvicina alla realtà, gli sviluppatori hanno bisogno di comprendere meglio gli ambienti in cui avviene la distribuzione e il punto di vista delle Operation.
ChatOps migliora il lavoro di squadra
Così come un’immagine in un cruscotto di controllo di un’applicazione può valere più di mille parole, è auspicabile avere anche un’interfaccia umana condivisa tra Sviluppo e Operation: ed è qui che entra in gioco ChatOps. Attraverso programmi come Slack e HipChat di Atlassian, sviluppatori e professionisti IT possono riuscire a gestire implementazioni complesse e risolvere i problemi in modo collaborativo. Si tratta di una piattaforma su cui poter fare diverse azioni, da trasferire file a scambiare due battute, e può essere integrato con strumenti come Jenkins e Chef.
“Avere tutte queste informazioni raccolte in un unico luogo – nota Thomas McGonagle consulente senior DevOps – migliora il lavoro di squadra, in particolare tra gruppi diversi”.