ใช้ Tableau ดึงข้อมูลบน S3 ผ่าน Amazon Athena

ใช้ Tableau ดึงข้อมูลบน S3 ผ่าน Amazon Athena

Amazon Athena เป็น query service ที่เราสามารถเชื่อมต่อกับข้อมูลที่เราเก็บอยู่ใน S3 และเขียน SQL เพื่อดึงข้อมูลออกมาวิเคราะห์ได้ ความดีงามของ service นี้คือ service นี้เป็น serverless ครับ เราไม่ต้องนั่งจัดการ infrastructure ให้เปลืองเงินเล่น เราจ่ายแค่เฉพาะตอนเรา query ข้อมูลเท่านั้น ราคาก็แค่ $5 ต่อ 1 TB ความดีงามอีกอย่างที่จะมากล่าวถึงในบทความนี้ นั่นก็คือ Athena มีตัว connector ที่ทำให้เราสามารถใช้ Tableau (ตั้งแต่เวอร์ชั่น 10.3 ขึ้นไป) ดึงข้อมูลจาก Athena ได้!

(more…)

WordPress Audit Log บน AWS Elasticsearch

เนื่องจากที่ Pronto เราใช้ระบบ Multisite ของ WordPress ดูแลเว็บไซต์ของลูกค้าเป็นพันกว่าเว็บไซต์ ทำให้การดูแล โดยเฉพาะเรื่องความปลอดภัยของแต่ละไซต์นั้นทำได้ค่อนข้างลำบาก เวลาตรวจสอบอะไรกับไซต์หนึ่งสักที ก็ต้องมานั่งกรอง log ให้มีแต่ข้อมูลไซต์ที่เราต้องการตรวจสอบ ถ้าใครเคยใช้ Multisite ก็น่าจะพอนึกภาพออกเนอะ เพราะ log มันเก็บไว้ที่เดียวกันหมดทุกไซต์ ต่างกับแยกแต่ละเว็บออกเป็นระบบส่วนตัว ซึ่งแบบนี้เราสามารถดู log เฉพาะของเว็บไซต์นั้นได้ทันที

ปัญหาอีกอย่างคือเรื่อง infrastructure ที่เราต้องไปดูแล ต้องคิดถึงการเก็บข้อมูล เพราะเนื่องจากข้อมูล log จะเป็นข้อมูลที่ไหลเข้ามาเรื่อยๆ อยู่แล้ว ไฟล์ log ก็จะยิ่งใหญ่ขึ้นเรื่อยๆ ถ้าจัดการเก็บเองแล้วคอย rotate เองเรื่อยๆ ก็คงเปลืองแรงไม่น้อย ยิ่งถ้าข้อมูลเก็บอยู่ในไฟล์ ก็คงจะลำบากที่จะดึงออกมาตรวจสอบ หรือเอาข้อมูลเหล่านั้นมาวิเคราะห์ (data analytics)

SQS for Asynchronous Tasks and Why It Matters

สำหรับคนที่สงสัยว่า asynchronous task คืออะไร? ว่ากันง่ายๆ เลย มันคืองานที่ไม่จำเป็นต้องทำ ณ เวลานั้น หรือคืองานที่ถูกรันไม่พร้อมกับ process หลัก ส่วน asynchronous task queue ก็คือการที่เรามี queue เพื่อจัดการงานเหล่านั้น มีคอนเซปง่ายๆ ประมาณว่า ถ้าเรามีงานอยู่งานหนึ่ง แต่เราไม่มีเวลาทำเลย เราจะฝากเพื่อนร่วมงานให้ช่วยทำแทนเรา! ในที่นี้เพื่อนเราก็คือ queue ของเรานั่นเอง แลดูเป็นคนขี้เกียจเนอะ 🙂

(more…)