Google ได้ออกมาเปิดเผยถึง Espresso ระบบ Software Defined Networking (SDN) ล่าสุดในสถาปัตยกรรมแบบ Peering Edge ที่ Google ได้ใช้งานจริงมา 2 ปีและทำหน้าที่ในการ Route Traffic กว่า 20% ทั้งหมดของ Google ในปัจจุบันแล้ว ทางทีมงาน TechTalkThai เห็นว่าเป็นกรณีศึกษาที่อ่านสนุกดี เลยขอหยิบยกมาสรุปให้ได้อ่านกันดังนี้ครับ
ทำไม Google ต้องทำ SDN เอง?
เนื่องจาก Google นั้นมีบริการที่หลากหลาย และยังมีโครงสร้าง Cloud Infrastructure ที่กระจายอยู่ทั่วโลกและทำงานร่วมกันอย่างซับซ้อน ดังนั้นระบบเครือข่ายจึงกลายเป็นตัวแปรที่สำคัญมากในแง่ของ Latency ที่จะเกิดขึ้นกับบริการต่างๆ ของ Google ที่จะส่งผลต่อผู้ใช้งานนับหลายร้อยหรือหลายพันล้านคนทั่วโลก โดยเฉพาะอย่างยิ่งกับ Application ที่ควรจะต้องทำงานได้อย่าง Real-time มากที่สุด และแน่นอนว่าในโลกนี้ก็แทบไม่มีใครมีระบบที่ใหญ่ขนาดนี้เลย ทำให้เทคโนโลยีระบบเครือข่ายที่มีอยู่ทั่วๆ ไปนั้นไม่สามารถตอบโจทย์ของ Google ได้ จน Google ต้องลงมาพัฒนาเองเป็นเวลาเกินกว่า 10 ปีมาแล้ว
เทคโนโลยี SDN สำหรับการเชื่อมต่อ Datacenter ของ Google นี้มีส่วนประกอบหลักๆ ดังต่อไปนี้
- Jupiter ระบบ Network Fabric ซึ่งเชื่อมต่อ Server เกินกว่า 100,000 เครื่องเข้าด้วยกันผ่านทางระบบเครือข่ายที่มี Bandwidth สำหรับให้บริการผู้ใช้งานขนาดเกินกว่า 1 Petabit/s (1,000Tbps)
- B4 ระบบ Software Defined WAN ของ Google
- Andromeda ระบบ Network Function Virtualization (NFV) สำหรับทำงานร่วมกับ Google-native Application เพื่อเชื่อมต่อไปยัง Container และ VM บน Google Cloud Platform
- Espresso ระบบ SDN ล่าสุดของ Google ที่เราจะมาสรุปให้อ่านกันวันนี้

บทบาทของ Espresso ใน Cloud Infrastructure ของ Google
เนื่องจาก Google นั้นเป็นธุรกิจที่สร้าง Traffic ให้กับเครือข่ายรวมกันถึง 25% ของ Internet Traffic ทั้งหมดทั่วโลก ดังนั้นการ Optimize การเชื่อมต่อเครือข่ายและการรับส่งข้อมูลระหว่าง Google กับเหล่า ISP นั้นจึงเป็นส่วนสำคัญ โดย Espresso นั้นมีหน้าที่หลักๆ ด้วยกัน 2 ประการ ได้แก่
- การทำ Client Load Balancing โดยอ้างอิงจากข้อมูลของประสิทธิภาพในการเชื่อมต่อในแบบ Real-time เพื่อให้ผู้ใช้งานทั่วโลกสามารถเชื่อมต่อไปยังจุดที่สามารถให้บริการได้ด้วยประสิทธิภาพดีที่สุดแบบ Dynamic รวมถึงยังช่วยเพิ่ม Availability ให้กับบริการของ Google เองไปด้วยในเวลาเดียวกัน ทำให้ผู้ใช้งานของ Google สามารถเชื่อมต่อบริการต่างได้ โดยหลบเลี่ยงทั้งการเชื่อมต่อไปยังจุดที่ให้บริการซึ่งมี Latency สูง, หลบเส้นทางระบบเครือข่ายที่เกิด Congestion และเชื่อมต่อไปยังบริการที่ไม่ล่มอยู่ได้อย่างมั่นใจ
- Espresso นี้แบ่งชั้นของการทำงานและการควบคุมออกจากกันอย่างสิ้นเชิง ทำให้ Router แต่ละตัวนั้นทำหน้าที่ในการรับส่งข้อมูลเพียงอย่างเดียว ในขณะที่ความสามารถในการวิเคราะห์ข้อมูลทั้งหมดนั้นจะเป็นหน้าที่ของอีกระบบ Distributed System แยกต่างหากซึ่งทำงานอยู่ภายใน Infrastructure ของ Google ทำให้การวิเคราะห์ว่าผู้ใช้งานควรจะเชื่อมต่อไปยังส่วนใดของเครือข่าย Google นั้นสามารถทำได้อย่างรวดเร็วและไม่ส่งผลกระทบต่อประสิทธิภาพของ Router ใน Google แต่อย่างใด

ถัดจากนี้ไปเราก็คงจะได้เห็นนวัตกรรมใหม่ๆ ในฝั่งระบบเครือข่ายจาก Google ที่เกิดขึ้นมาและเติบโตไปพร้อมๆ กับบริการอื่นๆ ของ Google ทั้ง Google Search, YouTube, Gmail และอื่นๆ ต่อไปอีกครับ ก็ถือเป็นความรู้ที่อ่านสนุกและน่าสนใจดีครับ