Architecture Archive

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

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

Read More…

เรื่องของ API Gateway จากหนังสือ Practical Site Reliability Engineering (SRE)

จากหนังสือ Practical Site Reliability Engineering (SRE) มีหลายเรื่องที่น่าสนใจ ยกตัวอย่างเช่น เป้าหมายของ SRE เป็นอย่างไร Docker นั้นช่วยเปิดทางให้เข้าสู่โลกของ container ได้อย่างไร ว่าด้วยเรื่องของการนำ DevOps และ Microservice มาให้ให้เกิดประโยชน์ แนวคิดของ Service Mesh ตลอดจนการนำมาใช้งาน แนวปฏิบัติที่ดีสำหรับเรื่องของ performance และ reliability ของระบบ ว่าด้วยเรื่องของการจัดการ container จำนวนมาก ๆ ด้วย Kubernetes เข้าใจขั้นตอนการพัฒนาระบบงานตั้งแต่ต้นจนจบ ด้วยการนำ container มาใช้งาน ใน blog นี้ได้หยิบหัวข้อเรื่องของ Microservice API Gateway มาอธิบาย เพื่อให้เห็นภาพและเข้าใจว่า มันคืออะไร ทำไมต้องนำมาใช้งาน ถ้าไม่ใช้ได้ไหม มาเริ่มกันเลย

Read More…

บันทึกการเดินทาง Microservices Journey

เริ่มต้นจากสถาปัตยกรรมของระบบงาน (Application Architecture) สถาปัตยกรรมของ software นั้นมีหลากหลายรูปแบบ แต่แนวโน้มของสถาปัตยกรรมต่าง ๆ ล้วนพยายามแยกส่วนการทำงานออกเป็นชิ้นเล็ก (Decomposition) โดยแต่ละชิ้นต้องทำงานได้ด้วยตัวเอง (Service) ระบบงานใหญ่ ๆ เรามักจะเรียกว่า Monolithic ส่วนระบบงานที่เราทำการแบ่งเป็น Service เล็ก ๆ จะเรียกว่า Microservice

Read More…

ไปอ่านเจอ ว่าด้วยเรื่อง Microservices 4.0 !!!

ไปอ่านเจอใน feed จาก Twitter แบบผ่าน ๆ เจอว่ามีการพูดถึง Microservices 4.0 ด้วย (หา link ต้นทางไม่เจออีก) แบบนี้แสดงว่า 4.0 นี่ไม่ได้ฮิตในบ้านเราเท่านั้นนะ (ไม่น่าเกี่ยวข้องกัน) เลยนำมาสรุปแบบคร่าว ๆ ไว้หน่อย น่าจะพอมีประโยชน์กันบ้าง ปล. แค่เรื่อง Microservices ก็ยังงง ๆ กันแล้ว นี่มีทั้ง 1.0, 2.0, 3.0 และ 4.0 จะไม่งงได้อย่างไร !!

Read More…

สรุปการอ่านหนังสือ Release It 2nd edition บทที่ 6 เรื่อง Stability Patterns

ในช่วงวันหยุดหยิบหนังสือ Release It 2nd edition มาอ่าน เน้นบทที่ 6 ว่าด้วยเรื่อง Stability Patterns ซึ่งอธิบายถึงรูปแบบของการวางสถาปัตยกรรมของระบบที่ดี เป็นแนวทางในการออกแบบระบบ เพื่อลด ขจัดปัดเป่า จากปัญหาต่าง ๆ ที่อาจจะเกิดขึ้น หรือลดความอันตรายจากข้อผิดพลาดต่าง ๆ ลงไป ไม่ใช่ต้องตื่นมากดึก ๆ เพื่อมาแก้ไขระบบ ไม่ใช่ต้องยกเลิกงานทั้งหมด เพื่อมาแก้ไขระบบ ถ้าเป็นแบบนี้คงไม่ต้องทำอะไรกันพอดี !! ดังนั้นมาสร้างระบบดี ๆ กันหน่อย

Read More…

ว่าด้วยเรื่องของ Fast Data

โดยปกตินั้นข้อมูลมีการเปลี่ยนแปลงอยู่เสมอ ยิ่งในปัจจุบันอัตราการเปลี่ยนแปลงสูงมาก ๆ ทั้ง Volume, Velocity และ Variety ทำให้เครื่องมือต่าง ๆ ที่มีอยู่อาจจะไม่เพียงพอต่อความต้องการ ทั้งการจัดเก็บ ทั้งการรวบรวม ทั้งการวิเคราะห์ ประมวลผล ซึ่งมีความซับซ้อน และต้องการให้ทำงานแบบ realtime ดังนั้นเราต้องการวิธีการใหม่ เครื่องมือใหม่ ๆ architecture ใหม่

Read More…

สรุป 6 เรื่องน่าคิดสำหรับ Microservices

มีโอกาสได้แบ่งปันเรื่อง Microservices มากขึ้น ทำให้เห็นมุมมองต่าง ๆ มากขึ้นเช่นกัน หนึ่งในนั้นคือ 6 เรื่องน่าคิดสำหรับ Microservices ซึ่งทาง Pivotal เขียนสรุปไว้ มันน่าสนใจมาก ๆ จึงนำมาสรุปไว้นิดหน่อย น่าจะพอมีประโยชน์บ้างสำหรับการตัดสินใจต่าง ๆ มาเริ่มกันเลย

Read More…

สรุป Architecture ของระบบ Reddit.com แบบคร่าว ๆ

หลังจากที่ดู VDO เรื่อง The Evolution of Reddit.com’s Architecture ทำการอธิบาย architecture ของระบบ Reddit.com ว่าเป็นอย่างไรบ้าง ใช้อะไรบ้าง มีวิวัฒนาการอย่างไรบ้าง มาดูกันนิดหน่อย น่าจะพอมีประโยชน์สำหรับการพัฒนาระบบงาน สิ่งที่น่าสนใจคือ architecture นั้นจะถูกปรับเปลี่ยนไปตามปัญหาที่เกิดขึ้น

Read More…

สวัสดี Microlith !!!

จากบทความเรื่อง The evolution of scalable microservices นั้น ทำการอธิบายเกี่ยวกับ microservice ได้อย่างน่าสนใจ โดยเฉพาะในเรื่อง Microlith หรือ Micro Monolith ดังนั้นจึงทำการสรุปไว้นิดหน่อยดังนี้

Read More…

ข้อดีและข้อเสียของ API Gateway

ในโลกของการสร้างระบบแบบ API-centric หรือแยก service ต่าง ๆ ออกมาในรูปแบบของ Microservice นั้น สิ่งที่มักจะถูกพูดถึงก็คือ API Gateway ดังนั้นเรามาดูกันว่า API Gateway มันคืออะไร ? API Gateway มีข้อดีและข้อเสียอย่างไรบ้าง ? มาเริ่มกันเลย

Read More…