โพสต์เมื่อ : 30 ม.ค. 2566
Microservices เป็นรูปแบบหนึ่งของโครงสร้างในการออกแบบซอฟต์แวร์ ที่จะแบ่งเป็นระบบย่อย ๆ ในแต่ละกระบวนการทำงาน โดยที่สามารถหรือไม่สามารถเชื่อมโยงกันได้ทั้งหมด กล่าวคือเป็นการแยกซอฟต์แวร์แต่ละระบบออกจากกัน แต่สามารถนำมาทำงานร่วมกันได้
แผนภาพโครงสร้าง Monolithic vs. Microservice
จากแผนภาพเราจะเห็นได้ว่า โครงสร้างแบบ Microservice จะถูกแยกออกจากกัน นั่นหมายความว่าหากเกิดการแก้ไข เปลี่ยนแปลง หรือปัญหาต่าง ๆ ผู้พัฒนาสามารถแก้ไขเฉพาะส่วนได้ โดยไม่กระทบกับฟังก์ชันอื่น ๆ หรือทำให้การทำงานหยุดชะงัก อีกทั้งยังสามารถพัฒนาเฉพาะส่วนได้ง่าย ไม่ต้องกังวลว่าจะกระทบระบบส่วนอื่น ๆ
ในแง่ของผู้ใช้งาน เนื่องจากระบบถูกแบ่งย่อย ทำให้มีอิสระในการดูแลและบริการ services ต่าง ๆ หากมีระบบบางส่วนที่ใช้งานอยู่แล้วก่อนหน้า แต่ต้องการพัฒนาหรือเพิ่ม Features ในการใช้งานบางอย่าง ผู้ใช้งานไม่จำเป็นต้องรื้อซอฟต์แวร์ที่มีอยู่เดิมและแก้ไขให้ซับซ้อน เพียงพัฒนาซอฟต์แวร์ใหม่เพื่อนำมาใช้ในรูปแบบ Microservices เชื่อมต่อกับซอฟต์แวร์ที่มีอยู่เดิม ข้อนี้นับว่าทั้งสะดวกและง่าย เหมาะกับการเริ่มปรับตัวของธุรกิจในปัจจุบันที่มีความเปลี่ยนแปลงค่อนข้างรวดเร็ว
ตัวอย่างการใช้บริการ Microservice
ผู้ใช้งานมีซอฟต์แวร์เฉพาะทางในการทำงานแบบออฟไลน์ แต่หลังจากมีการปรับเปลี่ยนนโยบายการทำงานให้มีการ work from home จึงต้องการให้ฟังก์ชันบางอย่างสามารถใช้งานในรูปแบบออนไลน์ได้ ผู้ใช้งานสามารถใช้บริการพัฒนาซอฟต์แวร์ เพื่อเพิ่ม feature ออนไลน์นี้ในรูปแบบ การพัฒนาแบบ Microservice โดยไม่กระทบกับระบบงานเดิม
ข้อดีของการพัฒนาซอฟต์แวร์ในรูปแบบ Microservices
- ปรับเปลี่ยนแก้ไขเฉพาะส่วนได้
- ติดตั้งหรืออัปเดตได้โดยไม่กระทบกระบวนการทำงาน หรือระบบอื่นๆ
- มี Database แยกกันอย่างชัดเจน
- ระบบแต่ละระบบสามารถเขียนโดยใช้ภาษาต่างกัน
- ง่ายต่อการพัฒนา และอัปเดต