Ansible vs Puppet

Ansible dan Puppet adalah sistem manajemen konfigurasi (SCM) yang diperlukan untuk membangun infrastruktur berulang.

Ansible mudah digunakan, memiliki arsitektur tanpa agen (tidak memerlukan instalasi agen / klien pada sistem target) dan DSL seperti YAML, ditulis dengan Python dan mudah diperluas oleh modul. Biasanya mengelola konfigurasi Linux.

Puppet memiliki arsitektur client-server (secara polling server untuk membuat perubahan pada konfigurasi yang dibuat oleh administrator jaringan), ditulis dalam Ruby dan memiliki DSL seperti Ruby. Aplikasi ini memungkinkan Anda untuk mengatur konfigurasi perangkat lunak yang dipasang di beberapa komputer secara terpusat.

Artikel ini membandingkan kelebihan dan kekurangan SCM ini.



Dibandingkan dengan tahun 90-an, administrator dan pengembang sistem saat ini harus mengelola server dengan jumlah yang jauh lebih besar yang menampung lebih banyak aplikasi. Alasan untuk ini adalah pertumbuhan eksponensial komputasi untuk organisasi dan perusahaan yang terkait dengan munculnya teknologi baru seperti virtualisasi dan komputasi awan.

Dengan demikian, alat-alat seperti Puppet dan Ansible dengan cepat menjadi komponen yang diperlukan untuk mengelola sejumlah besar server, misalnya di pusat data. Mereka disebut Alat Manajemen Konfigurasi (CM) dan Eksekusi Jarak Jauh (RE) dan sering digunakan dengan alat pembaruan perangkat lunak. Aplikasi yang berguna ini memungkinkan, misalnya, administrator jaringan untuk melakukan tindakan pada beberapa server pada saat yang sama, menyebarkan beberapa aplikasi dengan satu kali klik, yang sangat menyederhanakan konfigurasi dan pemeliharaan puluhan, ratusan atau bahkan ribuan server.

Ansible vs. Puppet: A Brief Review


Wayang adalah salah satu merek paling terkenal di pasar CM. Itu ada sejak 2005, yang untuk alat CM sama saja dengan keberadaan sejak awal umat manusia. Banyak nama besar seperti Google, Reddit, Dell, PayPal, Oracle, Los Alamos Labs, dan Stanford University mengelola pusat data mereka dengan Puppet. Memiliki pelanggan seperti itu di kapal selalu memberikan tingkat kepercayaan produk tertentu. Puppet juga menawarkan antarmuka yang paling matang dan bekerja pada semua sistem operasi utama - Linux, Windows, Unix dan bahkan Mac OS X. Mengikuti model yang dibuat oleh berbagai versi Linux, aplikasi open source ini dikembangkan di Ruby. Namun, ada dukungan PuppetLabs yang solid dan mapan perusahaan,menawarkan dukungan profesional dan versi korporat komersial dari perangkat lunak.

Wayang juga menawarkan prosedur instalasi sederhana dan beberapa alat untuk tugas-tugas seperti penyebaran cepat ke server klien. Selain GUI, ada CLI berbasis Ruby. Faktanya, untuk sebagian besar tugas tingkat lanjut, kemungkinan besar Anda harus bergantung pada CLI, dan GUI adalah antarmuka untuk melihat, mengelola, dan memantau. Ini berarti bahwa selain bekerja sebagai administrator sistem, Anda perlu mempelajari Ruby.



Anda mungkin berpikir: β€œSemuanya terdengar hebat! Apakah ada kerugian, atau apakah layak pergi dan membeli Wayang sekarang? ”.. Perdebatan tentang menggunakan SCM ini di forum CM khusus adalah bahwa Wayang, seperti banyak raksasa perangkat lunak lainnya, telah menjadi korban dari kesuksesan dan ukurannya sendiri. "Cekatan" dan "gesit" bukanlah kata-kata yang dapat digunakan untuk menggambarkan karya Wayang. Pengguna melaporkan bug yang membutuhkan waktu terlalu lama untuk memperbaiki dan mengabaikan permintaan baru. Ada juga beberapa ketidakpuasan dengan fakta bahwa PuppetLabs terus mendorong pelanggannya untuk menerima versi komersial. Akhirnya, meskipun Wayang mendukung Ruby murni dan DSL yang dikonfigurasi pada CLI, dukungan untuk Ruby saja sudah usang. Ini adalah berita buruk bagi mereka yang hanya mempelajari Ruby, bukan DSL.

Anpeted bypassed Puppet, merebut pangsa pasar terbesar di industri manajemen konfigurasi - 26,5%. Diikuti oleh Microsoft System Center CM (21,8%) dan Wayang (12%).



Ini juga merupakan produk open source yang dirilis pada 2012 dan sejak itu telah didukung oleh AnsibleWorks. Itu dikembangkan dalam Python daripada Ruby, yang membuatnya lebih dekat secara spiritual dengan Salt (alat CM baru lainnya) dari Puppet. Keuntungan lain dari Python adalah bahwa ia dibangun ke sebagian besar aplikasi Unix dan Linux, sehingga SCM yang ditulis dalam bahasa ini menginstal dan bekerja lebih cepat.

Cara pemasaran unik Ansible terletak pada penyebarannya yang mudah dan cepat. Bahkan, sistem ini bahkan tidak menggunakan agen yang digunakan untuk berkomunikasi dengan klien master, melainkan semua fungsi dilakukan melalui SSH. Untuk konfigurasi yang tidak mendukung SSH root, Ansible dapat menjalankan "sudo" sebagai root. Kemungkinan dapat diluncurkan dari CLI tanpa menggunakan file konfigurasi untuk tugas-tugas sederhana, seperti memeriksa operasi layanan atau memulai pembaruan dan reboot. Untuk tugas yang lebih kompleks, konfigurasi yang mungkin ditangani menggunakan sintaks YAML dalam file konfigurasi yang disebut "playbooks". Perintah yang memungkinkan dapat ditulis dalam hampir semua bahasa pemrograman dan didistribusikan sebagai modul JSON universal, yang jelas merupakan keunggulan dibandingkan pilihan satu bahasa tertentu.

Ansible telah menjadi lebih populer dengan pendekatan baru pada tugas-tugas konfigurasi tradisional, dan banyak perusahaan menggunakannya untuk menggunakan pusat data besar.

Komunitas penggemar yang antusias sedang bekerja keras untuk membangun keberhasilannya dengan meningkatkan jumlah perangkat yang didukung, mengintegrasikan dukungan Windows yang lebih baik, meningkatkan ekosistem, dan sebagainya.

Ansible vs. Puppet: Perbedaan Instalasi


Perbedaan antara Ansible atau Wayang menjadi jelas sejak sistem diinstal. Karena mereka mengikuti paradigma arsitektur yang berbeda, latar mereka sangat berbeda. Jadi, Ansible memiliki tujuan eksplisit untuk membuat proses pengaturan sesederhana mungkin, yang tercermin dalam pengalaman pengguna.



Untuk mengkonfigurasi Ansible, pertama-tama Anda harus menunjuk satu simpul sebagai simpul kontrol. Faktanya, sembarang simpul Anda bisa menjadi simpul manajemen. Anda dapat menginstal Ansible pada node ini menggunakan paket Ansible terbaru dari repositori paket distribusi Anda, tanpa perlu mengkonfigurasi perangkat lunak klien pada node lain. Cukup buat pasangan kunci SSH pada node manajemen Anda, lalu salin ke node lain. Selanjutnya, buat file inventaris untuk node yang mungkin - biasanya di OS Linux seperti Red Hat Linux, Ubuntu, dan Debian ini terjadi di / etc / ansible / hosts. Anda sekarang siap untuk menggunakan Kemungkinan untuk meluncurkan PlayBook pada host Anda dan infrastruktur jaringan lainnya.Ansible akan menggunakan koneksi SSH dengan node kontrol Anda untuk memicu manajemen konfigurasi berbasis PlayBook.

Menyiapkan Wayang terlihat sedikit lebih rumit, tetapi ada banyak dokumentasi di Internet yang akan membantu dalam kasus yang sulit. Pertama, Anda perlu mengkonfigurasi node master dan agen sehingga mereka memiliki zona waktu dan waktu yang sama. Kemudian Anda harus pergi ke server master dengan hak akses root dan menginstal perangkat lunak server Wayang. Selanjutnya, Anda perlu mengkonfigurasi file wizard Puppet / etc / hosts untuk menghubungkan semua klien yang dikelola, memulai layanan PuppetServer dan meletakkannya dalam mode "aktifkan" untuk menerima koneksi klien pada port 8140. Karena Wayang bergantung pada perangkat lunak klien, Anda perlu menginstal agen perangkat lunak Wayang pada masing-masing dari mereka.

Selain itu, Anda perlu menambahkan alamat IP dari server master di / etc / hosts sehingga klien dapat terhubung ke sana. Untuk melakukan ini, Anda harus memulai dan mengaktifkan layanan agen Wayang pada setiap klien, dan kemudian menghasilkan sertifikat SSL, karena sistem CM ini menggunakan HTTPS untuk komunikasi klien master.

Dalam kedua kasus, akan perlu untuk memperkuat keamanan server untuk mengecualikan kemungkinan koneksi yang tidak sah.

Ansible vs. Puppet: skalabilitas dan mekanisme transportasi konfigurasi


Kedua SCM berskala baik, tetapi menggunakan mekanisme transportasi konfigurasi yang berbeda untuk mencapai ini. Bahkan, terlepas dari apakah Anda perlu mengelola beberapa ratus atau puluhan ribu node, ada trik dan strategi yang dapat Anda gunakan pada setiap platform untuk dengan mudah skala ke tingkat yang diinginkan.



Ansible menggunakan mekanisme transportasi pintar secara default, yang didasarkan pada sertifikat SSH yang tepercaya. Ansible pertama-tama akan menganalisis PlayBook dan mengidentifikasi elemen infrastruktur yang terpengaruh. Dia kemudian akan membuka koneksi SSH dan membuat direktori sementara. Setelah menutup koneksi ini, Ansible membuka koneksi kedua untuk menyalin kode modul Ansible dan kode template Ansible. Ansible akan menutup koneksi ini sebelum membuka koneksi terakhir ketiga untuk mengeksekusi kode. Pengaturan ini akan melayani sebagian besar tujuan, tetapi dapat diubah sebagai skala infrastruktur.

Fungsi pertama yang Ansible dapat gunakan disebut ControlPersist, dan bergantung pada soket persisten, persisten untuk mengurangi waktu yang diperlukan untuk bertukar jabat tangan yang diperlukan untuk beberapa koneksi. Ansible juga mendukung pipelining, konfigurasi yang mengurangi jumlah koneksi yang diperlukan dari tiga menjadi satu. Akhirnya, Ansible dapat dikonfigurasikan untuk menangani lebih banyak node inventaris pada saat yang sama dengan mengatur variabel fork dalam konfigurasi sistem ini. Secara default, nilai ini adalah 5, tetapi Anda dapat mengatur nilai yang lebih tinggi untuk mempercepat pemrosesan.



Mekanisme transportasi Wayang adalah HTTPS, yang dikelola menggunakan sertifikat SSL. Satu server Wayang menangani permintaan konfigurasi untuk seluruh daftar klien Wayang. Setiap klien mengirim fakta Wayang ke server master bersama dengan permintaan ke direktori Wayang, setelah itu server master mengirimkan direktori ini sebagai tanggapan. Klien kemudian memproses direktori, memeriksa setiap sumber daya perangkat lunak dengan keadaan konfigurasi yang diperlukan ditentukan dalam direktori. Jika sumber daya tidak dalam kondisi yang diinginkan, klien Wayang akan memperbarui sumber daya di komputer ini dan, setelah pembaruan selesai, akan mengirim laporan tentang perubahan konfigurasi yang telah selesai ke server Wayang.



Khususnya, model pemrosesan Wayang mengalokasikan thread JRuby dari pool thread untuk menangani setiap koneksi klien yang masuk. Dengan meningkatnya jumlah node, penskalaan Wayang dapat dioptimalkan dengan meningkatkan jumlah utas JRuby yang tersedia di kumpulan. Ini dapat dilakukan dengan mengatur parameter konfigurasi Puppet "max-active-instance" lebih tinggi dari nilai default, yaitu 1. Sebagai aturan, nilai ini diasumsikan sama dengan jumlah inti prosesor komputer Anda, tetapi perlu diingat bahwa ini akan membutuhkan lebih banyak Memori CPU menggunakan RAM RAM. Sebagai aturan umum, Anda juga perlu mengatur "ukuran heap maksimum" yang lebih tinggi untuk JVM dari server Wayang Anda untuk memastikanbahwa utas JRuby tambahan Anda dapat dialokasikan tanpa kesalahan kehabisan memori Java. Perhatian diperlukan saat membuat pengaturan ini, karena ini dapat mengakibatkan hilangnya kinerja.

CM Contoh Kode yang Mungkin


Untuk pekerjaan konfigurasi sehari-hari, menulis kode Ansible sangat sederhana karena kombinasi dua faktor: penggunaan format YAML untuk PlayBooks dan gaya deklaratif manajemen konfigurasi yang memotong "sudut tajam". Ini penting untuk meningkatkan kinerja perintah DevOps dengan cepat dan memastikan bahwa kode Anda dapat dikelola bahkan untuk tugas konfigurasi yang rumit.

Kode yang memungkinkan idempoten. Ini berarti Anda dapat menjalankan PlayBook untuk komponen sistem dengan aman berulang kali tanpa mengacaukan server Anda. Ansible hanya akan mengubah konfigurasi sumber daya perangkat lunak pada server yang berada di luar keadaan yang diinginkan. Misalnya, jika PlayBook Anda perlu menginstal paket dan membuat file konfigurasi khusus pada disk, Ansible hanya akan menginstal paket itu dan membuat file konfigurasi yang ditentukan saat PlayBook pertama kali diluncurkan pada host. Peluncuran selanjutnya dari PlayBook secara otomatis membiarkan paket tetap utuh sampai ada perubahan yang menghapus atau memodifikasi file atau konfigurasi paket yang ditentukan. Ini membuat simpul Anda dalam keadaan deterministik yang dapat diprediksi dan sangat sedikit atau tidak ada peluang konfigurasi melayang.

Berikut ini adalah contoh kode PlayBook yang memungkinkan yang menginstal server web Tomcat di situs Anda. Contoh ini diambil dari repositori contoh Ansible resmi , yang harus Anda perhatikan untuk lebih membiasakan diri dengan gaya idiomatik Ansible:

---
- name: Install Java 1.7
yum: name=java-1.7.0-openjdk state=present

- name: add group "tomcat"
group: name=tomcat

- name: add user "tomcat"
user: name=tomcat group=tomcat home=/usr/share/tomcat createhome=no
become: True
become_method: sudo

- name: Download Tomcat
get_url: url=http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.61/bin/apache-tomcat-7.0.61.tar.gz dest=/opt/apache-tomcat-7.0.61.tar.gz

- name: Extract archive
command: chdir=/usr/share /bin/tar xvf /opt/apache-tomcat-7.0.61.tar.gz -C /opt/ creates=/opt/apache-tomcat-7.0.61

- name: Symlink install directory
file: src=/opt/apache-tomcat-7.0.61 path=/usr/share/tomcat state=link

- name: Change ownership of Tomcat installation
file: path=/usr/share/tomcat/ owner=tomcat group=tomcat state=directory recurse=yes

- name: Configure Tomcat server
template: src=server.xml dest=/usr/share/tomcat/conf/
notify: restart tomcat

- name: Configure Tomcat users
template: src=tomcat-users.xml dest=/usr/share/tomcat/conf/
notify: restart tomcat

- name: Install Tomcat init script
copy: src=tomcat-initscript.sh dest=/etc/init.d/tomcat mode=0755

- name: Start Tomcat
service: name=tomcat state=started enabled=yes

- name: deploy iptables rules
template: src=iptables-save dest=/etc/sysconfig/iptables
when: "ansible_os_family == 'RedHat' and ansible_distribution_major_version == '6'"
notify: restart iptables

- name: insert firewalld rule for tomcat http port
firewalld: port=/tcp permanent=true state=enabled immediate=yes
when: "ansible_os_family == 'RedHat' and ansible_distribution_major_version == '7'"

- name: insert firewalld rule for tomcat https port
firewalld: port=/tcp permanent=true state=enabled immediate=yes
when: "ansible_os_family == 'RedHat' and ansible_distribution_major_version == '7'"

- name: wait for tomcat to start
wait_for: port=

Tugas Ansible khusus ini mengunduh dan menginstal Apache Tomcat bersama dengan Java JDK 1.7 yang bergantung, dan kemudian mengonfigurasi, memulai, dan menginstal Tomcat. Seperti yang dapat Anda lihat dari contoh ini, file yang digerakkan oleh file dapat berisi template Jinja, yang menyederhanakan perhitungan nilai dan membuat konfigurasi Anda lebih fleksibel. Kode YAML mudah dibaca dan ditulis untuk administrator sistem dan pengembang. Ini mengarah pada fakta bahwa Ansible menjadi sistem manajemen konfigurasi yang terjangkau untuk pengguna tingkat lanjut dan pemula.

Contoh CM Wayang


Bahasa Wayang yang berorientasi pada subjek didasarkan pada Ruby, tetapi sintaksisnya jauh lebih dekat dengan bahasa gaya C yang imperatif seperti Perl, Java, dan C ++. Pendekatan ini adalah perantara antara pengembang yang akrab dengan Ruby dan mereka yang mungkin tidak terbiasa dengan bahasa ini. Akibatnya, Anda mungkin tidak perlu mengenal Ruby sama sekali untuk mempelajari dan menggunakan DSL Wayang secara produktif.
Ini adalah contoh manifes Wayang dari gudang PuppetLabs MySQL Puppet Module yang menginstal dan mengonfigurasi paket klien MySQL:

# @summary
#     Installs and configures the MySQL client.
#
# @example Install the MySQL client
#     class {'::mysql::client':
#         package_name => 'mysql-client',
#         package_ensure => 'present',
#         bindings_enable => true,
#     }
#
# @param bindings_enable
#     Whether to automatically install all bindings. Valid values are `true`, `false`. Default to `false`.
# @param install_options
#     Array of install options for managed package resources. You must pass the appropriate options for the package manager.
# @param package_ensure
#     Whether the MySQL package should be present, absent, or a specific version. Valid values are 'present', 'absent', or 'x.y.z'.
# @param package_manage
#     Whether to manage the MySQL client package. Defaults to `true`.
# @param package_name
#     The name of the MySQL client package to install.
#
class mysql::client (
    $bindings_enable = $mysql::params::bindings_enable,
    $install_options = undef,
    $package_ensure = $mysql::params::client_package_ensure,
    $package_manage = $mysql::params::client_package_manage,
    $package_name = $mysql::params::client_package_name,
)  inherits mysql::params {
    
    include '::mysql::client::install'

    if $bindings_enable {
        class { 'mysql::bindings':
            java_enable => true,
            perl_enable => true,
            php_enable => true,
            python_enable => true,
            ruby_enable => true,
        }
    }

# Anchor pattern workaround to avoid resources of mysql::client::install to
# "float off" outside mysql::client
anchor { 'mysql::client::start': }
-> Class['mysql::client::install']
-> anchor { 'mysql::client::end': }
}

Keuntungan penting dari Puppet adalah bahwa, tidak seperti bahasa pemrograman imperatif yang tercantum di atas, Puppet DSL bersifat deklaratif, dalam beberapa hal mirip dengan XML, serta kode YAML dari contoh kode Ansible di atas. Pendekatan deklaratif baik Puppet dan Ansible benar-benar dilacak dalam kedua contoh kode. Dalam hal pengkodean, mereka mirip dan lebih dekat satu sama lain daripada alat-alat seperti Chef. Namun, bahasa boneka Deklaratif juga menyediakan konstruksi seperti-Ruby seperti ekspresi bersyarat dan iterasi, yang lagi-lagi merupakan kompromi bagi pengguna Ruby dan mereka yang tidak berbicara bahasa.

Ansible vs. Puppet: Kemudahan Penggunaan


Untuk tim pengembangan, kemudahan penggunaan harus menjadi bagian penting dalam mengevaluasi SCM. Mengingat bahwa pengembang Ansible memfokuskan banyak upaya pada kemudahan penggunaan sistem, tidak ada pesaing dalam hal ini. Konfigurasi, pemrograman, dan pengelolaan node menyediakan antarmuka yang sangat sederhana untuk insinyur pengembangan dan administrator sistem.

Ini tidak berarti bahwa Wayang sulit digunakan, hanya saja sistem ini berperilaku percaya diri saat Anda mengikuti metode otomatisasi infrastruktur yang diusulkan. Di area ini, Wayang cukup kuat, secara eksplisit memodelkan setiap sumber daya dan memberi pengguna modul perilaku standar yang secara efisien digunakan dalam manifes Anda.

Dalam hal pembelajaran pengguna, kedua platform mudah digunakan, tetapi Ansible memiliki sedikit keuntungan. Sangat mudah untuk mencapai gaya YAML deklaratif, jadi kode yang mungkin tidak pernah terlalu rumit. Sementara itu, Wayang telah mengenali beberapa masalah yang terkait dengan menggabungkan data dan kode dalam file sumber yang sama. Hal ini menyebabkan munculnya Puppet Hiera, solusi penyimpanan yang menggunakan format YAML untuk menyimpan pasangan nilai kunci dari data konfigurasi. Hiera berusaha keras untuk menyederhanakan dan mengoptimalkan pengalaman Wayang Devop. Format YAML telah terbukti cukup populer untuk manajemen konfigurasi, dengan Salt dari SaltStack juga menggunakan format ini.
Kedua SCM memiliki kemampuan untuk memvalidasi dan menguji CM Anda, dari pemeriksaan sintaksis hingga integrasi infrastruktur-sebagai-kode.

Ansible vs. Puppet: biaya lisensi dan implementasi





Sebagai alat open source, Ansible dan Puppet memiliki banyak kesamaan dalam kebijakan lisensi mereka.

Rilis open source Ansible benar-benar gratis. Perusahaan yang membutuhkan lebih banyak jaminan keamanan, stabilitas dan keandalan didorong untuk meningkatkan ke Ansible Engine, produk kelas perusahaan yang dikirimkan bersama Red Hat Linux. Biaya lisensi Engine yang dimungkinkan biasanya berkisar dari $ 47,50 hingga $ 70 per tahun per node dan tergantung pada konfigurasi yang Anda inginkan.

Jika Anda memerlukan dukungan teknis dengan pemecahan masalah cepat, Anda harus menggunakan versi perusahaan. Ansible Tower Large Enterprise Management Tool tersedia sebagai paket layanan dan memberi perusahaan Anda lebih banyak pelatihan, manajemen, dan kemampuan penjadwalan pekerjaan melalui panel kontrol grafis.

Seperti Ansible, rilis Wayang sumber terbuka tersedia secara gratis. Untuk fitur perusahaan tambahan dan dukungan teknis, organisasi dapat meningkatkan ke Puppet Enterprise, yang biayanya mulai dari $ 112 hingga $ 199 per tahun per node. Puppet Enterprise menawarkan paket beberapa alat, termasuk melaporkan dan memantau status infrastruktur perusahaan.

Ansible vs Puppet: Community


Puppet, dirilis pada 2005, adalah alat DevOps yang lebih tua, sehingga memiliki lebih banyak waktu untuk membuat komunitas dan basis pengguna sendiri. Namun demikian, Ansible, diluncurkan pada 2012, berkat pendekatan barunya, mampu menarik audiens yang lebih besar dan menciptakan komunitas penggemar dan pengguna pengembang yang sangat dinamis. Pengguna boneka termasuk perusahaan seperti Uber, Salesforce, dan Paypal, sedangkan komunitas Ansible mencakup perusahaan seperti Digital Ocean, 9GAG, dan TypeForm.

Jika kita membandingkan indikator penting pengembangan produk sumber terbuka seperti jumlah kontributor yang berpartisipasi dalam pengembangan di GitHub, Ansible dengan lebih dari 4.800 kontributor jauh lebih unggul daripada Wayang dengan 527 kontributornya dalam pengembangan produk. Perkembangan Ansible dalam beberapa tahun terakhir telah begitu cepat sehingga telah melahirkan penciptaan "galaksi" repositori terpisah dari Ansible Galaxy . Ini berarti bahwa komunitas Ansible berusaha membagikan kode-kodenya, sehingga berkontribusi pada pengembangan lebih lanjut dari produk.

Sementara itu, komunitas Wayang, yang berkembang lebih lambat dan mantap, telah menciptakan infrastruktur untuk memudahkan menemukan solusi untuk memenuhi kebutuhan SCM Anda. Puppet Forge menyediakan modul untuk tugas-tugas manajemen konfigurasi umum untuk komunitas Wayang.

Kedua sistem memiliki alat kelas satu untuk memantau siklus hidup proyek manajemen konfigurasi melalui baris perintah. Baik Puppet dan Ansible terintegrasi dengan baik dengan sistem DevOps lain yang banyak digunakan seperti Docker, Kubernetes dan Jenkins, dan platform komputasi awan AWS dan Azure.

Ansible vs Puppet: mana yang lebih baik?


Dalam hal ini, pilihan ada di tangan Anda. Gaya deklaratif dari Ansible dan Puppet berarti bahwa alat ini memiliki lebih banyak kesamaan daripada sistem manajemen konfigurasi lainnya. Namun, untuk membuat pilihan terbaik, Anda perlu memberi perhatian khusus pada bagaimana kebutuhan tim Anda dikombinasikan dengan desain dan keunggulan SCM tertentu.
Ansible lebih cocok bagi mereka yang tertarik dengan konfigurasi gaya YAML dan berbagi filosofi Ansible menjadi sesederhana mungkin sambil mengelola kumpulan besar mesin dengan cepat dan simultan. Selain itu, filosofi ini berfokus pada penggunaan fungsi SSH yang ada alih-alih membuat agen pengguna.

Wayang lebih cocok untuk tim yang lebih suka DSL, yang memodelkan sumber daya sistem secara konsisten, berulang-ulang. Inilah yang dilakukan Puppet DSL, bersama dengan seluruh ekosistem alat untuk membuat tim besar dapat diprediksi dan mudah.

Jika Anda tahu persis prinsip manajemen konfigurasi mana yang paling sesuai dengan kebutuhan Anda, memilih antara Wayang dan Ansible tidak akan menjadi masalah bagi Anda.

temuan


Untuk memfasilitasi pilihan Anda, kami sarankan agar Anda membiasakan diri dengan kelebihan dan kekurangan utama dari kedua sistem.



Sedikit iklan :)


Terima kasih untuk tetap bersama kami. Apakah Anda suka artikel kami? Ingin melihat materi yang lebih menarik? Dukung kami dengan melakukan pemesanan atau merekomendasikan kepada teman Anda VPS berbasis cloud untuk pengembang mulai $ 4,99 , analog unik dari server entry-level yang diciptakan oleh kami untuk Anda: Seluruh kebenaran tentang VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps mulai dari $ 19 atau cara membagi server? (opsi tersedia dengan RAID1 dan RAID10, hingga 24 core dan hingga 40GB DDR4).

Dell R730xd 2 kali lebih murah di pusat data Equinix Tier IV di Amsterdam? Hanya kami yang memiliki 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV dari $ 199 di Belanda!Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - mulai dari $ 99! Baca tentang Cara Membangun Infrastruktur Bldg. kelas c menggunakan server Dell R730xd E5-2650 v4 seharga 9.000 euro untuk satu sen?

All Articles