มีโอกาสได้เข้าฟัง session Breaking the Monolith ที่ ais dc มา ด้วยความที่ผมใหม่กับเรื่อง Microservice มากๆ ก็มีความมึนพอสมควร แต่ได้ key takeaway ดีๆมาดังนี้
สิ่งที่ควรมีเมื่อต้องการ(ทยอย)อพยพจาก Monolith ไปสู่ Microservice
- การทำ New Front Door (ส่วนที่ปฏิสัมพันธ์กับผู้ใช้งาน) ใหม่ เพื่อเป็นการคัดกรองว่า ผู้ใช้งานใดจะ action กับ Monolith เดิมเต็มๆ หรือ Service ที่ถูกแปลงรูปเป็น Microservice ไปแล้ว
- ทำส่วน Metric และ Centralize Log ให้สามารถเช็คสุขภาพของ Service ทั้งหมดได้ โดยท่าที่นิยมใช้กันคือ ELK Stack (Elasticsearch, Kibana and Logstash)
- ทำ Test Automation และ Deployment Pipeline เพื่อความมั่นใจว่า Service ต่างๆทั้งหมดนั้น สามารถทำงานได้ทั้ง Scenario
- ทำ Event Notification ด้วย Dependency Inversion โดยเราจะมี Event Bus เพื่อใช้ในการ Subscribe ตัว Service ใหม่ ที่ถูกสร้างขึ้น (โดยวิทยากรแนะนำว่า ควรใช้ Kafka ในการทำ Service Bus)