Puppet vs Chef, pro và contra từ người dùng và các trường hợp sử dụng [đã đóng]


56

Tôi đã googled và đọc bài viết "to-Puppet-or-to-Chef-that-is-the-question" .

Tôi quan tâm đến các trường hợp sử dụng, triển khai trong thế giới thực, trong đó mọi người đã chọn cái này hoặc cái kia dựa trên các vấn đề thực tế.

Tôi đặc biệt quan tâm đến việc tích hợp với các vấn đề về cobbler (Tôi biết con rối là một cách tiếp cận tiêu chuẩn theo hướng này); như bất kỳ ai có kinh nghiệm trong tích hợp cobbler-Chef ?

Cảm ơn trước



1
@warren: bài viết bạn phác thảo không liên quan. Tôi đang yêu cầu so sánh trực tiếp giữa các công cụ này, không chỉ là đề cập đến đầu bếp như đã được thực hiện trong bài.
drAlberT

Để trả lời câu hỏi về cobbler + Chef, tôi có một chi nhánh trong thanh toán cobbler của mình để trả lại JSON cho Chef để sử dụng, nhưng tôi không có hệ thống để kiểm tra nó. Hãy cho tôi biết nếu bạn quan tâm đến thử nghiệm.
jtimberman

Tất nhiên, nhưng tôi không thể ngay bây giờ ... Tôi sẽ tiếp tục các bài kiểm tra của mình sau vài tháng nữa, một thứ khác được ưu tiên ngay bây giờ
drAlberT

Liên quan đến việc đóng câu hỏi .. Tôi đã hỏi về "các vấn đề thực sự", tích hợp cobbler, các trường hợp sử dụng ... không chỉ đơn giản là "ý kiến", mà là các lựa chọn có động lực. Tôi chống lại việc đóng cửa, như bạn có thể tranh luận :)
drAlberT

Câu trả lời:


63

Thành thật mà nói, tôi nghĩ rằng điều này đi xuống quan điểm đơn giản: Đầu bếp dường như là một giải pháp bắt buộc, có lập trình, việc sử dụng ruby ​​như ngôn ngữ ngay lập tức khiến tôi hy vọng ai đó chuyển nó sang python, như cách của thế giới với tất cả ý tưởng của ruby.

Đó không phải là những gì bạn muốn cho loại điều này mặc dù. Bạn muốn nói với khoảng trống nơi hệ thống sẽ được và tuyên bố:

"Khi cổng 80 triệu tập từ phía bắc, daemon tên nginx. Nhiệm vụ của anh ta là phục vụ."

"Một người dùng nên tồn tại, tên của anh ta nên được sử dụng và anh ta nên là một trong những người hùng mạnh trong nhóm bánh xe,"

"Nâng cao một bức tường lửa, mỏng ở những nơi 80,443,8080"

Và như vậy, mặc dù có lẽ trong ngôn ngữ ít hoa.

Con rối hỗ trợ mô hình đó tốt hơn IMO. Tôi đã sử dụng một trong hai, tôi không có sở thích nào nhưng khi nói đến nó, khai báo phù hợp với tôi hơn.

Con rối.


2
Bạn thậm chí có thể tiến thêm một bước trong tương lai và sử dụng phân phối Linux sử dụng cấu hình khai báo: nixos.org/nixos
iElectric

19

Tôi đã viết một so sánh chi tiết về Chef vs Puppet tại đây: Puppet vs Chef: 10 lý do tại sao Puppet thắng . Mặc dù nó không bao gồm các trường hợp sử dụng, tôi hy vọng nó cung cấp một số điểm khởi đầu hữu ích cho những người tự hỏi nên chọn công cụ nào cho tự động hóa cơ sở hạ tầng của họ.


3
Công việc rất tốt Ngay cả khi nhiều điểm bạn viết bị ràng buộc với thực tế đơn giản là con rối "già" hơn, và "được hỗ trợ" nhiều hơn nữa. Ok, đó là một sự thật ... nhưng tôi nghĩ rằng không ai từng sử dụng postfix bởi vì sendmail đã có một công chúng tuyệt vời ... Tôi nhắc lại, làm tốt lắm, tôi sẽ tính đến nó
drAlberT

AlberT - vâng, Puppet đã tồn tại lâu hơn Chef và cũng có nhiều lợi thế đầu tiên: sự trưởng thành mã, cơ sở nhà phát triển, cơ sở được cài đặt, mindshare - những điều này được thừa nhận rõ ràng trong bài viết. Con rối về mặt kỹ thuật có vượt trội so với Chef cho các nhiệm vụ tự động hóa của Linux không? Chắc là không. Tôi vẫn khuyên dùng Puppet so với Chef vì đây là công cụ quản lý cấu hình hàng đầu thị trường.
John Arundel

2
Bài viết trên blog rất lỗi thời, vì năm 2011 con rối hiện hỗ trợ các mô-đun ruby ​​thuần túy và cũng có nhiều 'động từ' hơn phiên bản mà tác giả đã đánh giá.
cướp

14

Xin lỗi về tính dài dòng. Sử dụng công cụ giúp bạn hoàn thành công việc một cách dễ dàng. Đó là điểm tự động hóa, phải không?

Lịch sử: Tôi đã sử dụng con rối trong các hợp đồng biểu diễn trong quá khứ và tháng trước tôi đã dành khoảng một tuần để làm quen với đầu bếp để xem liệu tôi có thực hiện chuyển đổi tại buổi biểu diễn mới của mình không.

Tôi đã không nhảy.

Jargon: Một vấn đề đáng tiếc với cả hai hệ thống này là sự quá tải của biệt ngữ. (công thức nấu ăn, mẫu, nút, vai trò, thuộc tính, nhà cung cấp) Nó tiếp tục và tiếp tục. Tôi thấy Chef đã đưa nó đi một bước xa hơn. (Dao, Shef, v.v.)

Mã trưởng thành: Đủ để nói rằng tôi thấy Đầu bếp hơi quá thô. Cảm giác rất giống với những gì con rối cảm thấy trong khung thời gian .21 / .22 3-4 năm trước. Có rất nhiều thông tin đang diễn ra.

Không phải nói rằng điều đó đã không xảy ra trong con rối. (Tôi đã phát hiện lại nhiều tính năng tuyệt vời trong con rối chỉ mới xuất hiện trong vài năm qua. - Kết hợp regex!)

Ruby: Tôi không thích tất cả sự quá tải của ruby ​​trong Chef. .

Độ phức tạp: Tôi không thích GUI tập trung vào đầu bếp. Tôi nhận ra nó rất đẹp và con rối có giao diện web trong các tác phẩm như là một tiện ích bổ sung, nhưng tôi cảm thấy điều đó nên được tách rời hơn.

Đầu bếp có kiến ​​trúc phức tạp hơn nhiều. Nó có thể mở rộng tốt hơn, nhưng có rất nhiều điểm thất bại tiềm năng.
http://wiki.opscode.com/display/chef/Arch architecture

Đầu bếp cần couchdb, rabbitmq và solr ngoài máy chủ API và giao diện web.

Tôi chỉ muốn một giao diện máy khách / máy chủ đơn giản không cần khung MVC trên đầu trang và kho lưu trữ dữ liệu phức tạp phía sau nó.

Con rối đơn giản hơn rất nhiều trong bộ phận đó. (không nói rằng không có nhiều tiện ích bổ sung để làm cho nó lộn xộn hơn)

Hoàn thành công việc: Cuối cùng, tôi đã đi với những gì tôi biết. Sau khi trải qua một tuần hack phụ và hầu như không thể hoàn thành những điều cơ bản với Chef, tôi đã có thể quay lại rối và giải quyết những nhu cầu cơ bản của mình trong vài giờ. (quản lý gói, quản lý người dùng, mẫu tệp cấu hình)

Hãy cẩn thận về các Mô-đun: Con rối có một sự thay đổi gần đây để sử dụng "các mô-đun" được đóng góp bởi các bên thứ ba. Tôi đã không sử dụng những thứ này và tôi đã tìm thấy một loạt các chất lượng của chúng. Hãy chắc chắn nhìn trộm dưới vỏ bọc và xem những gì và làm thế nào họ đang làm việc trước khi bạn tìm hiểu những thứ này.


5

Đây là một ý kiến: Chúng tôi đã thử tất cả chúng trong công ty của chúng tôi và chúng tôi là con rối trước. Đơn giản vì nó dễ sử dụng.


Bạn đã sử dụng bất kỳ front-end để theo dõi thực hiện Puppet?
SyRenity

1
@syrenity chúng tôi sử dụng một kiểm tra nagios tùy chỉnh để kiểm tra thời gian của $ Puppetvardir / state / state.yaml chỉ được cập nhật khi chạy thành công.
Rodjek

2
Là đầu bếp rất khó thay thế? Tại sao? Những khó khăn thực tế gặp phải khi tiếp cận đầu bếp mà con rối bỏ qua là gì?
drAlberT


@NotNow: thật tuyệt, tôi đã chấp nhận chắc chắn liệu nó có hỗ trợ tích hợp cobbler như một giải pháp thay thế cho hệ thống cung cấp riêng của mình không ...
drAlberT

1

Bản thân tôi đã thấy các trường hợp quản lý 1000 máy chủ với các cấu hình khác nhau, dễ dàng hơn nhiều với con rối. Các công ty nguyên vẹn như google sử dụng con rối để triển khai.

Kiến trúc thiết kế chính của con rối là như vậy, nó hoạt động tốt hơn nhiều so với những cái khác nếu bạn cấu hình nó đúng cách. Ví dụ: thêm các sự kiện tùy chỉnh cho các cấu hình tùy chỉnh của bạn, v.v ... các liên kết bên dưới có thể cung cấp một số thông tin http://slashroot.in/puppet-tutorial-installing-puppet-master-and-puppet-agent

http://slashroot.in/puppet-tutorial-how-does-puppet-work


0

Điều này có thể đã thay đổi kể từ lần trước tôi đã thử nó, nhưng khi tôi đang thử đầu bếp trên RHEL thì không có cách nào rõ ràng để cài đặt nó. Ai đó đã tạo ra một repo yum có tất cả các gói cần thiết, nhưng cuối cùng nó đã cài đặt 200 gói lẻ. Mặt khác, con rối có một vòng / phút (và một vài phụ thuộc).

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.