Architecture Archive

ทำไมต้องมี API Gateway ด้วย ?

คำถามที่น่าสนใจมาก ๆ ที่ถูกถามเป็นประจำคือ ทำไมต้องมี API Gateway ด้วย ? ไม่ใช้ได้ไหม ? พอดีซื้อมาแล้ว ก็ต้องใช้ ? คนออกแบบกำหนดว่าต้องให้มี ? แต่ก็มักตอบกลับด้วยคำถามคือ ใช้ API Gateway ไปทำไม ? ทำไมต้องใช้ ? ไม่ใช้ได้ไหม ? การใช้หรือไม่ใช้ มีข้อดีและข้อเสียอะไรบ้าง

Read More…

สรุปแนวปฏิบัติในการออกแบบ Microservices ด้วย IDEALS

จากบทความเรื่อง Principles for Microservice Design: Think IDEALS, Rather than SOLID ทำการอธิบายแนวทางการออกแบบตามแนวคิด Microservices ได้อย่างน่าสนใจ โดยทำการหยิบเอาแนวคิดจาก SOLID  สำหรับการออกแบบระบบที่พัฒนาด้วย Object-Oriented Programmingมาประยุกต์ใช้กับ Microservies

Read More…

ตอบคำถามเรื่อง การใช้งาน RabbitMQ

จากการสอนใน course Microservices workshop ที่ Skooldio ไปนั้น มีการแนะนำในเรื่องของการนำ messaging และ Event-based architecture มาใช้งาน และได้มีคำถามเกี่ยวกับการนำ RabbitMQ มาใช้งาน ว่าจะออกแบบตามที่ต้องการอย่างไรบ้าง

Read More…

สิ่งที่น่าสนใจจากบทความเรื่อง 5 Key Takeaways From My Experience with Microservices

เรื่องของ Microservices นั้น ไปที่ไหนก็มีแต่คนพูดถึง หรือบางครั้งมันกลายเป็นแนวทางหลักของระบบต่าง ๆ ไปแล้ว แต่บ่อยครั้งจะพบว่า เราเน้นไปเรื่องว่าจะทำ อย่างไร ก่อนปัญหาที่เราต้องการแก้ไข มันอาจจะทำให้เกิดปัญหามากมายตามมา จากบทความ 5 Key Takeaways From My Experience with Microservices ทำการสรุปจากประสบการณ์การนำแนวคิด Microservices มาใช้งาน ว่ามันมีข้อดีข้อเสีย ข้อระมัดระวังรวมทั้งความเข้าใจ จึงทำการสรุปไว้นิดหน่อย น่าจะพอมีประโยชน์บ้าง

Read More…

สรุปการแบ่งปันเรื่องของ Microservices

ในช่วง 2-3 เดือนที่ผ่านมานั้น มีโอกาสได้แลกเปลี่ยนความรู้และประสบการณ์ เกี่ยวกับการนำแนวคิด Microservices มาใช้งาน ผ่านทางการพูดคุย สอน แบ่งปันแบบ Remote/Online ทำให้ได้เห็นแนวทางที่ชัดเจนขึ้นว่า

Read More…

บันทึกการอ่านบทความเรื่อง How Django can handle 100 millions of requests per day

บันทึกการอ่านบทความเรื่อง How Django can handle 100 millions of requests per day มีหลาย ๆ แนวคิดที่น่าสนใจ เพื่อให้ระบบมีประสิทธิภาพสูงขึ้น จึงทำการบันทึกสิ่งที่น่าสนใจไว้ มาเริ่มกันเลย

Read More…

ทำความรู้จักกับ Loki คือ log system จาก Grafana Labs

Loki คืออะไรคำจำกัดความสั้น ๆ คือ เหมือนกับ Prometheus แต่ใช้สำหรับเก็บข้อมูล log ความสามารถที่น่าสนใจคือ Horizontal scale High availability Log aggregation ออกแบบมาเพื่อให้จัดการได้ง่าย รวมทั้งเรื่องประหยัดค่าใช้จ่าย หรือใช้ให้เกิดประโยชน์สูงสุด

Read More…

ใช้งาน Google Cloud Trace สำหรับจัดการ Distributed tracing

เพิ่งเห็นว่าใน Google Cloud นั้นมีบริการที่ชื่อว่า Cloud Trace สำหรับการจัดการเรื่องของ distributed tracing ให้ใช้งานแบบง่าย ๆ ดูการทำงานในส่วนต่าง ๆ ว่าเป็นอย่างไร รวมไปถึงการหาคอขวดของระบบงานอีกด้วย ที่สำคัญสามารถสร้างกฏในการตรวจสอบปัญหาแบบอัตโนมัติให้อีกด้วย

Read More…

เพิ่งรู้ว่า Cloud Run ไปดึงข้อมูลจาก Google Spreadsheets ได้แบบง่าย ๆ

วันนี้ลองไปดูการเชื่อมต่อจาก Google Cloud Run ไปดึงข้อมูลใน Google Sheets ผ่าน Google Sheets API ได้เลย  พบว่ามันทำง่ายดี เพียงแค่ share เอกสารให้กับ email ของ Google account ที่ใช้งาน Cloud Run จากนั้นก็เขียน code เพื่อดึงข้อมูลมาใช้งาน รวมทั้ง deploy บน Cloud Run ได้เลย สรุปขั้นตอนไว้ดังนี้

Read More…

สวัสดี OpenResty กับลองเขียนภาษา Lua ใช้งาน Redis

ไปอ่าน Slide เรื่อง Scripting Nginx with Lua Introducing OpenRestly พบว่าน่าสนใจมาก ๆ แต่ไม่รู้เรื่องอะไรเลย ก็เลยลองหัดทำดูบ้าง โดยสิ่งที่อยากจะเรียนรู้ประกอบไปด้วย OpenResty ต้องติดตั้งอะไรและ config อะไรให้ทำงานได้บ้าง ลองเขียนภาษา Lua ดูนิดหน่อย เชื่อมต่อกับ Redis ที่เป็น Key-value database เพราะว่าใช้งานอยู่แล้ว ลองทำการทดสอบสิ่งที่พัฒนาขึ้นมา

Read More…