Terinspirasi oleh pertanyaan ini , saya bertanya sebaliknya: berapa banyak tentang pemrograman yang perlu diketahui oleh administrator sistem? Lebih khusus lagi, alat pemrograman apa yang berguna untuk dimiliki sysadmin?
Terinspirasi oleh pertanyaan ini , saya bertanya sebaliknya: berapa banyak tentang pemrograman yang perlu diketahui oleh administrator sistem? Lebih khusus lagi, alat pemrograman apa yang berguna untuk dimiliki sysadmin?
Jawaban:
Saya akan mulai dengan:
Administrasi sistem hanyalah pemrograman. Sistem manajemen konfigurasi memungkinkan Anda melihat seluruh infrastruktur Anda sebagai mesin terdistribusi. Sebagai sysadmin, tugas Anda adalah memprogram mesin ini.
Tahu satu editor teks. Biasanya vi untuk sysadmin, emacs untuk programmer.
Tahu cara menulis naskah. Pilih bahasa scripting. Perl adalah favorit abadi, seperti combo shell / sed / awk. Ruby dan Python dapat bekerja, tetapi untuk banyak hal objek adalah paradigma yang salah.
Ketahui cara menulis dokumentasi yang dapat dibaca.
Kontrol versi. Penting untuk memelihara file konfigurasi dan jejak audit.
Belajar berpikir dalam istilah pemrograman. Memahami paradigma pemrograman prosedural, berorientasi objek dan fungsional. Ini mungkin tidak pernah digunakan, tetapi mengetahuinya membuat Anda jauh lebih produktif.
Pelajari cara menggunakan debugger (atau lebih) dan masuk.
Belajar menggunakan RDBMS. Ada banyak persyaratan pemrosesan data yang dapat disederhanakan dengan menggunakan RDBMS dengan benar. Bahkan dapat beralih ke peran DBA sesuai permintaan dapat melakukan keajaiban.
Tes sebelum penyebaran. Lihat filosofi pengembangan yang digerakkan oleh tes.
Pemrograman pasangan itu baik. Mintalah orang lain mengawasi bahu Anda untuk belajar / memberi saran / mengoreksi.
Belajar untuk setidaknya memiliki keakraban lewat dengan banyak bahasa. Belajar bahasa baru setiap tahun.
Menulis naskah itu penting, tetapi saya menyarankan saran bahwa mengenal beberapa bahasa "nyata" adalah bonus yang pasti. Anda dapat melakukan beberapa hal yang sangat berguna dengan namespace .NET System.DirectoryServices, misalnya.
Saya seorang programmer dan admin / integrator senior. Untuk bekerja di tempat saya bekerja, Anda perlu mengetahui hal-hal berikut:
Sebagian besar admin yunior dapat melihat salah satu programmer kami dan berkata (dengan otoritas), ya, saya menginstalnya dengan benar, di sinilah Anda memiliki kebocoran yang mengapa kode yang baru saja Anda dorong rusak. Atau "Tidak, ini bukan versi MySQL kami, lihat permintaan Anda di sini ..."
Saya pikir kita agak berbeda, ketika kita menyewa administrator yang berbakat .. kita setengah berharap mereka akan (pada akhirnya) menemukan jalan mereka ke pemrograman, bahkan jika itu hanya meretas sesuatu yang kita gunakan untuk bekerja dengan cara yang mereka butuhkan untuk bekerja .
Singkatnya, berpengetahuan luas tidak akan pernah menyakiti Anda.
Banyak, bertahun-tahun yang lalu (Windows NT 3.1 sebenarnya) saya mulai sebagai seorang programmer yang mengkhususkan diri dalam layanan penulisan dan bahkan driver perangkat sesekali. Ini berarti Anda mengenal kernel Windows dengan sangat baik. Akhirnya saya bosan dengan pemrograman dan beralih ke manajemen jaringan. Saya mendapati latar belakang saya dalam pemrograman telah sangat berharga berulang kali.
Bukan hanya menulis skrip VBScript relatif tidak menyakitkan. Mengetahui bagaimana nyali Windows bekerja, dan khususnya bagaimana IP bekerja, sangat membantu mencegah masalah server dan jaringan yang aneh. Itu juga pola pikir. Programmer terbiasa dengan dokumentasi dan kontrol versi, dan itu membuat saya ngeri melihat berapa banyak admin Windows yang akan mencoba sesuatu untuk melihat apakah itu berfungsi dan khawatir tentang mengurai kekacauan setelahnya.
Semua baik-baik saja, tetapi itu bukan saran yang sangat berguna untuk mengatakan pergi dan bekerja sebagai programmer selama sepuluh tahun! Namun saya pikir itu akan membantu sebagian besar sysadmin untuk memiliki pengalaman pemrograman dalam bahasa "keras" seperti C ++ atau C #. Dan jika Anda memiliki programmer yang jinak di organisasi Anda, minum bersama mereka!
John Rennie
Hal-hal buruk terjadi, kode Anda akan ada lebih lama dari yang Anda pikirkan. Gagal dengan anggun, dengan pesan kesalahan yang bermanfaat. Anda akan kehabisan disk, ram, cpu, waktu, dll, menanganinya.
Jangan terlalu optimis, bahwa aneh sekali dalam sejuta masalah akan terjadi terlalu sering dalam produksi.
Dengan semua deskripsi di sini, saya tidak akan mengatakan bahwa saya seorang sysadmin. Tetapi kenyataan bahwa saya membangun dan mengelola beberapa server windows / linux, saya harus mengakui sesuatu:
di linux, bash scripting adalah suatu keharusan untuk mengetahui - jika Anda tahu bagaimana mengintegrasikannya dengan perl / awk / etc, lebih baik. Saya menemukan bahwa banyak tugas menjadi lebih mudah dengan menggunakannya.
Mengetahui program di C / C ++ sangat membantu. Terkadang Anda harus memodifikasi kode sumber GNU (jika Anda menggunakannya) sesuai dengan kebutuhan Anda karena menjadi produk GNU tidak memastikan Anda akan selalu mendapatkan bantuan yang Anda butuhkan tepat waktu - dan sering kali mereka ditulis dalam C / C ++.
Mengetahui cara mengikat LDAP Anda dan mengambil info yang diperlukan dalam bahasa skrip pilihan Anda adalah kunci untuk semuanya, mulai dari pemecahan masalah hingga benar-benar meningkatkan berbagai jenis otomatisasi (penyediaan akun dan sumber daya, pemeriksaan yang lebih cerdas pada akun pengguna atau mesin).
Mungkin tampak mendasar tetapi saya telah melihat banyak toko roti-n-mentega di mana orang tidak berpikir mereka perlu untuk administrasi sistem semacam ini. Banyak tempat menghabiskan $$$ besar untuk set besar alat administrasi dan, sejauh yang saya tahu, 95% dari apa yang mereka gunakan untuk alat bisa dilakukan dengan beberapa jam penulisan jika ada yang tahu atau tahu bagaimana caranya. lakukan.