Apakah Chef Itu? - Alat yang Digunakan Untuk Manajemen Konfigurasi



Blog di What is Chef ini adalah blog pertama dari seri blog Chef. Ini berbicara tentang Manajemen Konfigurasi dan bagaimana Chef mencapai itu menggunakan kasus penggunaan.

Chef adalah alat yang digunakan untuk Manajemen Konfigurasi dan bersaing ketat dengannya Wayang . Di blog ini, saya akan menjelaskan Apa itu Chef, Manajemen Konfigurasi, dan bagaimana Chef mencapai Manajemen Konfigurasi dengan kasus penggunaan.

Apakah Chef Itu?

Chef adalah alat otomatisasi yang menyediakan cara untuk mendefinisikan infrastruktur sebagai kode. Infrastructure as code (IAC) secara sederhana berarti mengelola infrastruktur dengan menulis kode (Mengotomatiskan infrastruktur) daripada menggunakan proses manual. Ini juga dapat disebut sebagai infrastruktur yang dapat diprogram. Chef menggunakan Ruby-murni, bahasa khusus domain (DSL) untuk menulis konfigurasi sistem. Di bawah ini adalah jenis otomatisasi yang dilakukan oleh Chef, terlepas dari ukuran infrastrukturnya:





  • Konfigurasi infrastruktur
  • Penerapan aplikasi
  • Konfigurasi dikelola di seluruh jaringan Anda

Suka Wayang yang memiliki arsitektur Master-Slave bahkan Chef memiliki arsitektur Client-Server. Tetapi Chef memiliki komponen tambahan yang disebut Workstation. Saya akan berbicara tentang workstation di blog saya berikutnya. Lihat diagram di bawah ini:

Chef vs Puppet - Apa Itu Chef - Edureka



Di Chef, Node diperbarui secara dinamis dengan konfigurasi di Server. Ini disebut Konfigurasi Tarik yang berarti bahwa kita tidak perlu menjalankan bahkan satu perintah pun di server Chef untuk mendorong konfigurasi pada node, node akan otomatis memperbarui dirinya sendiri dengan konfigurasi yang ada di Server. Blog saya berikutnya di Tutorial Chef akan menjelaskan arsitektur Chef bersama dengan semua komponen Chef secara detail.

Sekarang, mari kita lihat alasan di balik popularitas Chef.

What Is Chef - Chef Key Metrics

  • Chef mendukung berbagai platform seperti AIX, RHEL / CentOS, FreeBSD, OS X, Solaris, Microsoft Windows dan Ubuntu. Platform klien tambahan termasuk Arch Linux, Debian dan Fedora.
  • Chef dapat diintegrasikan dengan platform berbasis cloud seperti Internap, Amazon EC2, Google Cloud Platform, OpenStack, SoftLayer, Microsoft Azure, dan Rackspace untuk menyediakan dan mengkonfigurasi mesin baru secara otomatis.
  • Chef memiliki dukungan komunitas yang aktif, cerdas, dan berkembang pesat.
  • Karena kedewasaan dan fleksibilitas Chef, ini digunakan oleh raksasa seperti Mozilla, Expedia, Facebook, HP Public Cloud, Prezi, Xero, Ancestry.com, Rackspace, Get Satisfaction, IGN, Marshall University, Socrata, University of Minnesota, Wharton School dari Universitas Pennsylvania, Bonobo, Splunk, Citi, DueDil, Disney, dan Cheezburger.

Menurut Phil Dibowitz, Production Engineer, Facebook



“Ada tiga dimensi skala yang biasanya kami lihat untuk infrastruktur - jumlah server, volume konfigurasi yang berbeda di seluruh sistem tersebut, dan jumlah orang yang diperlukan untuk mempertahankan konfigurasi tersebut. Chef menyediakan solusi otomatisasi yang cukup fleksibel untuk menyesuaikan dengan dinamika timbangan kami tanpa mengharuskan kami mengubah alur kerja. ”

Tidak diragukan lagi, Chef adalah salah satu alat Manajemen Konfigurasi yang paling terkenal dan bersaing ketat dengannya Wayang . Namun, sebelum mendalami 'Apa itu Chef', wajar jika saya menjelaskan terlebih dahulu apa itu Manajemen Konfigurasi dan mengapa itu penting.

Manajemen konfigurasi

Jangan khawatir, tidak akan ada definisi berat tentang Manajemen Konfigurasi di blog ini :)

kapan harus menggunakan ini di java

Biarkan kami memahami Manajemen Konfigurasi dengan cara ini - misalkan Anda harus menerapkan perangkat lunak di atas ratusan sistem. Perangkat lunak ini dapat berupa sistem operasi atau kode atau dapat berupa pembaruan dari perangkat lunak yang sudah ada. Anda dapat melakukan tugas ini secara manual, tetapi apa yang terjadi jika Anda harus menyelesaikan tugas ini dalam semalam karena besok mungkin a Miliaran Hari Besar dijual di perusahaan atau beberapa M atau Penjualan dll. yang diperkirakan lalu lintas padat. Bahkan jika Anda dapat melakukan ini secara manual, ada kemungkinan besar beberapa kesalahan pada hari besar Anda. Bagaimana jika perangkat lunak yang Anda perbarui pada ratusan sistem tidak berfungsi, lalu bagaimana Anda akan kembali ke versi stabil sebelumnya, apakah Anda dapat melakukan tugas ini secara manual? AF-tentu saja tidak!

Untuk mengatasi masalah ini, Manajemen Konfigurasi diperkenalkan. Dengan menggunakan alat Manajemen Konfigurasi seperti Chef, Puppet, dll. Anda dapat mengotomatiskan tugas ini. Yang harus Anda lakukan adalah menentukan konfigurasi dalam satu server terpusat dan karenanya semua node akan dikonfigurasi. Ini memungkinkan akses ke catatan historis yang akurat dari status sistem untuk manajemen proyek dan tujuan audit. Jadi pada dasarnya, kita perlu menentukan konfigurasi sekali di server pusat dan menirunya di ribuan node. Manajemen Konfigurasi membantu dalam melakukan tugas-tugas di bawah ini dengan cara yang sangat terstruktur dan mudah:

  • Mencari tahu komponen mana yang harus diubah saat persyaratan berubah.
  • Mengulangi implementasi karena persyaratannya telah berubah sejak implementasi terakhir.
  • Mengembalikan ke versi sebelumnya dari komponen jika Anda telah menggantinya dengan versi baru tapi cacat.
  • Mengganti komponen yang salah karena Anda tidak dapat secara akurat menentukan komponen mana yang seharusnya diganti.

Lihat blog saya di Puppet untuk mempelajari bagaimana NYSE menghemat jutaan dolar dengan bantuan Manajemen Konfigurasi

Ada dua cara untuk mengelola konfigurasi Anda yaitu konfigurasi Dorong dan Tarik.

  • Konfigurasi Tarik: Dalam jenis Manajemen Konfigurasi ini, node mengumpulkan server terpusat secara berkala untuk pembaruan. Node ini dikonfigurasi secara dinamis sehingga pada dasarnya mereka menarik konfigurasi dari server terpusat. Konfigurasi tarik digunakan oleh alat-alat seperti Koki, Boneka dll.
  • Konfigurasi Push: Dalam jenis Manajemen Konfigurasi ini, Server terpusat mendorong konfigurasi ke node. Tidak seperti Konfigurasi Tarik, ada perintah tertentu yang harus dijalankan di server terpusat untuk mengkonfigurasi node. Konfigurasi Push digunakan oleh alat seperti Ansible.

Pelajari berbagai komponen Manajemen Konfigurasi di Blog Tutorial Boneka saya

Sekarang adalah waktu yang tepat saya membawa Anda ke depan dalam pencarian pemahaman 'Apa itu Chef' dengan menjelaskan bagaimana Chef mencapai Manajemen Konfigurasi.

What Is Chef - Manajemen Konfigurasi Dengan Chef

Kami telah memahami apa itu Chef, sekarang saya akan menjelaskan kepada Anda bagaimana Chef mencapai Manajemen Konfigurasi dengan kasus penggunaan. Gannett adalah perusahaan induk media Amerika yang diperdagangkan secara publik. Ini adalah penerbit surat kabar AS terbesar yang diukur dari total sirkulasi harian.

Alur kerja penerapan tradisional Gannett ditandai dengan beberapa handoff dan pengujian manual. Mari kita lihat masalah apa yang mereka hadapi dengan proses ini:

  • Mempertahankan build yang akurat dan berulang itu sulit.
  • Ada banyak kegagalan build dan pengujian sering kali dijalankan di lingkungan yang salah.
  • Waktu penerapan dan penyediaan dapat berkisar dari beberapa hari hingga beberapa minggu.
  • Tim operasi tidak memiliki akses ke cloud atau lingkungan pengembangan.
  • Setiap kelompok menggunakan perangkatnya sendiri, dan tidak ada akuntabilitas keuangan atau keamanan. Tidak ada yang tahu berapa biaya aplikasi sebenarnya. Keamanan tidak memiliki cara untuk mengaudit tumpukan perangkat lunak.

Gannett siap untuk perubahan itu. Pengembang ingin menerapkan aplikasi mereka dengan cepat. Operasi menginginkan infrastruktur yang stabil di mana mereka dapat membangun dan menyebarkan dengan cara yang berulang. Keuangan ingin mengetahui biaya sebenarnya dari sebuah aplikasi. Keamanan ingin melihat dan mengaudit semua tumpukan dan dapat melacak perubahan.

Gannett melihat cloud sebagai layanan menawarkan banyak keuntungan. Pengembang memiliki akses ke sumber daya standar. Lebih mudah menangani lalu lintas yang padat karena model cloud compute-on-demand, dan handoff diminimalkan.

Chef memungkinkan Anda untuk secara dinamis menyediakan dan membatalkan penyediaan infrastruktur Anda sesuai permintaan untuk mengikuti puncak penggunaan dan lalu lintas. Ini memungkinkan layanan dan fitur baru untuk diterapkan dan diperbarui lebih sering, dengan sedikit risiko downtime. Dengan Chef, Anda dapat memanfaatkan semua fleksibilitas dan penghematan biaya yang ditawarkan cloud.

Mari kita lihat fungsi apa saja yang dilakukan oleh Chef di Gannett:

  • Gannett mulai membuat VPC (Virtual Private Cloud) untuk lingkungan pengembangan yang akan meniru produksi. Tidak ada alat yang mereka gunakan yang sesuai. Tetapi mereka menemukan bahwa Chef bekerja dengan baik dengan cloud dan lingkungan Linux dan Windows. Mereka menggunakan Chef untuk membangun lingkungan pengembangan yang sangat cocok dengan lingkungan produksi.
  • Agar aplikasi dapat dipindahkan ke VPC, aplikasi tersebut harus disediakan dan diterapkan dengan Chef.
  • Keamanan akan dilibatkan sejak awal dan akan mengelola kontrol wajib untuk akses ke Chef dan untuk menjaga standar keamanan sistem.

Sekaranglah waktunya untuk memahami apa hasil dari proses ini:

  • Penerapan Gannett menjadi lebih cepat dan lebih andal. Penyediaan dan penerapan aplikasi, yang pernah memakan waktu berminggu-minggu, setelah menggunakan Chef, butuh beberapa menit.
  • Semua aplikasi baru diterapkan di cloud dengan Chef. Aplikasi ini diterapkan ke semua lingkungan dengan cara yang sama seperti saat diterapkan ke produksi. Selain itu, pengujian terjadi di setiap lingkungan, sehingga penerapan dapat diandalkan.
  • Semua infrastruktur diperlakukan sebagai kode, yang sangat meningkatkan visibilitas ke setiap perubahan yang terjadi. Pengembangan, Operasi, Keamanan, dan Keuangan semua mendapat manfaat dari ini.

Setelah ' Apa itu Chef 'Blog saya berikutnya yaitu Tutorial Chef berfokus pada arsitektur Chef beserta komponennya. Saya juga telah menjelaskan cara menerapkan Apache2 menggunakan Chef.

Jika Anda menemukan blog ini di “ Apa itu Chef 'Relevan, lihat oleh Edureka, perusahaan pembelajaran online tepercaya dengan jaringan lebih dari 250.000 pelajar yang puas dan tersebar di seluruh dunia. Kursus Pelatihan Sertifikasi DevOps Edureka membantu pelajar mendapatkan keahlian dalam berbagai proses dan alat DevOps seperti Puppet, Jenkins, Nagios, dan GIT untuk mengotomatiskan beberapa langkah di SDLC.