Pertanyaan Bagaimana orang kecil bisa belajar dan menggunakan Wayang dengan efektif? [Tutup]


Enam bulan yang lalu, dalam proyek nirlaba kami, kami memutuskan untuk mulai memigrasikan sistem manajemen kami ke lingkungan yang dikendalikan Wayang karena kami mengharapkan jumlah server kami tumbuh secara substansial antara sekarang dan setahun dari sekarang.

Karena keputusan telah dibuat, orang-orang IT kami sedikit terlalu kesal. Keberatan terbesar mereka adalah:

  • "Kami bukan programmer, kami sysadmin";
  • Modul tersedia secara online tetapi banyak yang berbeda satu sama lain; roda sedang diciptakan kembali terlalu sering, bagaimana Anda memutuskan yang mana yang sesuai dengan tagihan;
  • Kode di repo kami tidak cukup transparan, untuk menemukan bagaimana sesuatu bekerja yang mereka harus rekursif melalui manifes dan modul yang mungkin mereka tulis sendiri beberapa waktu yang lalu;
  • Satu daemon baru membutuhkan penulisan modul baru, konvensi harus serupa dengan modul lain, proses yang sulit;
  • "Mari kita jalankan dan lihat cara kerjanya"
  • Ton dari 'ekstensi' yang hampir tidak dikenal dalam modul komunitas: 'trocla', 'augeas', 'hiera' ... bagaimana sysadmins kita bisa melacak?

Saya dapat melihat mengapa sebuah organisasi besar akan mengirimkan sysadmin mereka ke Wayang untuk menjadi Wayang. Tapi bagaimana pemain kecil bisa belajar Wayang ke tingkat profesional jika mereka tidak pergi ke kursus dan pada dasarnya mempelajarinya melalui browser dan editor mereka?


106
2018-06-06 08:38






Jawaban:


Saya mulai menggunakan Wayang sebelum menerapkan infrastruktur baru dan membeli (dianggap baik) buku tentang topik. Saya tidak berpikir kebanyakan orang benar-benar mendapatkan pelatihan Wayang profesional. Saya bekerja pada contoh-contoh sampai saya bisa membentuk proses ke lingkungan saya. Ini adalah Desember 2011, jadi dalam beberapa minggu, saya bisa memahami dasar-dasar dan mendapatkan kerangka produksi di tempat. Saya tidak baru dalam manajemen konfigurasi, memiliki CFEngine latar belakang, tetapi banyak kekhawatiran sysadmin Anda beresonansi. Saya membuat kesalahan dan harus melakukan refactor beberapa kali, tetapi saya berhasil menyelesaikannya dengan memuaskan.

Beberapa catatan tentang poin Anda ...

  • Peran administrasi sistem tradisional berubah. Beradaptasi atau ditinggalkan. Saya telah menjadi insinyur sistem yang sukses, tetapi saya harus memperlengkapi kembali (belajar Python, misalnya). Fokus pada server individu berkurang sebagai abstraksi perangkat keras melalui virtualisasi dan layanan cloud publik dan swasta mendapatkan traksi. Ini berarti otomatisasi tugas sistem dan penggunaan manajemen konfigurasi untuk merebut kendali sejumlah besar server. Menambahkan Konsep DevOps ke campuran, dan Anda akan melihat bahwa harapan pelanggan / pengguna akhir dan persyaratan berubah.

  • Modul boneka tersedia online berbeda dalam gaya dan struktur dan ya, saya melihat banyak tumpang tindih, redundansi dan upaya duplikasi. Salah satu pengembang yang bekerja dengan saya berkata, "Anda bisa mengembangkan alat Anda sendiri saat Anda menghabiskan mencari online untuk sesuatu yang berhasil!" Itu memberi saya jeda ketika saya menyadari bahwa Wayang tampaknya lebih menarik bagi jenis pengembang daripada yang dicari oleh admin praktik terbaik atau cara yang benar pendekatan.

  • Dokumentasikan dengan berat untuk merasakan bagaimana hal-hal terhubung. Mengingat definisi yang lemah dan kurangnya a standar cara 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 bagaimana Anda mengatur server dan peran Anda.

  • Saya menghabiskan banyak waktu untuk menguji satu target sebelum mendorong perubahan ke kelompok server yang lebih besar. Menjalankan boneka dengan tangan di server perwakilan memungkinkan saya untuk melakukan debug perubahan dan menilai dampaknya. Mungkin itu agak konservatif, tapi itu perlu.

  • Saya tidak yakin berapa banyak saya akan bergantung pada modul komunitas. Saya memang harus melakukannya mulai menggunakan Augeas untuk beberapa pekerjaan, dan menyesali fakta bahwa itu adalah fungsi yang saya anggap biasa di CFEngine.

Secara keseluruhan, saya merasa seperti tidak ada standar yang jelas dalam Wayang. Saya kesulitan mencari tahu cara mengatur struktur direktori di Puppetmaster saya, memahami cara mengelola penandatanganan sertifikat, mendapatkan DNS terbalik yang tepat di tempat mana pun, membuat Wayang untuk menyesuaikan skala dengan tepat untuk lingkungan dan memahami kapan harus memanfaatkan modul komunitas dibandingkan membangun sendiri. Ini adalah pergeseran dalam berpikir dan saya melihat bagaimana itu akan membuat panik sysadmin. Namun, ini juga solusi yang dibangun dari nol, jadi saya memiliki alat evaluasi yang mewah. Keputusan untuk pergi dengan cara ini didasarkan pada mindshare dan momentum di balik Wayang. Itu sepadan dengan usaha untuk mempelajari sesuatu yang baru.

Ingat, situs ini adalah sumber yang bagus juga.


101
2018-06-06 09:02



Saya tidak memiliki pengalaman dalam Wayang untuk menyelesaikan lingkungan lengkap saya dalam waktu dua minggu. Saya bertanggung jawab untuk ~ 40 mesin virtual, meskipun semuanya menjalankan Ubuntu. Itu hal yang disederhanakan sedikit. Saya seorang pengembang dengan profesi. "Beradaptasi atau ditinggalkan" - Saya sekarang menjadi arsitek + sysadmin +. Jawaban yang bagus! - François Beausoleil
Saya akan merekomendasikan mereka untuk mulai menyebarkan layanan kecil, pertama di standalone kemudian mulai mengotak-atik lebih banyak server. Saya tidak harus bekerja dengan Wayang, tetapi saya memiliki VPS kecil dan saya baru-baru ini membuat modul Wayang sendiri. Jika mereka ingin mengikuti sisa sysadmin di abad ini, mereka lebih baik berpikiran terbuka. Saya melakukannya karena saya suka, dan saya kira tidak semua orang suka mempelajari hal-hal baru, tetapi satu hal yang pasti, saat ini sysadmin lebih dekat dengan pengembang daripada sebelumnya. - Sergio Galvan
Saya bekerja di perusahaan kecil dan saya juga menjalankan puppetd -t untuk pengujian pada beberapa kotak sebelum mendorong ke semua server. Tidak pernah gagal bahwa pasangan memiliki sesuatu yang unik yang menyebabkan pembaruan saya gagal pada mereka. Wayang jauh lebih mudah jika Anda memiliki lingkungan yang terkontrol dan konsisten untuk awalnya. - jordanm
Maha Guru Ching Hai: Saya telah bekerja dengan baik melalui tutorial Wayang dalam dokumen mereka tetapi bertanya-tanya buku apa yang Anda gunakan ketika belajar? Saya merasa seperti tutorial yang disediakan dalam dokumen itu kehilangan sesuatu yang menjaga semuanya dari mengklik dengan saya karena saya bekerja dengan Wayang di host tes untuk mempelajari apa yang saya lakukan. EDIT: Atau sumber daya tambahan apa pun yang dapat Anda rekomendasikan. Terima kasih. - Mike Keller
@MikeKeller Saya suka di posting saya ... Tapi itu Tersedia disini. - ewwhite


Pada pekerjaan sebelumnya, saya ditugaskan tugas melakukan pilot pelaksanaan Wayang. Sekarang, saya memiliki latar belakang pemrograman, meskipun bukan Ruby, jadi saya tidak memiliki banyak masalah seperti yang dilakukan orang lain.

Namun, menarik untuk diperhatikan programer tanpa pengalaman dengan paradigma non-tradisional memiliki masalah dengan Wayang juga, karena Wayang itu deklaratif, bukan keharusan. Dalam pengertian ini, Wayang bekerja sangat mirip dengan file konfigurasi apa pun: Anda mengatakan bagaimana hal-hal seharusnya terjadi, dan Wayang menangani sisanya.

Setelah pilot saya mendapat kesempatan untuk melatih selusin admin lain dengan Wayang, plus memberikan presentasi tentangnya dalam dua acara. Yang saya ambil 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 konstan praktek. Orang-orang yang dilatih, menulis modul, dan kemudian menghabiskan satu atau dua bulan melakukan sesuatu yang lain kembali ke Wayang dengan sedikit keterampilan yang bermanfaat. Orang-orang yang terus melakukan hal-hal kecil di dalamnya setiap minggu tidak pernah kehilangan kemampuan.

Berdasarkan dua pengamatan ini, saya sarankan Anda memastikan semua orang terus menambahkan beberapa kelas Wayang, definisi atau modul setiap minggu (sebaiknya 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 atas, mereka mungkin hanya bereaksi terhadap apa yang mereka rasakan sebagai manajemen yang mengganggu dalam bagaimana mereka melakukan pekerjaan mereka - yang akan menjadi cukup benar, pada kenyataannya. Mungkin kasus yang memungkinkan mereka memilih yang sistem manajemen konfigurasi untuk digunakan akan memperbaiki keadaan. Berikut beberapa alternatif:

  • ANSIBLE: Ini baru, tapi ini didasarkan pada perintah shell dan ssh, yang mungkin menariknya ke sysadmins tradisional.
  • Koki: Mungkin masalah mereka adalah gaya deklaratif, dalam hal ini Chef akan lebih baik jika mereka memiliki pengalaman Ruby.
  • SaltStack: Berbasis Python, dan sumber terbuka
  • CFEngine: lama, cepat, tradisional - mungkin memenangkan mereka atas dasar-dasar tersebut.

29
2018-06-06 15:59



Yang menyenangkan tentang ANSIBLE adalah ia bekerja di sepanjang galaksi dengan sama sekali tanpa penundaan dalam pengiriman data! - Kalamane
Terima kasih atas sebutan ANSIBLE. Saya tidak menyadarinya sampai sekarang. - ewwhite
@whwhite Terima kasih kembali. Saya sendiri baru saja menemukannya, tetapi banyak hal yang menarik perhatian saya. Jika kita belum begitu banyak dalam Wayang, saya pasti akan mencobanya. - Daniel C. Sobral


Saya telah menggunakan Wayang sedikit lebih dari dua tahun di toko-toko kecil di mana saya adalah satu-satunya sysadmin. Hambatan terbesar yang saya miliki adalah belajar bagaimana mengembangkan perangkat lunak dengan benar. Tidak ada satu minggu pun yang berlalu di mana saya tidak mengacaukan sesuatu yang telah saya katakan kepada para pengembang untuk tidak melakukan belasan kali. Saya memeriksa terlalu banyak kode di, saya tidak memecah checkins, saya tidak memberi tag, saya tidak cabang, tidak menjalankan pemeriksa sintaks, tidak menggunakan standar, dll. Jika Anda baru memulai Saya akan merekomendasikan beberapa hal berikut.

  1. Sadarilah bahwa Anda sedang mengembangkan perangkat lunak yang entah tidak tahu cara melakukannya atau kinerjanya buruk. Ini diharapkan karena ini baru.
  2. Infrastruktur sebagai kode adalah kenyataan dan begitu Anda melewati punuk itu cukup kuat. Saya akan mengundang beberapa pengembang, menunjukkan kepada mereka proses pengembangan Anda saat ini (atau ketiadaan pengembang), jangan tersinggung ketika mereka menaikkan alis, dan menganggap serius usulan mereka. Saya akan merekomendasikan menggunakan sistem apa pun dan memproses penggunaan pengembang Anda kecuali itu benar-benar tidak pantas.
  3. Modul pihak ketiga boneka menghisap 90% dari waktu. Saya telah membacanya. Saya mencuri ide dari mereka. Saya tidak akan menarik mereka ke sistem saya tanpa pengeditan besar. Namun saya akan menarik stdlib boneka yang menambahkan beberapa fungsi yang bagus.
  4. Augeas dan hiera. Pelajari keduanya. Yang pertama memungkinkan pengeditan kompleks dari file yang ada di tempat. Yang kedua adalah penyimpanan data eksternal.
  5. Pisahkan kode dari data. Ini adalah salah satu konsep yang lebih sulit untuk dipelajari. Nilai-nilai hardcoding seperti Host Pemantauan ke kode modul Anda buruk. Menempatkan mereka di toko data (db, yaml (Hiera menggunakan ini menjadi default), csv, apa pun) yang dapat dikonsumsi modul Anda adalah baik. Contohnya adalah webapp yang menggunakan Mysql. Apa ini memungkinkan adalah kemampuan untuk mendorong kode dan data secara terpisah. Ini membuat proses pengembangan Anda lebih sederhana.
  6. parser boneka memvalidasi dan boneka-serat sebagai bagian dari proses pra atau pasca kode checkin Anda. Juga tes rspec mungkin ide yang baik begitu Anda sampai kecepatan.
  7. menulis panduan gaya / kode standar dan menggunakannya. "Di mana kode yang menginstal Apache" adalah masalah umum. Jika sebagian besar modul Anda sama, itu seharusnya mudah.

Singkatnya saya sudah mencapai semua masalah ini dan begitu juga sebagian besar teman-teman sysadmin saya. Diperlukan waktu untuk menggunakan sistem manajemen konfigurasi. Setelah Anda melakukannya, Anda akan bertanya-tanya bagaimana Anda pernah hidup tanpa satu. "Masuk ke server dan membuat perubahan secara manual? Ih."


11
2018-06-06 18:04



Terima kasih atas saran Anda, terutama augeas dan hiera adalah dua komponen yang telah kami mulai terapkan dan ini membuat kami lebih sadar, bahkan yakin dengan kemampuan Wayang. Jadi terima kasih :-) - drumfire


Enam bulan yang lalu, dalam proyek nirlaba kami, kami memutuskan untuk memulai   memigrasikan manajemen sistem kami ke lingkungan yang dikontrol Wayang   karena kami mengharapkan jumlah server kami tumbuh secara substansial   antara sekarang dan setahun dari sekarang.

Kedengarannya seperti ide yang sangat baik untuk memulai awal - Wayang lebih dari sekedar konfigurasi manajemen, itu adalah bentuk dokumentasi.

Karena keputusan telah dibuat, orang-orang IT kami juga menjadi sedikit   kesal sedikit terlalu sering.

Mereka membutuhkan penyesuaian sikap.

"We're not programmers, we're sysadmins";

Sekali lagi, sikap. Anda -dapat membuat file conf untuk server kan? Anda dapat meringankan ke dalam hal-hal templating / 'programmer' sebagai kebutuhan dan kompleksitas Anda berevolusi.

Modul tersedia secara online tetapi banyak yang berbeda satu sama lain; roda   sedang diciptakan kembali terlalu sering, bagaimana Anda memutuskan yang mana yang cocok   tagihan;

Yang tangguh untuk dijawab - Saya selalu lebih memilih modul puppetlabs daripada kebanyakan - dan bahkan pada saat itu, saya tidak menggunakan banyak. Keputusan panggilan pasti. Menurut saya, beberapa modul 'terlalu berbukit'.

Kode di repo kami tidak cukup transparan, untuk menemukan bagaimana sesuatu bekerja mereka harus mengulang melalui manifes dan modul mereka mungkin   bahkan telah menulis sendiri beberapa saat yang lalu;

Ini tidak terdengar seperti masalah boneka, tetapi lebih ke masalah organisasi atau dokumentasi?

Satu daemon baru membutuhkan penulisan modul baru, konvensi harus   mirip dengan modul lain, proses yang sulit;

Daemon itu bisa menjadi kelas jika itu cukup sederhana untuk dikelola. Saya tidak yakin apa yang Anda maksud dengan konvensi, konvensi boneka memaksakan pada Anda cukup baik bukan? Atau apakah kita berbicara di sepanjang baris pemformatan kode?

"Let's just run it and see how it works"

Tidak seburuk ide jika Anda mengambilnya lambat dan aman. Saya masih akan mulai dengan VM untuk mendapatkan intisari hal-hal.

Ton yang hampir tidak dikenal 'ekstensi' dalam modul komunitas: 'trocla',   'Augeas', 'hiera' ... bagaimana caranya agar sysadmins kita bisa terus melacak?

postfix, exim, sendmail, mysql, postgresql, iftop, iptraf, perl, perl modul .. Pilih apa yang Anda inginkan dan gunakan itu? Kurasa ini lebih terdengar seperti sikap lagi ...

Saya dapat melihat mengapa organisasi besar akan mengirim sysadmin mereka ke   Wayang untuk menjadi master Wayang. Tapi bagaimana pemain yang lebih kecil   belajar Wayang ke tingkat profesional jika mereka tidak pergi   kursus dan pada dasarnya mempelajarinya melalui browser dan editor mereka?

Saya belum mengikuti kursus apa pun - sementara saya saya seorang programmer lebih dari sysadmin, saya menemukan itu tidak perlu banyak keterampilan pemrograman untuk menyelesaikan sesuatu.

Dokumentasi Wayang, ketika diikuti cukup teliti. Hanya perhatikan jenis bawaan dan luangkan waktu untuk melihat bagaimana modul-modul lain disatukan. Saya tidak akan mengatakan itu terlalu-mudah, tetapi tidak terlalu sulit. Butuh waktu lama untuk menyiapkan infrastruktur Anda untuk boneka, tetapi waktu yang diinvestasikan dijamin akan dihabiskan dengan baik ketika Anda memperluas.


7
2018-06-06 14:04



FYI ini datang dari seseorang yang baru saja selesai membuat infrastruktur mereka siap untuk bergulir. Jadi saya memiliki pengalaman baru dan tidak bisa mengatakan itu adalah waktu yang terbuang. - thinice
Sebagai pemula baru-baru ini, saya mengakui diri sepenuhnya dalam komentar Anda. - Martijn Heemels
Dalam kasus saya, perubahan sikap memang diperlukan. Ops menyukai otomatisasi dan sering hal-hal skrip, jadi kebanyakan soal menggunakan alat yang berbeda. Ini adalah perasaan yang keren untuk melihat manuskrip Boneka Anda mengonfigurasi seluruh mesin atau layanan baru dari awal. Fakta bahwa kesalahan dapat berdampak pada banyak mesin sekaligus membutuhkan pengujian yang lebih teliti, yang dapat mengganggu tetapi jelas merupakan hal yang baik. Bereksperimen dengan Vagrant, rspec-puppet, puppet-lint, Geppetto, cabang Git, dan alat gratis lainnya dan Anda akan segera menemukan alur kerja favorit Anda. - Martijn Heemels
Bekerja dengan Wayang juga membantu saya mempelajari Ruby, yang menggantikan Bash sebagai bahasa alat sistem standar saya. - Martijn Heemels


KISS (Keep it simple stupid) - Jangan menggunakan teknologi baru hanya karena mereka ada di sana bukan karena Anda memiliki persyaratan untuk mereka, gunakan minimal yang diperlukan oleh penyebaran Anda, perbarui sesuai kebutuhan tidak mencoba untuk mengikuti perdarahan tepi. Jika Anda memulai dengan pengaturan dasar dan membangun bahwa lebih mudah untuk mengambil saat Anda pergi, dan mereka tidak perlu kursus (apakah ini tersedia?).

Area lain yang bisa Anda lihat adalah sysadmins Anda. Jika mereka tidak dapat memprogram juga, maka apakah mereka cukup maju untuk penyebaran besar, di mana sebagian besar pekerjaan perlu dituliskan alat apa pun yang Anda gunakan?


5
2018-06-06 09:18



... karena kami mengharapkan jumlah server kami tumbuh secara substansial antara sekarang dan setahun dari sekarang. Kebutuhan? - Jeff Ferland
Benar-benar tergantung pada seberapa pasti harapan itu dan jika apa yang Anda letakkan akan tetap sesuai pada saat kebutuhan itu benar-benar muncul. - JamesRyan
+1 untuk "gunakan minimal yang diperlukan oleh penyebaran Anda" - Banyak masalah boneka yang saya hadapi dari mencoba membuat kontrol boneka segalanya pada sistem. - Sirex


Saya bekerja untuk nirlaba juga dan bertanggung jawab untuk awalnya membawa kotak Linux di rumah dan tak lama kemudian Wayang untuk mengelolanya. Ada beberapa hal khusus yang telah kami lakukan sangat membantu membuat semuanya berjalan lancar.

Pertama dan terpenting saya sudah berusaha menjauh dari modul pihak ketiga. Alat-alat inbuilt menangani 90% dari manajemen kami. Utilitas pihak ketiga terbesar yang saya gunakan adalah modul firewall. Fakta-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 standarisasi menggunakan modul inbuilt kami mulai menggunakan Git dan Atlassian's Crucible - gratis untuk nirlaba, dengan cara - untuk melakukan review dari semua perubahan konfigurasi. Ini memberikan transparansi yang diinginkan.

Ketiga, saya mengotomatiskan penyiapan untuk Wayang sehingga host baru dapat ditambahkan secara otomatis dengan serangkaian opsi default. Ada beberapa cara untuk mengatasi hal ini. Karena saya sudah memiliki lingkungan Kickstart yang lengkap, saya memilih untuk menambahkan skrip di sana.


5
2018-06-06 13:50





"Kami bukan programmer, kami sysadmins"

Masa-masa saya berubah, lebih buruk lagi: seorang yang seperti saya diharapkan menjadi programmer yang lebih baik daripada programmer profesional, atau yang lain tidak akan pernah bisa lulus untuk administrator sistem.

Sekarang, kami memiliki "administrator sistem", yang pada dasarnya adalah pengguna desktop Windows yang pada suatu waktu beralih ke Linux dan tidak dapat memprogram, dan tidak menemukan apa pun yang salah dengan itu.

Gajah di ruangan adalah mengapa manajemen mentoleransi sikap yang merusak seperti itu. Merusak siapa atau apa? Untuk bisnis dan infrastruktur.

Kembali ke topik Wayang [, CFEngine, Chef]: segera setelah seseorang menetapkan solusi seperti itu, seseorang kalah. Semua orang kalah. Mengapa? Karena siapa pun yang muncul dengan ide ini tidak mampu mendesain manajemen konfigurasi yang dikemas dalam bentuk paket-paket sistem operasi yang bagus, bersih, Kickstart [, JumpStart, Automated Installer, AutoYaST, Ignite-UX, NIM]. Ketika Anda harus menggunakan alat peretasan otomatis seperti Wayang (atau Chef, atau CFEngine), itu berarti Anda tidak memiliki alat untuk Desain dan untuk melaksanakan sebuah proses yang akan, dengan desain yang sama, menegakkan sistem manajemen yang benar-benar murni dan terang, sepenuhnya otomatis dan sepenuhnya non-interaktif.

Hal lain yang penting adalah, jika Anda harus memiliki Wayang atau solusi semacam itu benar some one peretasan konfigurasi sistem atau aplikasi dengan tangan, yang juga kembali ke tidak memiliki pengalaman untuk merancang suatu proses, dan dalam proses itu kerangka kerja di mana konfigurasi dikemas ke dalam komponen diskrit. Akibatnya, siapa pun yang mengimplementasikan Wayang dan sejenisnya, tidak memiliki konsep pemilik komponen, rilis, manajemen konfigurasi, Model Kematangan Kemampuan. Ini berkembang pesat menjadi masalah yang sangat serius di industri.

Bekerja dengan Wayang juga membantu saya mempelajari Ruby, yang menggantikan Bash sebagai bahasa alat sistem standar saya. "

Mengapa diperlukan Ruby, ketika manajemen konfigurasi komprehensif, end-to-end dapat dikemas dalam preinstall, postinstall, preremove dan postremove bagian dari paket sistem operasi, hanya dengan menggunakan program Bourne shell, AWK, dan sed? Bahwa seseorang akan mempelajari bahasa esoterik Ruby, dan dialeknya dalam konteks Wayang, sama sekali tidak diperlukan. Masalah manajemen konfigurasi mudah dipecahkan (dan untuk itu, telah dipecahkan) dengan program shell dan AWK, dan sedikit sed (1) di sana-sini sebagai lem.

Ini adalah perasaan yang keren untuk melihat manuskrip Boneka Anda mengonfigurasi seluruh mesin atau layanan baru dari awal.

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 dibangun di alat, tanpa memerlukan perangkat lunak esoterik atau tambahan apa pun, tidak diperlukan arsitektur client-server (SSH lebih dari baik-baik saja, lebih dari sekedar baik-baik saja), dan melihat sistem operasi Anda menyadari setiap perubahan yang dilakukan untuk itu.

5. memisahkan kode dari data. Ini adalah salah satu konsep yang lebih sulit untuk dipelajari. Nilai-nilai hardcoding seperti Host Pemantauan ke kode modul Anda buruk. Menempatkan mereka di toko data (db, yaml (Hiera menggunakan ini menjadi default), csv, apa pun) yang dapat dikonsumsi modul Anda adalah baik. Contohnya adalah webapp yang menggunakan Mysql. Apa ini memungkinkan adalah kemampuan untuk mendorong kode dan data secara terpisah. Ini membuat proses pengembangan Anda lebih sederhana.

... Atau kamu bisa saja template file konfigurasi Anda dengan variabel shell, bahkan backquote (misalnya ls -1 ...) dan menulis skrip shell yang menggunakan AWK untuk memanggil eval (1) dan memperluas semua variabel dalam template, sehingga memanfaatkan parser kuat yang sama persis yang memiliki shell built-in. Mengapa membuatnya rumit, padahal sebenarnya sangat sederhana? Di mana Anda akan menyimpan nilai konfigurasi? Mengapa, di mana saja Anda suka, seperti misalnya pkginfo (4) file, atau database seperti Oracle, atau cukup banyak di mana saja. Tidak perlu solusi ultracomplex. Perpustakaan yang saya sebutkan di atas bisa saja bersumber dari bagian pra-instal atau post-install dalam paket sistem operasi, sehingga menghapus duplikasi dan memanfaatkan sepotong kode pusat ...

Tetapi di atas semua, saya menemukan bahwa kutipan di atas adalah contoh dari administrator sistem generasi berikutnya yang membutuhkan bimbingan bukan oleh administrator sistem, tetapi oleh insinyur sistem. Temukan diri Anda sebagai greybeard dan masuk sebagai magang.


4
2018-02-11 12:28



Anda tampaknya telah melupakan jawaban Anda untuk pertanyaan penulis. - M. Glatki
Jawaban ini tampaknya terutama diskusi tentang pendapat, sikap dan alat, dan tidak benar-benar menjawab pertanyaan yang ditanyakan. - JonathanDavidArndt