Czy oba rozwiązują ten sam problem? A może dotyczą dwóch różnych zestawów problemów? Jeśli tak, to po co lepiej używać włóczęgi, a po co lepiej używać juju?
Czy oba rozwiązują ten sam problem? A może dotyczą dwóch różnych zestawów problemów? Jeśli tak, to po co lepiej używać włóczęgi, a po co lepiej używać juju?
Odpowiedzi:
szybka wersja:
vagrant to narzędzie do pracy z instancjami virtualbox. Jest to zwykle używane podczas programowania (na komputerze Mac) w celu testowania wdrożenia aplikacji na maszynach wirtualnych, które wyglądają bardziej jak twoje ostateczne środowisko produkcyjne (tj. Linux). Ma dostosowywany (rubinowy) stos procedur obsługi, aby stworzyć takie wirtualne środowisko w dowolny sposób. Vagrant to potężne narzędzie do programowego zarządzania środowiskami wirtualnymi i zapewnia wszelkiego rodzaju „lokalne” odmiany technik programistycznych opartych na ciągłej integracji. Najczęściej jest używany do uruchamiania maszyn wirtualnych Ubuntu na komputerze Mac, ale działa na różnych platformach i wdraża różne docelowe systemy operacyjne. Afaik, działa tylko z virtualbox jako podstawowy „dostawca”.
juju to narzędzie do koordynowania usług przy użyciu różnych różnych dostawców: chmur ec2, chmur openstack, maszyn wirtualnych lxc i serwerów MaaS. Dzieli historię „lokalnego rozwoju” (używanie kontenerów LXC zamiast maszyn wirtualnych Virtualbox) z włóczęgą, ale to naprawdę jedyne nakładanie się. W rzeczywistości chciałbym zobaczyć Vagrant Provider napisany dla juju, dzięki czemu juju może prowadzić kontenery virtualbox w lokalnym środowisku z taką samą łatwością, jak w przypadku obrazów w chmurze i lxc. To byłoby świetne dopasowanie! Ponadto, juju naprawdę czerpie swoją wartość z zestawu uroków / usług, które można rozwinąć natychmiast po wyjęciu z pudełka, podczas gdy włóczęga jest zasadniczo lokalnym dostawcą kontenerów niższego poziomu.
W rzeczywistości udostępniamy Vagrant box z Juju, aby użytkownicy mogli przetestować lokalnego dostawcę z poziomu maszyny wirtualnej:
Zauważ, że tam nie było wysiłki na „ujednolicenie” scenariuszy wdrożeniowych wokół włóczęga aby te same skrypty mogą być używane do wdrażania do wystąpień w chmurze, a także pól wędrujących. Wydaje się, że są one w większości jednorazowe oprócz włóczęgów właściwych i szczerze mówiąc, po prostu podkreślają potrzebę użycia narzędzia takiego jak juju.
Jeśli chodzi o „ujednolicenie skryptów wdrożeniowych wokół włóczęgów”, Vagrant ma doskonałą integrację z Puppet i Chef, które można wykorzystać do automatyzacji konfiguracji systemu w różnych środowiskach, od pudełek Vagrant po lokalny sprzęt i chmury. W rzeczywistości wiele osób używa Vagrant do testowania skryptów Puppet / Chef przed użyciem ich w produkcji.
Z pewnością miło byłoby dodać Juju do listy narzędzi automatyzacji współpracujących z Vagrant.