คนทำระบบหายไปแล้ว แต่ระบบยังต้องรันต่อ — คู่มือรับช่วงระบบกำพร้า

ฟรีแลนซ์เลิกรับงาน บริษัทเดิมปิดตัว หรือหุ้นส่วนที่ดูแลระบบแยกทาง — ธุรกิจจำนวนมากตื่นมาพร้อมระบบที่ทั้งบริษัทพึ่งพาแต่ไม่มีใครแก้ได้ บทความนี้คือลำดับที่ถูกของการกู้สถานการณ์ ตั้งแต่ชั่วโมงแรกจนถึงการตัดสินใจว่าจะไปต่อกับระบบเดิมหรือสร้างใหม่
สถานการณ์นี้พบบ่อยกว่าที่คิดมาก ระบบขายที่ฟรีแลนซ์เขียนไว้เมื่อห้าปีก่อนแล้วตอนนี้ติดต่อไม่ได้ ระบบสต๊อกจากบริษัทที่ปิดกิจการไปแล้ว หรือเว็บที่หุ้นส่วนเก่าเป็นคนดูแลก่อนแยกทางกัน จุดร่วมของทุกเคสคือระบบยังทำงานอยู่ ธุรกิจยังพึ่งมันทุกวัน และไม่มีมนุษย์คนไหนบนโลกที่ทั้งรู้จักโค้ดนี้และยังยินดีรับสาย ข่าวดีคือสถานการณ์นี้กู้ได้เกือบทุกครั้ง ถ้าทำตามลำดับที่ถูก และข่าวร้ายคือลำดับที่คนส่วนใหญ่ทำ คือรีบหาคนมาแก้ฟีเจอร์ที่ค้าง เป็นลำดับที่ผิด
สัปดาห์แรก: กันความเสียหายก่อนแตะอะไร
- สำรองข้อมูลทันที ทุกวิธีที่ทำได้ — ฐานข้อมูล ไฟล์ หรืออย่างแย่ที่สุดคือรายงานส่งออกทุกตัวที่ระบบมี เก็บไว้ในที่ที่บริษัทถือกุญแจเอง
- ไล่หาว่าบริการรอบระบบจ่ายเงินด้วยบัตรของใคร โดเมน โฮสติง และบริการภายนอก — บัตรของคนที่หายไปคือระเบิดเวลาที่จะระเบิดวันหมดอายุบัตร
- จดทุกอย่างที่ทีมรู้เกี่ยวกับระบบตอนนี้ ขั้นตอนใช้ จุดที่เคยพัง วิธีแก้เฉพาะหน้าที่ใครสักคนเคยจำได้ — ความรู้ชุดนี้กำลังระเหย
- หยุดทุกการเปลี่ยนแปลง ทั้งอัปเดต ปลั๊กอิน และการตั้งค่า จนกว่าจะมีสำรองที่พิสูจน์แล้วว่ากู้กลับได้
เดือนแรก: เข้าถึงและประเมิน
ขั้นถัดมาคือให้ทีมพัฒนาที่รับช่วงประเมินสามเรื่องโดยยังไม่แก้อะไร คือระบบสร้างด้วยเทคโนโลยีอะไรและยังมีคนในตลาดรับงานเทคโนโลยีนั้นไหม โค้ดกับฐานข้อมูลอยู่ในสภาพไหน และจุดพึ่งพาที่อันตรายที่สุดอยู่ตรงไหน ผลของการประเมินนี้คือแผนที่ความเสี่ยงหนึ่งหน้า ที่บอกว่าอะไรพังแล้วธุรกิจหยุด อะไรพังแล้วแค่รำคาญ ค่าประเมินลักษณะนี้มักอยู่ที่หลักหมื่นถึงแสนต้น ซึ่งถูกมากเมื่อเทียบกับการตัดสินใจผิดสองแบบที่มันป้องกัน คือจ่ายเขียนใหม่ทั้งระบบทั้งที่ของเดิมประคองได้ หรือประคองของที่ควรเลิกไปนานแล้ว
สามทางไปต่อ และวิธีเลือก
- ประคองต่อ — เมื่อระบบยังตอบโจทย์และโค้ดอยู่ในสภาพรับได้: จ้างดูแลรายปี ทำเอกสาร และตั้งสำรองอัตโนมัติ จบ
- ครอบข้าง ๆ — เมื่อระบบใช้ได้แต่ขยายไม่ได้: กันข้อมูลออกมาชั้นกลาง แล้วสร้างความสามารถใหม่ข้างนอก ให้ของเดิมทำหน้าที่เดิมจนกว่าจะพร้อมปลด
- สร้างใหม่ — เมื่อเทคโนโลยีเดิมหาคนทำไม่ได้แล้วจริง หรือความเสี่ยงต่อธุรกิจสูงเกินประคอง: สร้างระบบใหม่ให้เสร็จก่อน แล้วย้ายด้วยข้อมูลที่สำรองไว้ตั้งแต่สัปดาห์แรก
คำถามที่พบบ่อย
ไม่มีรหัสผ่านอะไรเลย เข้าระบบไม่ได้ด้วยซ้ำ เริ่มตรงไหน
เริ่มจากชั้นที่กู้ได้เสมอก่อน คือโดเมนและโฮสติง ถ้าจดทะเบียนในชื่อบริษัทหรือจ่ายด้วยบัตรบริษัท ผู้ให้บริการส่วนใหญ่มีขั้นตอนพิสูจน์ความเป็นเจ้าของด้วยเอกสารบริษัท ซึ่งกู้สิทธิ์ได้แม้ไม่มีรหัสเดิมเลย เมื่อคุมโฮสติงได้ ทีมเทคนิคก็เข้าถึงไฟล์และฐานข้อมูลจากชั้นนั้นได้โดยไม่ต้องมีรหัสของแอป ส่วนกรณีที่ทุกอย่างจดในชื่อบุคคลที่หายไป ให้รีบปรึกษาทั้งผู้ให้บริการและที่ปรึกษากฎหมายพร้อมกัน เพราะบางกระบวนการใช้เวลาหลายสัปดาห์และควรเริ่มเดินให้เร็วที่สุด
ทีมใหม่บอกว่าโค้ดเก่าแย่มาก ต้องเขียนใหม่หมด เชื่อได้แค่ไหน
ฟังอย่างมีเงื่อนไข เพราะคำตัดสินนี้มีผลประโยชน์ทับซ้อนในตัว การเขียนใหม่คืองานก้อนใหญ่ที่สุดที่ทีมใหม่จะขายได้ และโค้ดของคนอื่นดูแย่กว่าความเป็นจริงเสมอในสายตาคนมาทีหลัง วิธีแยกความจริงออกจากความเคยชินคือขอหลักฐานเป็นรายการ ว่าจุดไหนของโค้ดสร้างความเสี่ยงหรือต้นทุนอะไรเป็นตัวเงิน แล้วขอราคาสองทางเทียบกัน คือประคองพร้อมเอกสารหนึ่งปี กับเขียนใหม่ ทีมที่ตอบสองทางพร้อมข้อดีข้อเสียตรง ๆ น่าเชื่อกว่าทีมที่มีคำตอบเดียวตั้งแต่ยังไม่เห็นโค้ดมาก
ระหว่างที่ยังหาทีมไม่ได้ ควรใช้ระบบต่อไหม
ใช้ต่อได้ถ้าทำสองอย่างแล้ว คือมีสำรองข้อมูลที่พิสูจน์แล้วว่ากู้ได้ และหยุดการเปลี่ยนแปลงทุกชนิดกับตัวระบบ ระบบที่รันนิ่ง ๆ มาหลายปีมักรันต่อได้อีกนานถ้าไม่มีใครไปแตะ ความเสี่ยงที่แท้จริงไม่ใช่การใช้งานประจำวัน แต่คือการใช้งานโดยไม่มีสำรอง ซึ่งเปลี่ยนเหตุการณ์ระดับรำคาญอย่างดิสก์เต็มหรือเซิร์ฟเวอร์ล่ม ให้กลายเป็นการสูญข้อมูลถาวรของทั้งธุรกิจ
บริการที่เกี่ยวข้อง
รับพัฒนาระบบและซอฟต์แวร์เฉพาะทาง
ออกแบบและวางระบบตามความต้องการเฉพาะของธุรกิจคุณ ตั้งแต่ต้นจนใช้งานจริง
WhaleScope
ดูโครงสร้างตลาดของทุกหมวดธุรกิจไทย บน WhaleScope
รายชื่อบริษัท ผู้เล่นรายใหญ่ และอัตราคงอยู่ของแต่ละหมวด — จากข้อมูลจดทะเบียน 2 ล้านนิติบุคคล
อ่านต่อ

จ้างทำระบบแล้ว ธุรกิจต้องเป็นเจ้าของอะไรบ้าง — เช็กลิสต์ก่อนจ่ายงวดสุดท้าย
เจ้าของธุรกิจจำนวนมากจ่ายเงินเต็มจำนวนแล้วพบทีหลังว่าโดเมนอยู่ในชื่อคนอื่น ฐานข้อมูลอยู่ในบัญชีที่เข้าไม่ได้ และซอร์สโค้ดไม่เคยถูกส่งมอบ บทความนี้คือรายการสิ่งที่ต้องเป็นของธุรกิจ พร้อมวิธีตรวจแต่ละข้อภายในสิบนาที

Legacy System ควรเปลี่ยนเมื่อไร?
ระบบเก่าที่ยังทำงานได้ ไม่ได้แปลว่าควรเก็บไว้ และระบบที่ดูล้าสมัย ไม่ได้แปลว่าควรรื้อทิ้ง คำถามที่ยากคือเส้นแบ่งอยู่ตรงไหน

Strangler Fig: ย้ายระบบเก่าทีละส่วน โดยไม่ต้องหยุดธุรกิจ
การเขียนระบบใหม่ทั้งก้อนแล้วสลับวันเดียว คือความเสี่ยงที่หลายองค์กรเจ็บมาแล้ว Strangler Fig คือกลยุทธ์ค่อย ๆ แทนที่ระบบเก่าทีละส่วน ให้ของใหม่โตคลุมของเก่าจนถอดออกได้

Backup มี แต่กู้คืนไม่ได้
Backup ที่ไม่เคยทดสอบกู้คืน คือความหวัง ไม่ใช่แผน และความต่างนั้นจะปรากฏในวันที่เลวร้ายที่สุด
