Twitter เปิด open source algorithms ของตัวเองให้ดู น่าสนใจหลายจุดเลย (หลายตัวก็พอเดาได้ แต่นี่เป็นการยืนยันจากโค้ด) เช่น
Category Archives: Technology
10 ข้อแนะนำ สำหรับการทำ Microservices ที่ดี (และ ทำ API ที่ดี)
เพิ่งไปอ่านเจอบทความหนึ่ง เห็นน่าสนใจดี เป็นการอธิบายคุณสมบัติ Microservices ที่ประโยชน์มาก และชัดเจนดี ขอบันทึกไว้สักหน่อย
ทำไมถึงควรทำ Architecture Decision Record
ในโปรเจ็คที่มีขนาดใหญ่ มีคนเกี่ยวข้องเยอะ และมีผลกระทบเยอะในทุกการตัดสินใจ น่าจะเคยเจอการประชุมที่มีการถกเถียงกันเรื่องเหตุผลของผลลัพธ์ต่างๆ เช่น ทำงานไปเกือบเสร็จแล้ว แต่ลูกค้าหรือทีม Infrastructure ถามกลับว่า ทำไมเราตัดสินใจเลือก Architecture แบบนี้ หรือ Technology นี้? ตอนนั้นคิดอะไรอยู่? มีข้อจำกัดอะไร ถึงต้องเลือกแบบนี้? สิ่งที่เราทำคือ ไปค้นหาหลักฐานการประชุม เช่น สมุดที่จดไว้ส่วนตัว หรือ Minute of Meeting ซึ่งในเอกสารเหล่านั้น มักเป็นการบันทึกเฉพาะผลลัพธ์ที่คุยกัน และน้อยคนมากที่จะจดละเอียดถึงเหตุผลของการตัดสินใจ ดังนั้น เรามาทำความรู้จักกับ Architecture Decision Record (AR) กันดีกว่าครับ เพื่อใช้เป็นไกด์ไลน์บันทึกในการตัดสินใจเรื่องต่างๆ ที่มีประสิทธิภาพมาก
E-Commerce ไม่ใช่แค่ทำเว็บหรือแอพ แต่มันคือ กระบวนการทำงาน
สมัยเอ๊าะๆ ที่เพิ่งเริ่มทำงาน TARAD.com ตอนนั้น E-Commerce ยังไม่ได้บูมมาก พี่ป้อม ภาวุธ CEO TARAD ยังต้องเดินสายทั่วไทยเพื่ออธิบายว่า E-Commerce คืออะไร การชำระเงินยังไม่น่าเชื่อถือมากนัก สัดส่วนโอนเงินทางธนาคารสูงถึง 80%, ระบบการขนส่งยังมีเพียงไปรษณีย์ไทยที่ใช้เวลา 5-10 วัน กว่าจะได้รับสินค้า, การส่งของก่อน จ่ายเงินทีหลัง (Buy Now Pay Later) หรือ ชำระเงินปลายทาง (Cash on Delivery) ยังถูกมองเป็นเรื่องบ้าบิ่น ไม่มีใครกล้าทำ ผมจำได้ว่ายุคนั้น ทุกคนมอง E-Commerce เป็นของใหม่ ยังไม่ทำเงินอะไรมากนัก เป็นกิมมิกใหม่ทางเทคโนโลยีที่ใครทำก่อนก็ดูดี ทันสมัย ไม่ได้เป็นช่องทางขายหลักเฉกเช่นปัจจุบัน ดังนั้น การเช่า/ซื้อระบบสำเร็จรูป หรือทำระบบเองขึ้นมา ก็จะมีฟีเจอร์การขายไม่ซับซ้อนมาก ก็เปิดร้านขายของได้แล้ว (ฟีเจอร์ฮิตสมัยก่อน เช่น เลือกธีมสีได้ แปะรูป Gif วิ่งไปมา มีดาววิ่งตามเม้าส์ พอถึงคริสมาสต์ทำหิมะตกโปรยปราย)
วิธีเก็บ Sensitive Data บน Kubernetes ด้วย Secrets
จากบล็อกที่แล้วได้ลองทำ Kubernetes บน Amazon EKS แบบง่ายๆ ด้วย eksctl แต่ก็ยังมีจุดที่กังวลอยู่ คือเรื่องการระบุ Sensitive Data เช่น Password, Token ต่างๆ ลงใน Environment Variable ที่ได้เขียนไว้ในไฟล์ Deployment YML ซึ่งทาง Kubernetes เอง ได้ทำฟีเจอร์มารองรับการแก้ปัญหานี้แล้ว เป็น Kind ประเภท Secret นั่นเองครับ เลยขอบันทึกวิธีทำไว้สักหน่อย