Tất nhiên có một số pro và nhược điểm cho mỗi Puppet, Ansible, Chef và thêm công cụ yêu thích của bạn vào đây . Vì vậy, tôi sẽ cố gắng tránh xa ý kiến và chia sẻ những gì tuyệt vời trong Ansible như một vấn đề thực tế.
Khả năng chính đặt Ansible lên trên các yếu tố khác là không phải dựa vào một số tác nhân tùy chỉnh / bổ sung đang chạy trên các nút mục tiêu, thay vào đó chỉ được thiết lập trên các kết nối ssh. Có, nó vẫn yêu cầu máy chủ ssh, Python và một loạt thư viện Python trên các nút và nếu bản phân phối của bạn (hoặc, may mắn thay, có một số nút cửa sổ) không gửi cùng với chúng, nó sẽ có một chút đau đớn để bootstrap. Nhưng điều đó là không thể, và thậm chí có thể khiến bạn nghĩ lại về bản phát hành của mình.
Điều đó sẽ đơn giản hóa việc giám sát, không ăn tài nguyên bổ sung, không buộc hệ thống phải chạy trình nền gốc mọi lúc và nói chung cảm thấy tốt hơn trong triết lý UNIX. Đầu bếp có chef-solo
, Puppet có thể được chạy bậc thầy, nhưng cả hai đều hoạt động "theo hướng khác", bằng cách nhân bản và thông qua các móc tương ứng. Trong khi với Ansible, việc hợp nhất trong kho lưu trữ nguồn có thể kích hoạt việc triển khai theo cách mà tất cả chúng ta đều cảm thấy thoải mái, có thể là trong Jenkins, trong git master hoặc trong một số công cụ khác như Rundeck chẳng hạn.