Architecture Archive

บันทึกเกี่ยวกับแนวคิด Microservices แบบง่าย ๆ

หลังจากที่ประยุกต์จากแนวคิด Microservices ไปใช้งานบางส่วนเพื่อช่วยแก้ไขปัญหาที่พบเจอทำให้ business และ deliver team ทำงานร่วมกันได้ดีขึ้นแต่ถามว่า ปัญหาหมดไปไหม ตอบเลยว่าไม่เพราะว่ายังมีปัญหาอื่น ๆ ตามมาเช่นกัน

Read More…

ปัญหาจากระบบ Mainframe ที่ไม่ดี

อ่านเอกสารเกี่ยวกับ Mainframe Modernization แล้วเจอหัวข้อที่น่าสนใจคือ ปัญหาหรือความท้าทายของระบบ Mainframeที่บริษัท Enterprise จะใช้กันเยอะมาก ๆบ่อยครั้งมักจะถูกเรียกว่า Legacy Systemหรือระบบที่ไม่ค่อยมีใครอยากไปยุ่งกับมัน แต่มันคือหัวใจหลักของธุรกิจดังนั้นมาดูกันว่ามีปัญหาอะไรบ้าง

Read More…

รู้ไว้ใช่ว่า PostgreSQL ก็ใช้เป็น message broker ได้นะ

กำลังสรุปเรื่องของ message broker สำหรับจัดการระบบงานโดยให้ทำการติดต่อสื่อสารกันแบบ asynchronous + messagingก็ไปเห็นว่า PostgreSQL ที่เป็น RDBMS สำหรับเก็บข้อมูลเชิงความสัมพันธ์รวมทั้งข้อมูลในรูปแบบ JSON ก็ได้แต่อีกความสามารถที่เพิ่มรู้ก็คือ pub-subก็สามารถทำงานได้เช่นกัน

Read More…

เรื่องรูปแบบของ caching data

จาก blog ก่อนหน้านี้เรื่องของ caching data หรือข้อมูลชั่วคราวช่วยทำให้การดึงหรือจัดการข้อมูลได้รวดเร็วขึ้นรวมทั้งช่วยลดภาระงานต่าง ๆ ลงไปด้วย (แต่ไปเพิ่มงานให้ที่อื่น) มีคำถามเรื่องรูปแบบของ caching data ว่าเป็นอย่างไรบ้าง ?ขยายความเรื่องรูปแบบของ caching dataคือรูปแบบของการสร้างข้อมูลนั่นเองว่าเป็นอย่างไรยกตัวอย่างเช่น

Read More…

มาแล้วสำหรับ Apache Kafka 3.0

สัปดาห์ผ่านมานั้น Apache Kafka 3.0 ถูกปล่อยออกมาซึ่งมีทั้ง feature ใหม่ ๆ การปรับปรุง รวมทั้ง breaking change ต่าง ๆโดยสิ่งที่สำคัญคือ การเปลี่ยนจาก Apache Zookeeper มาใช้ตัว Kafka-buildin เองหรือที่เรียกว่า Kraft แต่ก็ยังไม่แนะนำสำหรับ production

Read More…

เรื่องที่น่าสนใจเกี่ยวกับรูปแบบของ API

ในการพัฒนาระบบงานนั้นเรามักจะแยกส่วนการทำงานต่าง ๆ ออกจากกันแต่จำเป็นต้องการติดต่อสื่อสารสารกันผ่านระบบ network และมีรูปแบบของการติดต่อผ่านสิ่งที่เรียกว่า API (Application Programming Interface)ไม่ว่าจะอยู่ในรูปแบบของ code หรือตาม protocol ต่าง ๆ ก็ว่าไป

Read More…

น่าสนใจเรื่อง Cloud-Native Is about Culture, Not Containers

จากบทความเรื่องของ DevOps และ Cloud Trend 2021 นั้นมีเรื่องหนึ่งที่น่าสนใจมาก ๆ คือ Cloud-Native Is about Culture, Not Containersซึ่งทำการอธิบายว่า เครื่องมือและเทคโนโลยีมันเปลี่ยนไปเร็วมากแต่สิ่งหนึ่งที่มักจะละเลยคือ culture ของทีมว่าเรากำลังทำอะไรกัน ทำไปทำไม มีประโยชน์อะไรมากกว่าเราใช้เครื่องมืออะไร หรือ ซื้ออะไรมาใช้ดี

Read More…

มาดูการ scale ระบบ Club leaderboard ใน Strava

สายนักวิ่ง นักปั่น หรือ นักกีฬา น่าจะรู้จักและใช้งาน Stravaซึ่งแต่ละคนสามารถ update activity ต่าง ๆ รวมทั้งสร้างหรือร่วม Club ต่าง ๆเพื่อบันทึก แข่งขัน หรือ ดูสถิติต่าง ๆหนึ่งใน feature หลักของ club คือ Leaderboard

Read More…

ทำความรู้จักกับ Twemproxy เพื่อการ scale Redis แบบง่าย ๆ

ปัญหาการ scale Redis บน Google Cloud Memorystore for Redisเนื่องจาก Redis ทำงานแบบ Single threadทำให้ถ้ามีการทำงานที่ช้า ๆ อาจจะส่งผลต่อการทำงานอื่น ๆ ได้แต่ละ scale ด้วยการขยายเครื่อง ก็ไม่การันตีว่าจะดีขึ้นหนึ่งในคำแนะนำคือ การใช้งาน Proxy มาช่วยโดยตัวที่น่าสนใจคือ Twemproxy ซึ่งพัฒนาจาก Twitterดังนั้นจึงมาลองทำความรู้จักกันหน่อย

Read More…

รูปแบบที่น่าสนใจ สำหรับจัดการปัญหาการติดต่อสื่อสารระหว่าง service

ในระบบงานมักจะมีการติดต่อสื่อสารระหว่างระบบหรือ serviceผ่านระบบ network ที่ขึ้นชื่อว่า พร้อมพัง ได้เสมอดังนั้นในการออกแบบ พัฒนา และ ทดสอบระบบต้องทำให้มั่นใจว่าการติดต่อสื่อสารจะต้องทำงานตามที่เราต้องการเสมอทั้งการทำงานให้เสร็จ ทั้งการทำงานอย่างไรเมื่อเกิดปัญหาขึ้นมาเพื่อให้ระบบงานมีความน่าเชื่อถือมากยิ่งขึ้น

Read More…