HashiCorp: Incontra Otto, il nuovo Vagrant

Nel mondo degli strumenti devops, Vagrant è ampiamente utilizzato per creare ambienti VM riproducibili per lo sviluppo e il test. Ma con lo sviluppo orientato lontano dalle VM e verso i container, il creatore di Vagrant Mitchell Hashimoto e la sua azienda, HashiCorp, hanno deciso che è necessario un successore.

Otto, come viene chiamato il nuovo progetto, automatizza il modo in cui gli ambienti applicativi vengono creati sia per lo sviluppo che per l'uso in produzione. È più un complemento di Vagrant che un successore, e continuano a sorgere domande sul suo ruolo in un mondo in cui Vagrant potrebbe essere difficile da sostituire.

Vagabondo, e poi alcuni

Otto è stato concepito per tre scopi:

  1. Crea ambienti di sviluppo di applicazioni senza bisogno di spiegarli esplicitamente in un file Vagrant, dal livello macchina in su
  2. Distribuisci le app direttamente alla produzione da un ambiente di sviluppo, tenendo conto delle differenze tra questi ambienti
  3. Esegui tutto ciò in un modo che utilizzi microservizi basati su contenitori anziché VM come unità di produzione

Otto usa appfile, simili ai vagrantfile di Vagrant, per dire di cosa ha bisogno una data applicazione. Descrive la lingua, le dipendenze e la versione del software in uso, ma non include automaticamente i requisiti associati alla macchina host (sistema operativo, memoria e così via).

Un articolo di eWeek su Otto citava Armon Dadgar, co-fondatore e CTO di HashiCorp, affermando che Vagrant è un successore "in senso spirituale e non tecnologico". Poiché Otto sfrutta Vagrant e altri strumenti di HashiCorp (ovvero Packer e Terraform), può essere considerato un livello di astrazione per tutte quelle applicazioni contemporaneamente.

Un'altra pagina del sito web del progetto Otto dice: "Vagrant è un ottimo modo per testare la gestione della configurazione, sistemi operativi oscuri, ecc. Questi casi d'uso non scompariranno. A causa di quanto sopra, ci impegniamo a continuare a migliorare Vagrant e rilasciare nuove versioni di Vagrant per gli anni a venire. Ma per lo sviluppatore quotidiano, Otto dovrebbe sostituire Vagrant nel tempo. "

Magico, ma anche supponente

Otto fornisce ipotesi predefinite su come impostare un ambiente - un approccio potenzialmente divisivo. "Quando si dice a Otto il tipo di applicazione che si sta sviluppando", dice il collegamento sopra, "Otto sa come sviluppare e distribuire quell'applicazione utilizzando le best practice del settore ... Nel tempo, Otto diventerà più intelligente e adotterà nuove best practice per migliorare i tuoi ambienti. "

Le supposizioni predefinite di Otto (eufemisticamente indicate da Hashimoto come "magia") possono essere ignorate, ma è una rottura filosofica rispetto all'atteggiamento di Vagrant di essere il più esplicito possibile sulla configurazione del sistema.

Un thread su Hacker News che introduceva Otto, con un commento introduttivo dello stesso Hashimoto, ha suscitato reazioni contrastanti, molte delle quali riguardanti la filosofia del sistema o come Vagrant sia una soluzione sufficiente per molti di loro. "È piuttosto deprimente vedere HashiCorp aggiungere più livelli a un sistema che ha già troppa complessità accidentale", ha scritto un commentatore.

Un altro commentatore, tuttavia, ha apprezzato l'idea di avere un modo per applicare le migliori pratiche: "Non credo di poter sottovalutare quanto non voglio essere aggiornato con tutte le varie best practice per le distribuzioni. Non ho alcun interesse in questo e attualmente è un problema abbastanza costoso da risolvere per molti ".

Otto è nelle primissime fasi. La sua architettura plug-in, la via principale per estendere le sue funzionalità, non è ancora esposta per l'uso. Se Vagrant dovesse essere incluso in Otto a lungo termine, il piano potrebbe ritorcersi contro se il caso d'uso di Vagrant supera quello di Otto.