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

ภาษา 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 ด้วย)

No Description

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

No Description

ที่มา – InfoWorld

Topics: 
COBOL
Development
Programming
Enterprise