Technology

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

Microservices

จากเอกสารเรื่อง 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 แบบ

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

You may also like

Airtable | Skooldio Blog - Airtable คืออะไร? รู้จักเครื่องมือจัดการ Operations อัตโนมัติ ที่ทำได้มากกว่า Excel
Business

Airtable คืออะไร? รู้จักเครื่องมือจัดการ Operations อัตโนมัติ ที่ทำได้มากกว่า Excel

ปัจจุบันหลายๆ องค์กรมักใช้ Spreadsheet อย่าง Excel หรือ Google Sheets ในการทำงานร่วมกัน ไม่ว่าจะเป็นการทำตารางแสดงแผนการดำเนินงาน, การจัดการ Operations, การบันทึกข้อมูลสินค้าหรือยอดขาย การคำนวณทางบัญชี การบันทึกรายชื่อลูกค้าจำนวนมาก ...

More in:Technology

Docker คืออะไร | Skooldio Blog Technology

Docker คืออะไร? เครื่องมือยอดนิยมที่จะช่วย Dev ทำงานเร็วขึ้น 2 เท่า!

การ deployment เป็นหนึ่งในขั้นตอนการทำงานที่ dev ทุกคนต้องเจอไม่ว่าจะเป็นองค์กรขนาดเล็กหรือขนาดใหญ่ แต่สิ่งที่แต่ละองค์กรไม่เหมือนกันคือความยุ่งยากซับซ้อน ระยะเวลาในการ deploy ที่ต่างกัน ขึ้นอยู่กับ process และเครื่องมือที่ใช้ ซึ่ง Docker ก็เป็นหนึ่งในเครื่องมือยอดนิยมที่จะช่วยให้การ ...
Technology

รู้จัก Intl API: Built-in JavaScript ที่มาแทน Moment.js และเป็นได้มากกว่าแค่เรื่องเวลา!

เชื่อว่าหลายคนที่เคยเขียน JavaScript คงเคยเจอปัญหาในการจัดรูปแบบการแสดงผล Date & Time, การ format เวลา หรือแม้กระทั่งการจัดลำดับตัวอักษรมาไม่มากก็น้อย แต่รู้หรือไม่ว่า JavaScript นั้นมี built-in object ...
Technology

DevSecOps คืออะไร? ทำไมทุกองค์กรต้องให้ความสำคัญเป็นอย่างมากในปัจจุบัน

DevSecOps คืออะไร? ก่อนอื่นมาดูที่ไปที่มากันก่อน ว่า DevOps / DevSecOps เกิดขึ้นจากอะไร  ในช่วงปี 2009 ในงาน Web Performance and Operations ...

Comments are closed.