Jumaat, 5 Mac 2010

Puppet Show (Pertunjukkan Wayang)

Kelmarin saya hadir ke temuduga sebuah syarikat MNC dimana syarikat terbabit menyediakan perkhidmatan laman komuniti dan sosial bagi semua pengguna diseluruh dunia. Saya tertarik dengan satu soalan yang ditujukan kepada saya mengenai suatu senario.

"Bagaimana caranya saya melakukakan software automation pada pelayan yang berskala besar yang mana mempunyai high clustering level dan beratus server?"

Soalan ini ditujukan pada saya kerana syarikat terbabit mempunyai hampir 200 nix server di beberapa buah negara seperti di Sillicon Valley, London, Australia dan Singapore. Pengguna bagi laman komuniti syarikat tersebut juga mencapai beratus juta pengguna.

Berbalik pada soalan tadi, sejujurnya saya menjawab saya hanya melakukan prosedur biasa seperti melakukan UAT terlebih dahulu dan sekiranya semuanya selesai saya akan upload ke server dan melakukan rsync seperti biasa tanpa menggunakan sebarang applikasi komersil seperti OpsWare mahupun BladeLogic. Selain aplikasi komersil, ada juga aplikasi sumber terbuka seperti BCfg2, Cfengine dan Puppet. Cfengine ternyata telah menjadi pilihan utama bagi semua pentadbir sistem yang berskala besar sejak beberapa tahun ini an digunakan secara meluas di banyak syarikat-syarikat kecil mahupun besar. Namun sejak kemunculan Puppet (Wayang) ianya tampak lebih baik dari Cfengine kerana telah banyak mengatasi masalah yang ada pada Cfengine.

Jadi syarikat terbabit telah menggunakan Puppet sebagai software automation dan saya amat teruja melihat keupayaannya. Sejujurnya saya pernah terbaca artikel Puppet di majalah LFY (Linux For You) beberapa bulan lalu, cuma saya tidak berkesempatan untuk mencubanya. Saya benar² teruja untuk mencubanya pada pelayan ESX saya dirumah nanti.

Serba sedikit mengenai Puppet
Puppet ditulis didalam aturcara ruby dan dirilis dibawah GPL. Ini mendukung sejumlah sistem operasi seperti CentOS, Debian, FreeBSD, Gentoo, OpenBSD, Solaris, SuSE Linux, Ubuntu, dll. Puppet sekarang sedang digunakan oleh banyak organisasi termasuk Google, yang menggunakannya untuk menguruskan semua Mac desktop, laptop dan Linux klien . Senarai pengguna Puppet yang lain boleh diambil daripada http://reductivelabs.com/trac/boneka/wiki/WhosUsingPuppet.

Untuk entri yang akan datang saya akan cuba muatkan entri Howto Puppet. Terima kasih buat saudara Andy Ibrahim dengan soalan yang menarik itu. Suffer is not pain but its gain something that we never learn.. more pain more we gain experience