กรณีศึกษา การย้ายโค้ด COBOL เดิมมาเป็นภาษายุคใหม่ มีทางออกอย่างไรบ้าง

by mk
12 May 2021 - 04:06

ภาษา COBOL กลับมาเป็นที่สนใจอีกครั้งในช่วง COVID-19 จากกรณีรัฐนิวเจอร์ซีย์ขอโปรแกรมเมอร์ COBOL เข้าไปช่วยแก้ระบบสวัสดิการช่วง COVID-19 ทำให้โลกกลับมาสนใจโค้ดเดิมที่เขียนไว้หลายสิบปีแล้ว และสนใจว่าจะหาทางแก้ปัญหาในระยะยาวได้อย่างไร

เว็บไซต์ InfoWorld รวบรวมข้อมูลประเด็นการย้ายระบบ COBOL ว่ามีหลายแนวทาง ตั้งแต่การเขียนใหม่ทั้งหมด (rewrite) ซึ่งมีข้อเสียว่าโค้ดเก่า 30 ปี เอกสารไม่มี อาจไม่มีใครเข้าใจมันอีกแล้ว ไปจนถึงการยกโค้ดเก่ามารันบนโครงสร้างพื้นฐานยุคใหม่ (lift-and-shfit) ซึ่งมีข้อเสียว่าไม่สามารถปรับซอฟต์แวร์เพื่อสนองความต้องการของคนรุ่นนี้ได้อีก

ทางเลือกที่อยู่ตรงกลางคือ code refactoring ที่ยังคง logic ทางธุรกิจเดิมเอาไว้ แต่ปรับโค้ดให้ประสิทธิภาพดีขึ้น ไม่ผูกติดกับฮาร์ดแวร์มากเหมือนเดิม ซึ่งมีกรณีศึกษา 2 กรณีคือ

  • กระทรวงแรงงานและบำนาญของอังกฤษ (UK Department of Work and Pension) เคยพยายามเขียนโค้ด COBOL จำนวน 25 ล้านบรรทัดใหม่มาหลายครั้งแต่ไม่สำเร็จ สุดท้ายหันมาใช้ Micro Focus Visual Cobol ซึ่งเป็นภาษา COBOL เวอร์ชันใหม่ มีฟีเจอร์อย่างภาษาสมัยใหม่แทน ผลคือลดภาระการดูแล และประสิทธิภาพของระบบดีขึ้นมาก โค้ดย้ายจากเมนเฟรม VME มาเป็นลินุกซ์ RHEL และภายหลังจะย้ายมารันบน AWS ด้วย
  • หนังสือพิมพ์ The New York Times เดิมรัน COBOL บนเมนเฟรม IBM Z ใช้อีกวิธีคือแปลงโค้ดมาเป็น Java ด้วยเครื่องมือ automated refactoring ของบริษัท Modern Systems ใช้เวลาแปลงทั้งหมด 2 ปี ตอนแรกรันบนเซิร์ฟเวอร์ภายใน ภายหลังย้ายมาบน AWS เช่นกัน ลดต้นทุนค่าดูแลลงได้ 70%

ข้อมูลของ The New York Times มีเป็นกรณีศึกษาบนเว็บไซต์ของ AWS

หน้าตาของ Micro Focus Visual Cobol ที่รันอยู่ใน Visual Studio (รองรับ Eclipse ด้วย)

tech stack ของ The New York Times ระหว่างเก่ากับใหม่

ที่มา - InfoWorld

Blognone Jobs Premium