Architecture Archive

สวัสดี 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…

เรื่องของ 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…