Architecture Archive

[Part 3] ว่าด้วยเรื่องของรูปแบบความสัมพันธ์ระหว่าง Boundary context ใน DDD

ในระบบงานหนึ่ง ๆ นั้นมักจะซับซ้อนเสมอ มี context หรือส่วนการทำงานจำนวนมาก ดังนั้นจำเป็นต้องแยกและกำหนดกรอบทำงานที่ชัดเจนให้แต่ละ context หรือเรียกว่า Boundary context แต่ปัญหาที่เกิดตามมาก็คือ แต่ละ Boundary context จะต้องติดต่อสื่อสาร หรือต้องทำการแลกเปลี่ยนข้อมูลกัน หรือเรียกว่าความสัมพันธ์ระหว่าง Boundary context กันอย่างไร

Read More…

[Part 2] สรุปการเรียน Domain-Driven Design ในเรื่องของการออกแบบ

จาก Part 1 เรื่องที่มาของ Domain-Driven Design (DDD)ต่อมาใน Part 2 เป็นเรื่อง workshop การออกแบบตามแนวทาง DDD แต่มีสรุปเรื่องของการออกแบบระบบงานใน class Domain-Driven Design แล้ว ที่ blog สรุป Class Domain-Driven Design by Roofimonผมจึงทำการสรุปในมุมมองเล็ก ๆ น้อย ๆ ดีกว่า เพื่อให้เห็นมุมมองในการออกแบบเพิ่มขึ้น

Read More…

[Part 1] สรุปจากการไปเรียน Domain-Driven Design by Roofimon

พอดีช่วงบ่ายวันศุกร์เห็น course Domain-Driven Design by Roofimon เด้งขึ้นมาลองไปกดดู ก็มีบัตรว่างด้วย ดังนั้นจึงซื้อตั๋วไปเรียนด้วย เป้าหมายหลัก ๆ เพื่อทำให้รู้และเข้าใจเกี่ยวกับ DDD (Domain-Driven Design) ว่าคืออะไร เป็นอะไร มาเริ่มกันเลย

Read More…

มาดูแนวโน้มของ Architecture และการออกแบบ Software จากทาง InfoQ กัน

เพิ่งไปเรียน course Domain-Driven Design (DDD) มา มีเรื่องหนึ่งที่น่าสนใจจาก course คือ  Architecture and Design InfoQ Trends Report ประจำเดือนมากราคม 2019 ซึ่งแบ่งกลุ่มตาม Diffusion of innovations แสดงดังรูป

Read More…

หนังสือน่าอ่าน A Philosophy of Software Design

จากที่ไปเรียนมาพบว่าในเอกสาร มีอ้างอิงถึงหนังสือชื่อว่า A Philosophy of Software Design จึงลองตามไปดูว่าในหนังสือมีอะไรบ้าง ก็พบว่าเป็นหนังสือที่น่าสนใจ เขียนโดยคุณ John Ousterhout เป็นอาจารย์สอนเรื่องของ Software Design

Read More…

สวัสดี Google Cloud Run

ทาง Google Cloud เพิ่งปล่อย Google Cloud Run ใน version beta ให้ใช้งานโดยให้เหล่านักพัฒนาสามารถ run serverless app ที่อยู่ใน Docker container ได้เลย ซึ่ง Google Cloud Run จัดการให้เองแบบอัตโนมัติ คือ เมื่อมี request เข้ามาจะทำการ start ให้เอง และเมื่อไม่มีการใช้งานจะทำการ stop ไปให้อีก ชีวิตน่าจะง่าย สะดวกมากขึ้น

Read More…

สรุปเรื่อง Top 6 Microservices patterns จาก MuleSoft

เห็นเอกสารเรื่อง Top 6 Microservices patterns จาก MuleSoft ออกมา เป็นการแนะนำ 6 แบบของ Microservices ที่มักถูกนำมาใช้งาน และดูเหมือนจะเป็นรูปแบบที่เกิดขึ้นในองค์กร IT ที่เป็น enterprise เสียด้วย จึงทำการสรุปไว้นิดหน่อย

Read More…

ว่าด้วยเรื่อง Microservices Anti-pattern ที่น่าสนใจ

สาย ๆ นั่งอ่านบทความเกี่ยวกับ Anti-pattern สำหรับ Microservices ซึ่งแนวคิด Microservices นั้นมันไม่ใช่วิธีแก้ไขปัญหาทั้งหมด สิ่งที่ต้องเข้าใจก่อนคือ เรามีปัญหาอะไรบ้าง จากนั้นจึงหาวิธีการแก้ไข วัดผลและปรับปรุงหรือเรียนรู้จากผลที่ตามมา

Read More…

สรุปเนื้อหาที่น่าสนใจจากหนังสือ Building Microservices

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

Read More…

ว่าด้วยเรื่องแนวคิด CQRS (Command Query Responsibility Segregation)

หลัง ๆ มาในโลกการพัฒนา Software มักได้ยินคำแปลก ๆ ออกมาเยอะมาก (ตามจริงอาจจะไม่แปลก แต่เราไม่เคยรู้มากกว่า )หนึ่งในนั้นคือแนวคิด CQRS (Command Query Responsibility Segregation) โดยแนวคิดนี้มันจะพ่วงมาจากเรื่องของ DDD (Domain-Driven Design) และ Microservices หนักกว่านั้นโยงไปถึง Event sourcing อะไรพวกนั้นอีก ทำให้งงเข้าไปใหญ่ ดังนั้นเพื่อความไม่สับสนจึงลองไปศึกษาหน่อยว่า จริง ๆ แล้วแนวคิดนี้มันมีที่มาที่ไปอย่างไร

Read More…