Saya mulai menggunakan Wayang sebelum menggunakan infrastruktur baru dan hanya membeli buku (yang dianggap baik ) tentang topik itu. Saya tidak berpikir kebanyakan orang benar-benar mendapatkan pelatihan Wayang profesional. Saya mengerjakan contoh sampai saya bisa mencetak proses ke lingkungan saya. Ini adalah Desember 2011, jadi dalam beberapa minggu, saya dapat memahami dasar-dasarnya dan mendapatkan kerangka kerja produksi. Saya bukan orang baru dalam manajemen konfigurasi, memiliki latar belakang CFEngine , tetapi banyak masalah sysadmin Anda beresonansi. Saya membuat kesalahan dan harus melakukan refactor beberapa kali, tetapi saya berhasil menyelesaikan pekerjaan dengan memuaskan.
Beberapa catatan tentang poin Anda ...
Peran administrasi sistem tradisional berubah. Beradaptasi atau tertinggal. Saya telah menjadi insinyur sistem yang sukses, tetapi saya juga harus memperlengkapi kembali (belajar Python, misalnya). Fokus pada masing-masing server berkurang karena abstraksi perangkat keras melalui virtualisasi dan layanan cloud publik dan swasta mendapatkan traksi. Ini berarti otomatisasi tugas-tugas sistem dan penggunaan manajemen konfigurasi untuk merebut kendali dari sejumlah besar server. Tambahkan konsep DevOps ke dalam campuran, dan Anda akan melihat bahwa harapan dan persyaratan pelanggan / pengguna akhir berubah.
Modul boneka yang tersedia online berbeda dalam gaya dan struktur dan ya, saya melihat banyak upaya yang tumpang tindih, redundansi, dan duplikat. Salah satu pengembang tempat saya bekerja berkata, "Anda bisa mengembangkan alat sendiri ketika Anda menghabiskan waktu mencari daring untuk sesuatu yang berfungsi!" Itu membuat saya terdiam ketika saya menyadari bahwa Wayang tampaknya lebih menarik bagi tipe pengembang daripada admin yang mencari praktik terbaik atau pendekatan cara yang benar .
Dokumentasikan banyak untuk merasakan bagaimana hal-hal terhubung. Dengan definisi yang lemah dan kurangnya cara standar untuk melakukan sesuatu, struktur manajemen konfigurasi Anda benar-benar unik untuk lingkungan Anda. Transparansi itu harus dikembangkan di dalam.
Saya berpendapat bahwa cukup mudah untuk menduplikasi modul untuk mengakomodasi daemon baru atau menambahkan layanan ke manifes yang ada, tergantung pada bagaimana Anda mengatur server dan peran Anda.
Saya menghabiskan banyak waktu menguji pada satu target sebelum mendorong perubahan ke grup server yang lebih besar. Menjalankan puppetd secara langsung di server perwakilan memungkinkan saya untuk men-debug perubahan dan menilai dampaknya. Mungkin itu agak konservatif, tapi itu perlu.
Saya tidak yakin seberapa besar saya akan bergantung pada modul komunitas. Saya memang harus mulai menggunakan Augeas untuk beberapa pekerjaan , dan menyesalkan fakta bahwa itu adalah fungsi yang saya terima begitu saja di CFEngine.
Secara keseluruhan, saya merasa seperti tidak ada standar yang jelas dalam hal Wayang. Saya mengalami kesulitan mencari tahu bagaimana mengatur struktur direktori pada Puppetmaster saya, memahami cara mengelola penandatanganan sertifikat, mendapatkan DNS terbalik yang tepat di mana-mana, membuat Wayang untuk skala secara tepat untuk lingkungan dan memahami kapan harus meningkatkan modul komunitas dibandingkan membangun saya sendiri. Ini adalah pergeseran dalam pemikiran dan saya melihat bagaimana itu akan membuat panik sysadmin. Namun, ini juga solusi yang dibangun dari awal, jadi saya memiliki kemewahan untuk mengevaluasi alat. Keputusan untuk bertindak seperti ini didasarkan pada mindshare dan momentum di balik Wayang. Itu sepadan dengan usaha untuk mempelajari sesuatu yang baru.
Ingat, situs ini juga sumber yang bagus.
puppetd -t
pengujian beberapa kotak sebelum mendorong ke semua server. Tidak pernah gagal bahwa pasangan memiliki sesuatu yang unik yang menyebabkan pembaruan saya gagal. Wayang jauh lebih mudah ketika Anda memiliki lingkungan yang terkendali dan konsisten untuk permulaan.Pada pekerjaan sebelumnya, saya diberi tugas melakukan uji coba implementasi Wayang. Sekarang, saya memiliki latar belakang pemrograman, meskipun bukan Ruby, jadi saya tidak memiliki banyak masalah seperti yang lainnya.
Namun, menarik untuk dicatat bahwa programmer tanpa pengalaman dengan paradigma non-tradisional memiliki masalah dengan Wayang juga, karena Wayang adalah deklaratif , bukan keharusan. Dalam hal ini, Wayang bekerja seperti halnya file konfigurasi: Anda mengatakan bagaimana keadaannya, dan Wayang mengurus sisanya.
Setelah pilot saya mendapat kesempatan untuk melatih selusin admin lainnya dengan Wayang, ditambah memberikan presentasi tentang hal itu di dua acara. Menurut saya dari pengalaman itu adalah bahwa beberapa admin mengambilnya, dan beberapa tidak. Ini semua adalah admin tradisional, tanpa keterampilan pemrograman, dan berbagai tingkat keahlian.
Satu hal khusus yang saya perhatikan adalah bahwa Wayang membutuhkan latihan terus - menerus . Orang-orang yang dilatih, menulis modul, dan kemudian menghabiskan satu atau dua bulan melakukan sesuatu yang lain kembali ke Wayang dengan sedikit keterampilan yang berguna. Orang yang terus melakukan hal-hal kecil di dalamnya setiap minggu tidak pernah kehilangan kemampuannya.
Berdasarkan dua pengamatan ini, saya sarankan Anda memastikan semua orang terus menambahkan beberapa kelas Wayang, definisi atau modul setiap minggu (lebih disukai setidaknya dua atau tiga kali). Mereka yang masih belum terbiasa dengan itu mungkin benar-benar tidak memiliki keterampilan untuk melakukannya.
Kemudian lagi, jika Wayang dikenakan pada mereka dari tingkat yang lebih tinggi, mereka mungkin hanya bereaksi terhadap apa yang mereka anggap sebagai manajemen yang mengganggu dalam cara mereka melakukan pekerjaan mereka - yang sebenarnya cukup benar. Mungkin saja mereka membiarkan mereka memilih sistem manajemen konfigurasi mana yang akan digunakan untuk memperbaiki keadaan. Berikut ini beberapa alternatif:
sumber
Saya telah menggunakan Wayang lebih dari dua tahun di toko-toko kecil di mana saya adalah satu-satunya sysadmin. Rintangan terbesar yang saya miliki adalah belajar bagaimana mengembangkan perangkat lunak dengan benar. Tidak ada satu minggu pun yang berlalu dimana saya tidak mengacaukan sesuatu yang saya katakan kepada pengembang untuk tidak melakukan selusin kali. Saya memeriksa terlalu banyak kode, saya tidak memecah checkin, saya tidak menandai, saya tidak bercabang, tidak menjalankan pemeriksa sintaksis, tidak menggunakan standar, dll. Jika Anda baru memulai Saya akan merekomendasikan beberapa hal berikut.
Singkatnya saya telah menemukan semua masalah ini dan begitu juga sebagian besar teman sysadmin saya. Butuh beberapa waktu untuk menjadi ahli dalam menggunakan sistem manajemen konfigurasi. Setelah Anda melakukannya, Anda akan bertanya-tanya bagaimana Anda pernah hidup tanpa itu. "Masuk ke server dan buat perubahan secara manual? Ya."
sumber
Kedengarannya seperti ide yang sangat bagus untuk memulai lebih awal - Wayang lebih dari sekedar manajemen konfigurasi, ini adalah bentuk dokumentasi.
Mereka membutuhkan penyesuaian sikap.
Sekali lagi, sikap. Anda -dapat- membuat file conf untuk server kan? Anda dapat mempermudah ke dalam templating / 'programmer' stuff saat kebutuhan dan kompleksitas Anda berkembang .
Salah satu yang sulit dijawab - saya selalu lebih suka modul puppetlab daripada kebanyakan - dan bahkan pada saat itu, saya tidak menggunakan banyak. Panggilan penghakiman pasti. Menurut pendapat saya, beberapa modul 'terlalu berenda'.
Ini tidak terdengar seperti masalah boneka, tetapi lebih merupakan masalah organisasi atau dokumentasi?
Daemon itu bisa menjadi kelas jika cukup sederhana untuk dikelola. Saya tidak yakin apa yang Anda maksud dengan konvensi, boneka memberlakukan konvensi pada Anda dengan cukup baik bukan? Atau apakah kita berbicara sepanjang garis pemformatan kode?
Bukan ide yang buruk jika Anda menganggapnya lambat dan aman. Saya masih mulai dengan VM untuk mendapatkan intinya.
postfix, exim, sendmail, mysql, postgresql, iftop, iptraf, perl, perl modul .. Pilih yang Anda inginkan dan gunakan? Saya kira ini terdengar seperti sikap lagi ...
Saya tidak menghadiri kursus setiap - sementara saya saya seorang programmer lebih dari sysadmin, saya menemukan itu tidak membutuhkan keahlian pemrograman banyak untuk mendapatkan sesuatu dicapai.
Dokumentasi Wayang, bila diikuti cukup teliti. Perhatikan tipe bawaan dan luangkan waktu untuk melihat bagaimana modul lain disatukan. Saya tidak akan mengatakan itu -super- mudah, tetapi juga bukan -ardih. Butuh sedikit waktu untuk menyiapkan infrastruktur Anda untuk boneka, tetapi waktu yang diinvestasikan dijamin akan dihabiskan dengan baik ketika Anda melakukan ekspansi.
sumber
KISS (Keep it simple stupid) - Jangan menggunakan teknologi baru hanya karena mereka ada di sana karena Anda memiliki persyaratan untuk itu, gunakan minimum yang diperlukan penyebaran Anda, perbarui sebagaimana diperlukan jangan mencoba untuk mengikuti pendarahan tepi. Jika Anda mulai dengan pengaturan dasar dan membangunnya agar lebih mudah untuk diambil saat Anda pergi, dan mereka seharusnya tidak memerlukan kursus (apakah ini bahkan tersedia?).
Area lain yang bisa Anda lihat adalah sysadmin Anda. Jika mereka tidak dapat memprogram juga, apakah mereka cukup maju untuk penyebaran besar, di mana sebagian besar pekerjaan perlu dituliskan alat apa pun yang Anda gunakan?
sumber
Saya bekerja untuk nirlaba juga dan bertanggung jawab untuk awalnya membawa kotak Linux di rumah dan tak lama kemudian Wayang untuk mengelola mereka. Ada beberapa hal spesifik yang telah kami lakukan yang benar - benar membantu menyelesaikan berbagai hal.
Pertama dan terutama saya sudah mencoba untuk menjauh dari modul pihak ketiga. Alat bawaan menangani 90% dari manajemen kami. Utilitas pihak ketiga terbesar yang saya gunakan adalah modul firewall. Setiap fakta khusus, dll dikembangkan dengan seluruh tim yang terlibat. Kami mengembangkan modul template dan menjaga manajemen file, paket, layanan, dll semua standar dari template ini.
Kedua, setelah melakukan standarisasi penggunaan modul inbuilt, kami mulai menggunakan Git dan Atlassian's Crucible - omong-omong, gratis untuk nirlaba - untuk melakukan review semua perubahan konfigurasi. Ini memberikan transparansi yang diinginkan.
Ketiga, saya mengotomatiskan pengaturan untuk Wayang sehingga host baru dapat ditambahkan secara otomatis dengan serangkaian opsi default. Ada beberapa cara untuk mengatasi ini. Karena saya sudah memiliki lingkungan Kickstart yang lengkap, saya memilih untuk menambahkan skrip di sana.
sumber
Bagaimana waktu saya telah berubah, menjadi lebih buruk: seorang greybeard seperti saya diharapkan menjadi programmer yang lebih baik daripada programmer profesional, jika tidak, tidak akan pernah bisa lulus untuk administrator sistem .
Sekarang, kami memiliki "administrator sistem", yang pada dasarnya adalah pengguna desktop Windows yang pada suatu saat dikonversi ke Linux dan tidak dapat memprogram, dan tidak menemukan kesalahan apa pun dengan itu.
Gajah di ruangan itu adalah mengapa manajemen mentolerir sikap destruktif seperti itu. Merusak siapa atau apa? Untuk bisnis dan infrastruktur.
Kembali ke Puppet [, CFEngine, Chef] subjek: begitu seseorang menentukan solusi seperti itu, ia akan kalah. Semua orang kalah. Mengapa? Karena siapa pun yang datang dengan ide tersebut tidak mampu merancang manajemen konfigurasi enkapsulasi dalam bentuk paket sistem operasi yang bagus, bersih, Kickstart [, JumpStart, Pemasang Otomatis, AutoYaST, Ignite-UX, NIM]. Ketika Anda harus menggunakan alat peretasan otomatis seperti Puppet (atau Chef, atau CFEngine), itu berarti Anda tidak memiliki sarana untuk mendesain dan mengimplementasikan proses yang, dengan desain yang sama, menegakkan sepenuhnya murni dan menyalakan sistem yang dikelola, sepenuhnya otomatis dan sepenuhnya non-interaktif.
Poin penting lainnya adalah, jika Anda harus memiliki Wayang atau solusi semacam itu untuk memperbaiki sistem peretasan seseorang atau konfigurasi aplikasi dengan tangan, itu juga akan kembali ke tidak memiliki pengalaman untuk merancang suatu proses, dan dalam proses itu kerangka kerja di mana konfigurasi dikemas menjadi komponen diskrit. Akibatnya, siapa pun yang mengimplementasikan Puppet dan sejenisnya, tidak memiliki konsep pemilik komponen, rilis, manajemen konfigurasi, Model Kematangan Kemampuan. Ini berkembang pesat menjadi masalah yang sangat serius di industri ini.
Mengapa Ruby diperlukan, ketika manajemen konfigurasi komprehensif, ujung-ke-ujung dapat dienkapsulasi dalam pra-instal, pasca-instal, sebelum dan sesudah menghapus bagian dari paket sistem operasi, hanya dengan menggunakan program shell Bourne, AWK, dan sed? Bahwa seseorang akan belajar bahasa esoterik Ruby, dan dialeknya dalam konteks Wayang, sama sekali tidak diperlukan. Masalah manajemen konfigurasi mudah dipecahkan (dan juga, telah dipecahkan) dengan program shell dan AWK, dan sedikit sed (1) di sana-sini sebagai lem.
Ini adalah hal yang lebih keren melihatnya dilakukan oleh Kickstart, AutoYaST, atau JumpStart, tanpa satu baris kode , dan dapat melakukan query sistem operasi dengan menggunakan alat bawaan , tanpa memerlukan perangkat lunak esoterik atau tambahan , tanpa klien-server diperlukan arsitektur (SSH lebih dari baik, jauh lebih baik), dan melihat sistem operasi Anda mengetahui setiap perubahan yang dilakukan.
... Atau Anda bisa template file konfigurasi Anda dengan variabel shell, bahkan backquotes (misalnya
ls -1 ...
) dan menulis sebuah shell script yang menggunakan AWK untuk memanggil eval (1) dan memperluas semua variabel dalam template, sehingga memanfaatkan yang sama persis kuat parser yang memiliki cangkang built-in. Mengapa membuatnya rumit, padahal sebenarnya bisa sangat, sangat sederhana? Di mana Anda akan menyimpan nilai konfigurasi? Mengapa, di mana saja Anda mau, seperti misalnya file pkginfo (4), atau database seperti Oracle, atau cukup banyak di mana saja . Tidak perlu solusi ultrakompleks. Pustaka yang saya sebutkan di atas hanya dapat bersumber dari bagian pra-instal atau pasca-instal dalam paket sistem operasi, dengan demikian menghapus duplikasi dan meningkatkan sepotong kode pusat ...Tetapi di atas semua, saya menemukan bahwa kutipan di atas adalah contoh dari generasi berikutnya dari administrator sistem yang perlu bimbingan bukan oleh administrator sistem, tetapi oleh insinyur sistem . Temukan diri Anda seorang greybeard dan masuk sebagai murid.
sumber