
Saya sangat senang akhirnya memperkenalkan Operon , pengganti berkinerja tinggi untuk Ansible Engine. Operon dirancang untuk instalasi besar dan didistribusikan dengan berlangganan. Ini meluncurkan buku pedoman yang ada, modul, plug-in dan alat pihak ketiga tanpa modifikasi, menggunakan mesin yang ditingkatkan, secara signifikan meningkatkan jumlah aktual node yang ditangani dalam satu kali run, berpotensi menghemat waktu dengan setiap panggilan.
Operon diinstal secara terpisah dan bersama - sama dengan Ansible Engine: Anda dapat secara bertahap mentransfer proyek Anda ke sana atau menggunakannya saat startup jika Anda mau.
Di bawah ini adalah grafik proses untuk 416 tugas common.yml dari DebOps 0.7.2 yang digunakan melalui SSH:

Dibandingkan dengan membersihkan Operabel yang Mungkin, ini mengurangi waktu berjalan per node sekitar 60%. Tetapi dengan peluncuran massal, keuntungannya jauh lebih besar. Lihatlah bagaimana waktu operasi tumbuh (perangkat keras: 24 GB, 8-core Xeon E5530; digunakan untuk mesin virtual Google Cloud melalui SSH dalam 18 ms):

Untuk setiap proses, 416 tugas dilakukan pada setiap node, termasuk item loop. Dalam menjalankan 1024 node, 540 496 tugas diselesaikan dalam 54 menit; throughput rata-rata - 151 tugas / detik. Penskalaan horizontal jelas: hampir 4x, dari 256 hingga 1024 node.
256-node Ansible run harus dibatalkan: untuk waktu yang lama tidak menghasilkan hasil, itu harus diulang berkali-kali, mengurangi jumlah proses dari 40 menjadi 10 sehingga Ansible tidak akan kehabisan sumber daya RAM. Mungkin berhasil dengan 13 proses, tetapi kami harus menolak upaya lebih lanjut: kami sudah menghabiskan 2 hari waktu mesin.
Untuk putaran terakhir, sebelum membatalkan, Ansible menyelesaikan 89% tugas dalam 6 jam dan 13 menit:

Operon dikerahkan ke semua node selama setiap paralel berjalan. Melakukan 1024 proses pada 8 core, itu memberikan peningkatan beban yang hampir tidak terlihat, dan pada 24 core jumlah proses tumbuh sebanyak 6144. Jika kita menjalankan jumlah tugas yang sama pada jumlah node, hanya dengan 16 core, kita berpikir bahwa kita bisa menjalankan selesai tidak dalam 54 menit, tetapi dalam 27.
Konsumsi memori sangat dapat diprediksi dan sebagian besar terlepas dari proses. Dengan 256 proses, Operon mengkonsumsi empat kali lebih sedikit dari konsumsi Ansible dengan 10; pada saat yang sama, prosesor mengkonsumsi setidaknya 15 kali lebih sedikit waktu prosesor.

Di sini kurva masuk ke penurunan: Berjalan mungkin pada 64 node dengan 40 proses, sementara berjalan pada 256 node berjalan dari 10. Berjalan mungkin pada 256 node mengambil 1,6 Gb / proses; jadi, terlepas dari sumber daya RAM yang tersedia, pembatasan parah pada paralelisme yang dapat dicapai telah dibuat.
Operon adalah langkah baru dalam pendekatan pengembangan yang memulai debutnya dengan Mitogen for Ansible . Ini mewarisi peningkatan besar dalam kinerja tingkat rendah yang dibutuhkan oleh ribuan pengguna:


Bukan hanya perangkat lunak
Produktivitas adalah efek samping dari pergeseran budaya menuju orientasi pengguna yang lebih besar, kompatibilitas, dan internalisasi biaya. Kami memiliki sesuatu untuk ditunjukkan, tetapi bagi Anda untuk sepenuhnya merasakan cita rasa dari produk baru ini, saya senang mengumumkan bahwa akan ada jaminan sintaks playbook dengan kompatibilitas langsung - di samping memulihkan beberapa konstruksi Ansible Engine yang sudah usang.
termasuk :
- include: "i-will-always-work.yml"
"dengan" loop
- debug: msg={{item}} with_items: ["i", "will", "always", "work"]
"aksi squash"
- apt: name: "{{item}}" with_items: ["i", "will", "always", "work"]
tanda hubung dalam nama grup
$ cat hosts [i-will-always-work.us.mycorp.com] host1
hash bergabung
# I will always work [defaults] hash_behaviour = merge
Pengiriman Operon dengan sintaks yang kompatibel dengan Ansible 2.9 akan menerima dukungan berkelanjutan , dan menonaktifkan sintaks di Ansible Engine tidak akan mempengaruhi Operon di masa depan. Perubahan seperti itu merusak instalasi kerja tanpa meningkatkan kemampuannya, dan itu adalah sumber utama pekerjaan untuk memperbaiki kesalahan selama pembaruan.
Seiring waktu, jaminan ini meluas ke semantik mesin dan seterusnya.
Bagaimana cara bergabung?
Awalnya, Operon akan didistribusikan dengan dukungan dari Network Genomics , dan ini adalah pengalaman dan komitmen terhadap layanan yang tidak akan Anda dapatkan di tempat lain. Jika tim Anda terjebak dalam jebakan penempatan atau lelah memperbaiki pembaruan selama bertahun-tahun, pertimbangkan untuk meminta penilaian , dan tanpa penundaan, kirimkan saya email - untuk pertanyaan dan poin yang tidak dapat dipahami.
Perangkat lunak terbaik adalah dalam domain publik, sehingga rilis publik akan terjadi ketika kami dapat memberikan tingkat dukungan gratis tertentu. Berlangganan buletin kami untuk mendapat informasi tentang rilis di masa mendatang.
Akankah Operon Meningkatkan Kinerja Windows?
Ya Jika Anda memiliki masalah kinerja selama penerapan Windows Anda, cukup pantau untuk saat ini.
Akankah Operon Meningkatkan Kinerja Perangkat Jaringan?
Ya Operon menghadirkan desain ulang arsitektur yang melampaui lapisan transport dan juga berlaku untuk semua jenis koneksi.
Apakah Operon cabang yang dimungkinkan?
Tidak. Operon adalah penulisan ulang bertahap dari mesin, komponen kecil sekitar 60k baris kode, yang sekitar seperempatnya telah diganti. Setiap instalasi Ansible mencakup sekitar 715 ribu baris, yang sebagian besar, seperti Operon, didukung secara independen oleh komunitas Ansible yang besar.
Akankah Operon Ansible Engine Meningkatkan?
Ya Operon sudah mempromosikan peningkatan dalam Ansible Engine, dan karena ini merupakan penyempurnaan, ada insentif untuk berkontribusi, untuk mengubah kode jika perlu.
Apakah Operon freeware?
Ya Operon dirilis di bawah GPL yang sama dengan Ansible, dan Anda dapat dengan bebas menggunakan kode di bawah lisensi ini.
Apakah Operon merusak kompatibilitas?
Tidak. Operon tidak melanggar kompatibilitas dengan set modul standar, antarmuka plug-in, atau ekosistem yang mungkin ada di sekitarnya, dan tidak berencana untuk melanggarnya. Yang pertama adalah kompatibilitas: Anda tidak boleh ketinggalan di masa depan perbaikan, serta melupakan kompatibilitas ke belakang, seperti peningkatan stabilitas sintaks playbook.
Apakah saya perlu Operon jika saya memiliki rencana hanya untuk satu simpul?
Operon akan memastikan daya saing yang berkelanjutan dari keterampilan yang telah Anda investasikan begitu banyak. Ini menawarkan peningkatan fleksibilitas yang sebelumnya tidak ada: kebebasan untuk memilih mesin. Dengan Operon, Anda menang, bahkan jika Anda tidak menggunakannya secara langsung.