Sự khác biệt giữa vagrant và juju là gì?


10

Có phải cả hai đều giải quyết cùng một vấn đề? Hay là cho hai bộ vấn đề khác nhau? Nếu vậy đối với những gì tôi tốt hơn để sử dụng vagrant, và những gì tốt hơn để sử dụng juju?

Câu trả lời:


19

phiên bản nhanh:

vagrant là một công cụ để làm việc với các trường hợp hộp ảo. Điều này thường được sử dụng trong quá trình phát triển (trên máy mac) để thử nghiệm triển khai ứng dụng của bạn vào các máy ảo trông giống môi trường sản xuất cuối cùng (ví dụ: linux) của bạn. Nó có một bộ xử lý (ruby) có thể tùy chỉnh để tạo ra một môi trường ảo như vậy theo bất kỳ cách nào bạn muốn. Vagrant là một công cụ mạnh mẽ để quản lý lập trình các môi trường ảo và cung cấp cho tất cả các loại biến thể "cục bộ" của các kỹ thuật phát triển kiểu tích hợp liên tục. Nó thường được sử dụng để chạy Ubuntu VM trên máy Mac, nhưng sẽ chạy trên nhiều nền tảng khác nhau và triển khai các hệ điều hành mục tiêu khác nhau. Afaik, nó chỉ hoạt động với virtualbox như một "nhà cung cấp" cơ bản.

juju là một công cụ để phối hợp các dịch vụ bằng nhiều nhà cung cấp cơ bản khác nhau: đám mây ec2, đám mây openstack, máy ảo lxc và máy chủ MaaS. Nó chia sẻ một câu chuyện "phát triển cục bộ" (sử dụng các thùng chứa lxc thay vì VM ảo) với sự mơ hồ, nhưng đó thực sự là sự trùng lặp duy nhất. Trên thực tế, tôi muốn thấy một nhà cung cấp mơ hồ được viết cho juju để juju có thể lái các thùng chứa hộp ảo trên môi trường cục bộ một cách dễ dàng như nó điều khiển hình ảnh đám mây và lxc. Đó sẽ là một sự phù hợp tuyệt vời! Ngoài ra, juju thực sự nhận được rất nhiều giá trị của nó từ bộ bùa chú / dịch vụ có thể xuất hiện ngay lập tức, trong khi đó về cơ bản là nhà cung cấp container địa phương cấp thấp hơn.

Trên thực tế, chúng tôi cung cấp hộp Vagrant với Juju để người dùng có thể kiểm tra nhà cung cấp địa phương từ bên trong VM:

Lưu ý rằng đã có những nỗ lực để "hợp nhất" các tập lệnh triển khai xung quanh vagrant để có thể sử dụng các tập lệnh tương tự để triển khai cho các trường hợp đám mây cũng như các hộp mơ hồ. Chúng dường như chủ yếu là một lần từ sự phù hợp mơ hồ, và thẳng thắn chỉ làm nổi bật sự cần thiết của một công cụ như juju.


1

"Thống nhất các kịch bản triển khai xung quanh vagrant", Vagrant tích hợp tuyệt vời với Puppet và Chef, có thể được sử dụng để tự động hóa cấu hình hệ thống trên các môi trường, từ hộp Vagrant đến phần cứng cục bộ đến đám mây. Trong thực tế, nhiều người sử dụng Vagrant để kiểm tra kịch bản Puppet / Chef trước khi sử dụng chúng trong sản xuất.

Chắc chắn sẽ rất tuyệt nếu thêm Juju vào danh sách các công cụ tự động hóa hoạt động với Vagrant.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.