เป็นที่รู้กันอยู่ว่า Facebook คือหนึ่งในบริษัทที่มี Server เยอะที่สุดในโลก และมีการสร้าง Software ต่างๆ มาใช้งานเป็นการภายในมาโดยตลอด รวมถึงยังค่อยๆ ปล่อย Open Source โค้ดบางส่วนออกมาเพื่อให้องค์กรอื่นๆ ได้นำมาใช้ด้วย และคราวนี้ก็ถึงคราวของระบบตรวจสอบระบบเครือข่ายแล้ว
โครงการ Network Monitoring ของ Facebook นี้มีชื่อว่า NetNORAD ซึ่งถูกออกแบบมาเพื่อให้ตรวจสอบปัญหาต่างๆ ที่เกิดขึ้นภายในระบบเครือข่าย โดยมองว่าแต่ละระบบเครือข่ายนั้นเป็น Black Box เลยนั่นเอง ภายในระบบ NetNORAD นี้จะมีการตรวจสอบ Loss และ Latency เป็นหลักเพื่อตรวจสอบปัญหาทางด้านประสิทธิภาพ และวิเคราะห์ว่าที่การตอบสนองทางเครือข่ายมีปัญหานั้นเกิดจากเหตุใด พร้อมมีระบบ Real-time Logging และ Distributed In-memory Store เพื่อนำข้อมูลที่ตรวจสอบได้มาทำ Data Analysis และ Visualization
ส่วนที่ออกมา Open Source ในครั้งนี้มีด้วยกัน 2 ส่วน ได้แก่
- pinger and responder https://github.com/facebook/UdpPinger/ สำหรับตรวจสอบ Loss และ Latency พร้อมรายงานผลการตรวจสอบแบบสรุปเข้าใจง่าย พัฒนาด้วย C++
- fbtracert ระบบ tracert ของ Facebook ที่ทำการตรวจสอบทุกๆ Path จากต้นทางไปยังปลายทางพร้อมๆ กันและทำการวิเคราะห์ Loss ที่เกิดขึ้นในระหว่างแต่ละ Hop ด้วย พัฒนาด้วย Go
ผลงานนี้เป็นของทีม Network Infrastructure Engineering และ Network Systems แห่ง Facebook นะครับ ต้องขอขอบคุณมา ณ ที่นี้ด้วย