โดยได้รับแรงบันดาลใจจากคำถามนี้ฉันถามสิ่งที่ตรงกันข้าม: ผู้บริหารระบบจำเป็นต้องรู้เกี่ยวกับการเขียนโปรแกรมมากแค่ไหน? โดยเฉพาะอย่างยิ่งเครื่องมือการเขียนโปรแกรมใดที่มีประโยชน์สำหรับดูแลระบบที่จะมี?
โดยได้รับแรงบันดาลใจจากคำถามนี้ฉันถามสิ่งที่ตรงกันข้าม: ผู้บริหารระบบจำเป็นต้องรู้เกี่ยวกับการเขียนโปรแกรมมากแค่ไหน? โดยเฉพาะอย่างยิ่งเครื่องมือการเขียนโปรแกรมใดที่มีประโยชน์สำหรับดูแลระบบที่จะมี?
คำตอบ:
ฉันจะเริ่มต้นด้วย:
การบริหารระบบเป็นเพียงการเขียนโปรแกรม ระบบการจัดการการกำหนดค่าช่วยให้คุณเห็นโครงสร้างพื้นฐานทั้งหมดของคุณเป็นเครื่องกระจาย ในฐานะผู้ดูแลระบบงานของคุณคือตั้งโปรแกรมเครื่องนี้
รู้จักโปรแกรมแก้ไขข้อความหนึ่งรายการ โดยปกติแล้ว vi สำหรับ sysadmins, emacs สำหรับโปรแกรมเมอร์
รู้วิธีสคริปต์ เลือกภาษาสคริปต์ Perl เป็นรายการโปรดตลอดกาลเช่นเดียวกับคำสั่งผสมเชลล์ / sed / awk Ruby และ Python สามารถทำงานได้ แต่สำหรับวัตถุหลายอย่างนั้นเป็นกระบวนทัศน์ที่ผิด
รู้วิธีการเขียนเอกสารที่อ่านได้
การควบคุมเวอร์ชัน สิ่งสำคัญสำหรับการบำรุงรักษาไฟล์กำหนดค่าและหลักฐานการตรวจสอบ
เรียนรู้ที่จะคิดในแง่การเขียนโปรแกรม ทำความเข้าใจเกี่ยวกับกระบวนทัศน์การโปรแกรมเชิงวัตถุและการทำงาน สิ่งเหล่านี้อาจไม่เคยถูกใช้งาน แต่การรู้ว่าสิ่งเหล่านี้ทำให้คุณมีประสิทธิผลมากขึ้น
เรียนรู้การใช้ดีบักเกอร์ (หรือมากกว่า) และการบันทึก
เรียนรู้การใช้ RDBMS มีข้อกำหนดการประมวลผลข้อมูลมากมายซึ่งสามารถทำให้ง่ายขึ้นโดยใช้ RDBMS อย่างถูกต้อง แม้ความสามารถในการเปลี่ยนไปใช้บทบาท DBA ตามความต้องการสามารถทำสิ่งมหัศจรรย์ได้
ทดสอบก่อนการปรับใช้ ดูปรัชญาการพัฒนาที่ขับเคลื่อนด้วยการทดสอบ
การเขียนโปรแกรมคู่เป็นสิ่งที่ดี ให้คนอื่นเฝ้าไหล่ของคุณเพื่อเรียนรู้ / แนะนำ / แก้ไข
เรียนรู้ที่จะมีความคุ้นเคยในการใช้ภาษาเป็นจำนวนมาก เรียนรู้ภาษาใหม่ทุกปี
การเขียนสคริปต์เป็นสิ่งจำเป็น แต่ฉันขอแนะนำให้รู้ว่าการรู้ภาษา "ของจริง" บางอย่างเป็นโบนัสที่แน่นอน คุณสามารถทำสิ่งที่มีประโยชน์มากได้ด้วยเนมสเปซ. NET System.DirectoryServices
ฉันเป็นโปรแกรมเมอร์และผู้ดูแลระบบ / ผู้ประสานงานระดับสูง ในการทำงานที่ฉันทำคุณต้องรู้สิ่งต่อไปนี้:
ผู้ดูแลระบบส่วนใหญ่สามารถดูหนึ่งในโปรแกรมเมอร์ของเราและพูดว่า (ด้วยสิทธิ์) ใช่ฉันติดตั้งอย่างถูกต้องที่นี่คือที่ที่คุณมีการรั่วไหลซึ่งเป็นสาเหตุที่รหัสที่คุณเพิ่งผลักถูกทำลาย หรือ "ไม่ไม่ใช่รุ่น MySQL ของเราดูคำถามของคุณที่นี่ ... "
ฉันคิดว่าเราแตกต่างกันเมื่อเราจ้างผู้ดูแลระบบที่มีพรสวรรค์ .. เราครึ่งทางคาดหวังให้พวกเขา (ในที่สุด) หาวิธีในการเขียนโปรแกรมแม้ว่ามันจะเป็นการแฮ็คสิ่งที่เราใช้ในการทำงานตามที่พวกเขาต้องการ .
โดยสรุปแล้วการมีความโค้งมนจะไม่ทำให้คุณเจ็บปวด
หลายปีที่ผ่านมา (ที่จริงแล้ว Windows NT 3.1) ฉันเริ่มจากการเป็นโปรแกรมเมอร์ที่เชี่ยวชาญในการเขียนบริการและแม้แต่ไดรเวอร์อุปกรณ์เป็นครั้งคราว ซึ่งหมายความว่าคุณจะได้รู้จักเคอร์เนลของ Windows เป็นอย่างดี ในเวลาที่ฉันเบื่อกับการเขียนโปรแกรมและเปลี่ยนเป็นการจัดการเครือข่าย ฉันพบว่าพื้นหลังของฉันในการเขียนโปรแกรมนั้นมีคุณค่ามากขึ้นเรื่อย ๆ
ไม่ใช่แค่การเขียนสคริปต์ VBScript นั้นค่อนข้างเจ็บปวด การรู้ว่าระบบของ Windows ทำงานอย่างไรและโดยเฉพาะอย่างยิ่งวิธีการทำงานของ IP จะช่วยได้อย่างมากในการแยกแยะปัญหาเซิร์ฟเวอร์และเครือข่าย นอกจากนี้ยังเป็นความคิด โปรแกรมเมอร์ใช้สำหรับการควบคุมเอกสารและเวอร์ชันและมันทำให้ฉันตกใจเมื่อเห็นว่าผู้ดูแลระบบ Windows จำนวนมากจะลองทำอะไรบางอย่างเพื่อดูว่ามันใช้งานได้หรือไม่
ทุกอย่างดีมาก แต่มันไม่มีคำแนะนำที่มีประโยชน์มากที่จะบอกว่าไปให้พ้นและทำงานเป็นโปรแกรมเมอร์มาสิบปีแล้ว! อย่างไรก็ตามฉันคิดว่ามันจะช่วยให้ผู้ดูแลระบบส่วนใหญ่มีประสบการณ์การเขียนโปรแกรมในภาษา "ยาก" เช่น C ++ หรือ C # และถ้าคุณมีโปรแกรมเมอร์เชื่องในองค์กรของคุณไปดื่มกับพวกเขา!
จอห์นเรนนี่
สิ่งเลวร้ายเกิดขึ้นรหัสของคุณจะยาวกว่าที่คุณคิด ล้มเหลวอย่างสง่างามพร้อมข้อความแสดงข้อผิดพลาดที่เป็นประโยชน์ คุณจะหมดดิสก์, RAM, cpu, เวลา ฯลฯ จัดการกับมัน
อย่ามองโลกในแง่ดีจนแปลก ๆ ครั้งหนึ่งในล้านประเด็นที่จะเกิดขึ้นบ่อยครั้งในการผลิต
ด้วยคำอธิบายทั้งหมดที่นี่ฉันจะไม่บอกว่าฉันเป็นผู้ดูแลระบบ แต่ความจริงที่ว่าฉันสร้างและจัดการเซิร์ฟเวอร์ windows / linux สองตัวฉันต้องยอมรับบางสิ่ง:
ใน linux, สคริปต์ bash เป็นสิ่งที่ต้องรู้ - ถ้าคุณรู้วิธีรวมมันเข้ากับ Perl / awk / etc, มันจะดีกว่า ฉันพบว่างานหลายอย่างง่ายขึ้นด้วยการใช้งาน
การรู้จักโปรแกรมใน C / C ++ ช่วยได้มาก บางครั้งคุณต้องแก้ไขซอร์สโค้ด GNU (ถ้าคุณใช้) เพื่อให้เหมาะกับความต้องการของคุณเนื่องจากการเป็นผลิตภัณฑ์ GNU ไม่แน่ใจว่าคุณจะได้รับความช่วยเหลือที่คุณต้องการตรงเวลาเสมอและหลาย ๆ ครั้งเขียนด้วยภาษา C / C ++
การรู้วิธีผูกเข้ากับ LDAP ของคุณและดึงข้อมูลที่จำเป็นในภาษาสคริปต์ที่คุณเลือกเป็นกุญแจสำคัญสำหรับทุกสิ่งตั้งแต่การแก้ไขปัญหาไปจนถึงการเพิ่มความอัตโนมัติในรูปแบบต่าง ๆ (การจัดสรรบัญชีและทรัพยากรการตรวจสอบบัญชีผู้ใช้
อาจดูธรรมดา แต่ฉันเห็นร้านขนมปัง - เนยจำนวนมากซึ่งผู้คนไม่คิดว่าพวกเขามีความต้องการการบริหารระบบประเภทนี้ มีสถานที่มากมายให้ใช้จ่ายเงินจำนวนมาก $$$ บนชุดเครื่องมือการดูแลระบบขนาดใหญ่และเท่าที่ฉันสามารถบอกได้ 95% ของสิ่งที่พวกเขาใช้เครื่องมือนี้สามารถทำได้ด้วยการใช้สคริปต์สองสามชั่วโมงถ้าใครรู้หรือรู้วิธีการ ทำมัน.
ฉันพบว่าการรู้ bash, dos batch, และการเขียนสคริปต์ powershell ทำให้ผู้ดูแลระบบมีกรอบที่จะทำอะไรก็ได้ในระบบที่ได้รับความนิยม