LNX-01 · ประสบการณ์
ผมดูแลฟลีต Linux และ Unix ในระบบงานจริงให้เสถียร อัปเดตแพตช์ครบ และปลอดภัยอยู่เสมอ
ผมดูแลระบบ RHEL, CentOS และ Debian ที่ต้องเปิดทำงานตลอดเวลา นั่นหมายถึงการจัดเตรียมระบบที่สะอาด การเสริมความแข็งแกร่งที่ทำจริง รอบการแพตช์ที่ไม่ทำให้อะไรพัง และการมอนิเตอร์ที่จับปัญหาได้ก่อนผู้ใช้จะเจอ เมื่อเกิดปัญหาตอนตีสอง ผมทิ้งขั้นตอนที่มีเอกสารกำกับไว้ให้วิศวกร on-call คนไหนก็ทำตามได้
01 · สิ่งที่ผมทำ
งานจริงที่ลงมือทำ
- จัดเตรียมโฮสต์ RHEL, CentOS และ Debian ด้วยการบิลด์ที่สม่ำเสมอและทำซ้ำได้
- เสริมความแข็งแกร่งให้ระบบด้วย SELinux การล็อกดาวน์ SSH และเบสไลน์ที่อิงตาม STIG
- วางระบบมอนิเตอร์และการแจ้งเตือนเพื่อให้ความผิดปกติปรากฏแต่เนิ่นๆ ไม่ใช่หลังจากผู้ใช้ร้องเรียน
- จัดการรอบการแพตช์ด้วยการทดสอบแบบเป็นขั้นและเส้นทางย้อนกลับที่ชัดเจน
- เขียน systemd unit และสคริปต์ Bash เพื่อให้งานประจำเดินเองโดยไม่ต้องคอยจับ
- สร้างขั้นตอนงาน on-call ที่ใครในทีมก็ทำตามได้
- สแกนการตั้งค่าเทียบกับเบสไลน์ที่เผยแพร่อย่างเป็นทางการด้วย SCAP แล้วอุดช่องว่างที่พบ
02 · สิ่งที่คุณได้รับ
สิ่งที่เหลืออยู่กับคุณ
- ฟลีตที่บูตได้สะอาด แพตช์ตามกำหนด และผ่านการรีบูตได้โดยไม่มีปัญหา
- การเสริมความแข็งแกร่งที่พิสูจน์ได้จริงเทียบกับเบสไลน์ที่เผยแพร่ ไม่ใช่แค่กล่าวอ้าง
- การมอนิเตอร์และการแจ้งเตือนที่จับปัญหาได้ตั้งแต่ยังเล็ก
- ขั้นตอนที่เขียนเป็นเอกสาร เพื่อให้ความรู้งาน on-call ไม่ได้อยู่แค่ในหัวของคนคนเดียว
- ประวัติการเปลี่ยนแปลงที่มีเอกสารกำกับ ซึ่งคุณส่งต่อให้ผู้ตรวจสอบได้ทันที
03 · เครื่องมือและความรู้
สิ่งที่ผมใช้ในงานด้านนี้
04 · วิธีที่ผมทำงาน
วางแผน กำหนดขอบเขต และรับผิดชอบจนจบ
ทุกงานเริ่มต้นด้วยการพูดคุยกำหนดขอบเขต 30 นาที และการประเมินความเหมาะสมเป็นลายลักษณ์อักษรภายในวันเดียวกัน เพื่อให้เราทั้งสองฝ่ายรู้ชัดว่าผมเป็นคนที่ใช่สำหรับงานนี้หรือไม่ ก่อนจะลงมือแตะอะไรในระบบงานจริง ผมเขียนแผนการเปลี่ยนแปลงที่มีเอกสารกำกับพร้อมแผนย้อนกลับ และเราตกลงกันถึงเกตที่จะใช้พิสูจน์ว่าการเปลี่ยนแปลงได้ผล ผมดำเนินการเปลี่ยนแปลงภายในช่วงเวลาที่กำหนดไว้ ตรวจสอบเทียบกับเกตเหล่านั้น และรับผิดชอบแผนย้อนกลับเองจนกว่าระบบจะนิ่งแน่นอน ไม่มีอะไรทำจากความจำ เพราะขั้นตอนถูกเขียนไว้เป็นเอกสารและใครก็ทำซ้ำตามได้
05 · คำถาม
คำถามที่ดี คำตอบที่ตรงไปตรงมา
คุณดูแลได้ทั้ง RHEL, CentOS และ Debian หรือทำได้แค่ตัวใดตัวหนึ่ง?
ได้ทั้งสามตัว แพ็กเกจแมเนเจอร์และค่าตั้งต้นต่างกัน แต่หลักการทำงานเหมือนกัน คือ การบิลด์ที่สะอาด เบสไลน์ที่เสริมความแข็งแกร่งแล้ว แพตช์ที่ผ่านการทดสอบ และการเปลี่ยนแปลงที่มีเอกสารกำกับ
หลังจากที่คุณถอนตัวไปแล้ว ทีมของเราจะยังเดินระบบต่อเองได้ไหม?
ได้ครับ ผมเขียนขั้นตอนให้เข้าใจง่ายพอที่วิศวกร on-call ซึ่งไม่เคยสร้างระบบนี้มาก่อนก็ทำตามได้ เป้าหมายคือฟลีตที่ไม่ต้องพึ่งพาตัวผม
คุณแพตช์ระบบงานจริงโดยไม่ทำให้ระบบล่มได้อย่างไร?
เริ่มจากการทดสอบแบบเป็นขั้นก่อน กำหนดช่วงเวลาบำรุงรักษาที่ชัดเจน มีเกตตรวจสอบที่ยืนยันว่าแพตช์ใช้งานได้จริง และมีแผนย้อนกลับที่ผมรับผิดชอบเองจนกว่าระบบจะนิ่งแน่นอน
06 · ประสบการณ์ที่เกี่ยวข้อง
งานในด้านใกล้เคียงที่ผมทำ
ต้องการให้ดูแลงานนี้ไหม?
บอกผมว่าคุณกำลังพยายามขยับอะไรอยู่ และมันติดขัดตรงไหน แค่ไม่กี่ประโยคก็พอเริ่มได้ และข้อความจะส่งตรงถึงกล่องจดหมายของผม