Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

รูปแบบการย้ายไป Microservices จากเอกสารเรื่อง Blowing Up the Monolith

$
0
0

จากเอกสารเรื่อง Blowing Up the Monolith: Adopting a Microservices-Based Architecture 
จากทาง KongHQ ทำการอธิบายเกี่ยวกับการนำแนวคิด Microservices
มาปรับใช้สำหรับการปรับปรุงระบบเดิมที่มีลักษณะแบบ Monolith ให้ดีขึ้น
ว่าควรพิจารณาในเรื่องใดบ้าง
รวมทั้งควรมี strategy ในเรื่องต่าง ๆ ที่ชัดเจน
หนึ่งในนั้นคือ Transition strategy

จากเอกสารอธิบายไว้ว่า 

Transition strategy คือรูปแบบในการนำแนวคิดมาปรับใช้กับองค์กรและระบบงาน
โดยแบ่งออกเป็น 3 รูปแบบคือ

  1. Ice cream scoop
  2. Lego
  3. Nuclear option

มาดูรายละเอียดรวมทั้งข้อดีข้อเสียกันนิดหน่อย

รูปแบบที่ 1 Ice cream scoop

เป็นรูปแบบการแยกส่วนการทำงานออกมาจากระบบเดิม
โดยค่อย ๆ แยกออกมา เหมือนกับการตัก Ice cream มาทีละ scoop
ข้อดีคือ เป็นการทำงานแบบค่อยเป็นค่อยไป
ดังนั้นผลกระทบจากการเปลี่ยนแปลงจะน้อยหรือไม่มีเลย
ผู้ใช้งานยังใช้งานเช่นเดิมเช่นเดิม ไม่มีผลกระทบหรือน้อยมาก ๆ
แต่กว่าจะแยกออกมาหมดก็ต้องใช้เวลามากเช่นกัน !!

รูปแบบที่ 2 Lego

ในระบบงานแบบ Monolith นั้นมีขนาดใหญ่มาก
การจะมาแก้ไขหรือปรับปรุงให้ดีขึ้น
เป็นเรื่องที่ยากหรือเป็นไปไม่ได้เลย
มีอีกแนวทางคือ อย่าไปยุ่งกับของเดิม แต่ก็อย่าสร้างเพิ่ม

ดังนั้น ถ้าต้องการสร้างหรือเพิ่ม feature ใหม่ ๆ 
จึงไม่ให้เพิ่มในระบบเดิม แต่ให้แยกออกมาเป็น service ใหม่แทน
แน่นอนว่า ข้อดีคือ ทำการพัฒนาได้อย่างรวดเร็ว
เพราะว่า ไม่ต้องไปแก้ไขของเก่า
แต่ปัญหาที่ตามมาคือ
ทั้งสองระบบต้องสร้างส่วนที่แลกเปลี่ยนข้อมูลกันด้วย
ยกตัวอย่างเช่น API ขึ้นมา
รวมทั้งระบบเดิม ก็ยังคงมีปัญหาเดิมต่อไป

รูปแบบที่ 3 Nuclear option

เป็นรูปแบบที่ใช้น้อยมาก ๆ นั่นคือ
สร้างระบบใหม่ขึ้นมาเลย ออกแนวทาง ทุบหม้อข้าวหม้อแกงก่อนออกรบนั่นเอง
หรืออาจยังคง support ระบบเดิม

แต่ถ้ามี feature ใหม่ ๆ จะเพิ่มไปที่ code ของระบบใหม่เท่านั้น ของเดิมไม่เพิ่ม
ข้อดีของแนวทางนี้คือ เริ่มใหม่คิดใหม่ทำใหม่
แต่ข้อเสียคือ ก็คือการเริ่มสร้างและพัฒนาใหม่นั่นเอง
ต้องใช้ค่าใช้จ่ายและคนเยอะมาก
อีกทั้งตอนที่นำมาใช้แทนที่ของเดิม
ทำให้เกิดผลกระทบต่อผู้ใช้งานสูงมาก ๆ

จากรูปแบบการย้ายไป Microservices ทั้ง 3 แบบ

ต่างมีข้อดีข้อเสียทั้งนั้น
ดังนั้นสิ่งที่เราต้องพิจารณาคือ
ปัญหา เป้าหมายขององค์กรว่า จะมีทิศทางอย่างไร
ก่อนที่จะเลือกรูปแบบที่จะเดินไปข้างหน้า
สามารถนำหลาย ๆ แนวทางมาประยุกต์ เพื่อให้เหมาะสมกับเราที่สุด


Viewing all articles
Browse latest Browse all 1997

Trending Articles