Qual'è la differenza tra vagrant e juju?


10

Stanno risolvendo entrambi lo stesso problema? O sono per due diverse serie di problemi? Se è così, per cosa è meglio usare il vagabondo e per cosa è meglio usare juju?

Risposte:


19

versione rapida:

vagrant è uno strumento per lavorare con le istanze di virtualbox. Questo è in genere utilizzato durante lo sviluppo (su un Mac) per testare la distribuzione della tua app in macchine virtuali che assomigliano più al tuo ambiente di produzione (ad es. Linux). Ha una pila personalizzabile (rubino) di gestori per creare un ambiente virtuale come desideri. Vagrant è un potente strumento per gestire in modo programmatico ambienti virtuali e fornisce ogni sorta di variazione "locale" delle tecniche di sviluppo in stile di integrazione continua. Viene spesso utilizzato per eseguire macchine virtuali Ubuntu su un Mac, ma verrà eseguito su varie piattaforme e distribuirà vari sistemi operativi di destinazione. Dopo tutto, funziona solo con virtualbox come "provider" sottostante.

juju è uno strumento per orchestrare i servizi utilizzando vari provider sottostanti diversi: cloud ec2, cloud openstack, VM lxc e server MaaS. Condivide una storia di "sviluppo locale" (usando i contenitori lxc invece delle VM virtualbox) con Vagrant, ma questa è davvero l'unica sovrapposizione. In effetti, mi piacerebbe vedere un provider vagabondo scritto per juju in modo che juju possa guidare i contenitori virtualbox su un ambiente locale con la stessa facilità con cui gestisce le immagini cloud e lxc. Sarebbe perfetto! Inoltre, juju trae davvero molto valore dall'insieme di incantesimi / servizi che possono essere lanciati immediatamente, mentre vagrant è essenzialmente un fornitore locale di container di livello inferiore.

Infatti, forniamo un box Vagrant con Juju in modo che gli utenti possano testare il provider locale all'interno di una VM:

Si noti che ci sono stati sforzi per "unificare" gli script di distribuzione attorno a Vagrant in modo che gli stessi script possano essere utilizzati per distribuire su istanze cloud e caselle Vagrant. Questi sembrano essere per lo più una tantum a parte il vero vagabondo, e francamente evidenziano solo la necessità di uno strumento come il juju.


1

Ri "unificando gli script di distribuzione attorno a Vagrant", Vagrant ha un'eccellente integrazione con Puppet and Chef, che può essere utilizzato per la configurazione del sistema di automazione in tutti gli ambienti, dalle scatole Vagrant all'hardware locale ai cloud. In effetti molte persone usano Vagrant per testare i loro script Puppet / Chef prima di usarli in produzione.

Sarebbe sicuramente bello aggiungere Juju all'elenco degli strumenti di automazione che funzionano con Vagrant.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.