เคารพว่า sysadmins มีงานต้องทำและให้พวกเขาทำงานของพวกเขา บริษัท จำนวนมากมีผู้ดูแลระบบที่ไร้ความสามารถและมักจะไม่เป็นจริง แต่ฉันได้เห็นนักพัฒนาที่หยิ่งเพิกเฉยต่อคำแนะนำของกลุ่มระบบแม้หลังจากที่ผู้ดูแลระบบได้พิสูจน์ความสามารถของพวกเขาแล้ว
อภิปรายการออกแบบระบบใหม่ด้วย sysadmins มักจะมีความเข้าใจที่มีคุณค่า นักพัฒนามักจะพิจารณาการหารือกับ sysadmins และให้ความต้องการเริ่มต้นเป็น "การเพิ่มประสิทธิภาพก่อนวัยอันควร" ฉันเห็นหัวหน้ากลุ่มพัฒนาบอกว่ามันเป็นการเสียเวลาที่จะพูดคุยเกี่ยวกับข้อกำหนดสำหรับเซิร์ฟเวอร์ฐานข้อมูลใหม่ที่มี sysadmins และ DBAs แม้ว่าจะอธิบายว่ามันเป็นภาระการเขียนหรือการอ่านมากหรือไม่ก็ตาม ต้องการพื้นที่เก็บข้อมูลเท่าใด
หารือเกี่ยวกับปัญหาประสิทธิภาพการทำงานกับ sysadmins sysadmins ที่ซื่อสัตย์เท่านั้นที่สามารถตีความการวัดประสิทธิภาพบนระบบได้อย่างเหมาะสม ฉันเคยเห็นผู้พัฒนาตัดสินใจว่า Linux จะรั่วหน่วยความจำเสมอเพราะหน่วยความจำที่รายงานโดย "free" จะลดลงเสมอแม้หลังจากที่อธิบายการส่งออกของ "ฟรี" เป็นครั้งที่ 10 ก็ตาม
อย่าทำข้อสรุปโดยไม่ปรึกษากับผู้ดูแลระบบ ฉันเคยเห็นนักพัฒนาติดอยู่กับทฤษฎีเช่น "ฐานข้อมูลมักจะ diskbound" (พวกเขาไม่รู้ว่ามี iostat อยู่), "RAID 5 เร็วกว่าสำหรับปริมาณงานที่ทำธุรกรรม" (อิงจากความทรงจำของระบบฐานข้อมูลเดียวที่ถูกย้าย จากแพลตฟอร์มฮาร์ดแวร์หนึ่งไปสู่อีกแพลตฟอร์มหนึ่ง - เป็นภาระงานที่อ่านได้อย่างเข้มข้นโซลูชั่น RAID5 มีไดรฟ์มากขึ้นและเร็วขึ้นกระจายไปทั่วคอนโทรลเลอร์มากขึ้น แต่พวกเขาลืมรายละเอียดเหล่านี้และจดจำเฉพาะข้อสรุปเท่านั้น)
อย่าออกแบบวิธีแก้ไขปัญหาของระบบโดยไม่ปรึกษากับ sysadmins ฉันทำงานในสภาพแวดล้อมทางพยาธิสภาพเดียวที่นักพัฒนาจะออกแบบวิธีแก้ปัญหาและขอความช่วยเหลือในการปรับใช้เล็กน้อย สมาชิกของกลุ่ม Unix นอกเหนือจากตัวฉันเองหัวหน้ากลุ่ม Unix และหัวหน้าของเขาต้องการที่จะปฏิบัติต่อนักพัฒนาในฐานะ "ลูกค้า" ไม่ใช่เพื่อนร่วมงานที่พยายามสร้างฟังก์ชั่นโครงสร้างพื้นฐานโดยรวม ลูกค้าที่ถูกต้องเสมอหมายถึงไม่ตั้งคำถามกับสิ่งที่พวกเขาทำหรือทำไม ฉันเป็นคนเดียวที่จะยืนยันว่ามีปัญหาอธิบายเพื่อให้สามารถแก้ไขปัญหาได้อย่างถูกต้อง อย่ากระทำการใด ๆ ที่สร้างสภาพแวดล้อมทางพยาธิวิทยาเช่นนี้ มันไม่ได้ส่งผลประโยชน์สุทธิ แต่ผู้จัดการระบบจะทำหน้าที่ป้องกันและทุกคนจะต้องทนทุกข์ทรมาน
คุณไม่ได้อยู่โรงเรียนอีกแล้ว สิ่งเหล่านี้เป็นระบบในโลกแห่งความเป็นจริงและพวกมันไม่ได้ทำหน้าที่ในอุดมคติ ตัวอย่างเช่นไม่ใช่ทุกอย่างที่มีเวลาแฝงเป็นศูนย์ เมื่อดูแลระบบเตือนคุณว่าโซลูชันการทำคลัสเตอร์เป็นเพียงเพื่อจุดประสงค์ทางการเมืองเท่านั้นและความซับซ้อนที่เพิ่มขึ้นของระบบจะลดความน่าเชื่อถือโดยรวมให้จริงจัง คุณต้องออกแบบโหมดความล้มเหลวในโลกแห่งความเป็นจริงตัวอย่างเช่นเมื่อเซิร์ฟเวอร์ของคุณกำลังพูดถึงผ่าน TCP การเชื่อมต่อจะไม่ถูกรีเซ็ตสำหรับคุณ Sysadmins เข้าใจโหมดความล้มเหลวในโลกแห่งความจริง
ทั้งฟังสิ่งที่ดูแลระบบของคุณบอกคุณหรือบ่นกับผู้บริหารว่าดูแลระบบของคุณไร้ความสามารถและต้องถูกไล่ออก การไม่ดูแลระบบของคุณไม่สมเหตุสมผล
พิจารณาว่าคุณจะปรับใช้แอปพลิเคชันของคุณอย่างไร ตระหนักว่าการพูดคุยเรื่องนี้กับ sysadmins ของคุณสมเหตุสมผลแล้ว หากคุณมีเซิร์ฟเวอร์ 100 เซิร์ฟเวอร์ที่เหมือนกันแตกต่างกันไปตามไฟล์การกำหนดค่าเดียวคุณอาจต้องการพิจารณาจัดเก็บสำเนาต้นฉบับของไฟล์กำหนดค่าเหล่านี้ไว้ในตำแหน่งส่วนกลาง ตระหนักดีว่าทุกคนนั้นดีกว่ากันมากหากแอปพลิเคชันของคุณสามารถปรับใช้ใหม่ได้ง่าย หากมีปัญหาเกี่ยวกับระบบคุณควรจะปรับใช้อีกครั้งภายในไม่กี่นาทีเพื่อสำรองหรือรออายุในขณะที่คนที่ชำรุดได้รับการซ่อมแซม? หากคุณสามารถปรับใช้แอปพลิเคชันของคุณใหม่ได้ระบบปฏิบัติการสามารถอัปเกรดได้ง่ายและปลอดภัยยิ่งขึ้น คุณอาจสนใจเรื่องนี้ในอนาคต
หากคุณมีปัญหาที่คุณคิดว่าอาจเกิดจากระบบปฏิบัติการคุณควรเรียกผู้ดูแลระบบทันทีเพื่อตรวจสอบ แต่หลังจากการตรวจสอบคร่าวๆไม่พบสิ่งใดคุณมีหน้าที่อธิบายปัญหา
ทำความเข้าใจว่ามีความแตกต่างระหว่าง "การตอบสนองช้า" และ "ไม่ตอบสนองเลย"