Apa keterbatasan Wayang dibandingkan dengan Ansible?

16

Saya ingin memahami perbedaan antara Puppet dan Ansible, terutama seperti apa keterbatasan Puppet dibandingkan dengan Ansible.

Adakah hal-hal yang tidak dapat Anda lakukan dalam Wayang, tetapi Anda bisa dalam Ansible? Dengan kata lain, mengapa beberapa orang pindah dari Wayang ke Ansible?

kenorb
sumber
Saya menjaga jawaban saya terpisah dari ini, salah satu alasan mungkin semua uang redhat berinvestasi di dalamnya.
ᴳᵁᴵᴰᴼ

Jawaban:

19

Tentu saja ada beberapa pro dan kontra untuk setiap Wayang, Ansible, Chef dan menambahkan alat favorit Anda di sini juga. Jadi saya akan mencoba untuk menjauh dari pendapat, dan berbagi apa yang hebat dalam Ansible sebagai fakta.

Kemampuan utama yang menempatkan Ansible di atas yang lain adalah tidak harus bergantung pada beberapa agen kustom / tambahan yang berjalan pada node target, alih-alih dibangun hanya pada koneksi ssh. Ya, itu masih memerlukan server ssh, Python dan sekelompok pustaka Python pada node, dan jika distro pilihan Anda (atau, semoga berhasil, ada beberapa windows node) tidak disertakan bersama mereka, itu akan menjadi sedikit menyakitkan untuk bootstrap. Tapi itu tidak mungkin, dan mungkin bahkan membuat Anda berpikir lagi tentang distro Anda.

Itu akan menyederhanakan pemantauan, tidak memakan sumber daya tambahan, tidak memaksa sistem untuk menjalankan daemon sebagai root sepanjang waktu, dan secara umum terasa lebih baik di dalam filosofi UNIX. Koki memiliki chef-solo, Wayang dapat dijalankan tanpa tuan, tetapi mereka berdua bekerja "ke arah lain," dengan kloning dan melalui kait masing-masing. Sementara dengan Ansible, gabungan dalam repositori sumber dapat memicu penyebaran dengan cara yang kita semua sukai, baik itu di Jenkins, di git master, atau di beberapa alat lain seperti Rundeck misalnya.

ᴳᵁᴵᴰᴼ
sumber
Perlu dicatat bahwa jika Anda telah mengacaukan konfigurasi ssh Anda dengan kemungkinan Anda dikunci dari mesin Anda, itulah kelemahan dari model push. Boneka atau koki dapat bekerja pada pekerjaan à crontab sehingga mereka tidak akan berdampak lebih pada sistem daripada kode Python yang mungkin sama sekali
Tensibai
1
Catatan tentang agen: Saya disetujui untuk naik ke atas, Mungkin dalam HSE (lingkungan keamanan tinggi) oleh tim keamanan yang telah menolak Chef dan Wayang, bahkan dalam konfigurasi tanpa master. Agenless adalah faktor penentu dalam beberapa kasus.
Woodland Hunter
2
Jika Anda melanggar pengaturan SSH Anda, Anda memiliki masalah di luar Ansible dalam hal apa pun. Adalah praktik DevOps yang baik untuk menguji hal-hal seperti perubahan SSH di berbagai lingkungan sebelum produksi, dan juga dimungkinkan untuk memvalidasi konfigurasi SSH yang benar sebagai bagian dari penulisan itu - templatemodul Ansible membuat ini sangat mudah.
RichVel
Saya pernah mendengar orang membuat argumen bahwa arsitektur tanpa agen Ansible membuatnya lebih cocok untuk mengelola misalnya router, di mana Anda tidak dapat menginstal agen Wayang, katakanlah. Tetapi apakah perangkat seperti itu datang dengan juru bahasa Python? Mungkin tidak, jadi apakah Python benar-benar persyaratan kuat pada setiap komponen yang dikelola oleh Ansible?
Drux
9

Tidak, orang-orang yang pindah dari Wayang ke Ansible (atau sebaliknya) tidak ada hubungannya dengan apa yang dapat atau tidak dapat dicapai dengan alat apa pun. Boneka / Koki / Mungkin - sebagian besar masalah selera.

Misalnya, Ansible didasarkan pada Python, dan pengembang Python biasanya merasa lebih betah dengannya (tidak perlu belajar DSL), atau Ruby (untuk Chef)). Lebih mudah bagi pengembang Python untuk memperluas Ansible juga.

Tetapi pada dasarnya mereka semua sangat mirip dalam hal apa yang dapat Anda capai. Beberapa memiliki kekuatan relatif di beberapa bidang, dan kelemahan di bidang lain, tetapi biasanya pilihan di antara mereka dibuat berdasarkan gaya / budaya / preferensi tim.

Assaf Lavie
sumber
7

Hingga Puppet 4.0 tidak ada cara mudah untuk mengatur penyebaran aplikasi melalui beberapa server atau layanan, karena sulit untuk secara khusus memesan tindakan di Puppet, yang merupakan pilihan desain . Ansible lebih baik dalam mengatur dan memesan langkah-langkah, terutama di beberapa server. Ini sangat penting dalam aplikasi di mana urutan langkah yang salah dapat menyebabkan kesalahan tidak dapat dipulihkan melalui pengulangan langkah-langkah itu sampai konsistensi akhirnya dapat tercapai.

Itu bukan lagi masalah dan perbedaannya sebagian besar didasarkan pada preferensi.

Jiri Klouda
sumber
2
Pilihan desain boneka adalah salah satu alasan Chef memulai, dan yang utama saya pindah ke Chef untuk infrastruktur dan sistem CD kami beberapa tahun yang lalu.
Tensibai
2
Orkestrasi boneka adalah fitur Puppet Enterprise (komersial) saja, sedangkan orkestrasi dalam Ansible adalah dalam versi open source. Secara umum, Ansible jauh lebih mudah untuk menginstal dan belajar daripada Wayang - setelah melakukan evaluasi keduanya, saya sekarang menggunakan Ansible. Ada perbedaan lain juga, jadi itu bukan hanya masalah preferensi pribadi.
RichVel
1
Saya menggunakan Ansible di pekerjaan saya sebelumnya dan saat ini, tetapi memiliki masalah sendiri. Semakin banyak saya menggunakan, semakin saya tertarik untuk belajar alternatif lain. Saya lebih suka alternatif ini untuk tidak menggunakan Python untuk pengembangan modul dan memiliki komunitas open source vital yang aktif. Permintaan penarikan keluar untuk Ansible membutuhkan waktu hampir satu tahun untuk ditinjau kembali. Pada tingkat ini, itu bisa juga berpemilik.
Jiri Klouda
1
Banyak orang mengeluh tentang agen boneka, tetapi ketika Anda berada di cloud dan Anda autoscaling grup dan Anda tidak ingin membangun kembali citra vm Anda, bagus bahwa vm terhubung ke master boneka, saya tidak melihat ada masalah untuk punya agen kecil.
c4f4t0r