ลงจากคลาวด์ Dropbox ย้ายระบบเซิร์ฟเวอร์จาก AWS กลับมาศูนย์ข้อมูลของตัวเอง

by mk
19 March 2016 - 10:31

ช่วงหลังๆ มานี้ เรามักเห็นข่าวบริษัทหลายแห่งย้ายระบบจากศูนย์ข้อมูลเดิม มาใช้คลาวด์แทนแบบ 100% (เช่น Netflix และ Zynga ที่เช่า AWS ทั้งคู่)

แต่ในทางกลับกัน ก็มีบริษัทที่ต้องเปลี่ยนจากการเช่าคลาวด์ AWS มาทำศูนย์ข้อมูลของตัวเองแทน บริษัทนี้คือ Dropbox ที่ล่าสุดออกมาประกาศว่าย้ายลูกค้ากว่า 90% มาอยู่ในศูนย์ข้อมูลเรียบร้อยแล้ว

เดิมที Dropbox เช่าคลาวด์ Amazon S3 สำหรับเก็บข้อมูลของลูกค้า แต่เมื่อบริษัทมีขนาดโตขึ้นอย่างรวดเร็ว บริษัทก็พบปัญหาคอขวดเรื่องประสิทธิภาพ และการสร้างระบบสตอเรจเอง ช่วยให้ปรับแต่งเทคโนโลยีโดยรวมได้ดีกว่าการเช่า S3 รวมถึงประหยัดค่าใช้จ่ายได้มากกว่าการเช่าคลาวด์ของบริษัทอื่นด้วย (ระบบของ Dropbox ใหญ่มากจนคุ้มที่จะทำเอง)

Dropbox บอกว่าบริการคลาวด์ AWS ถือว่ามีคุณภาพสูง แต่รูปแบบการใช้งานของ Dropbox ถือเป็นกรณีพิเศษที่ไม่เหมือนใคร บริษัทต้องการสร้างระบบ block storage ที่มีขนาดใหญ่ระดับ exabyte และเข้ารหัสข้อมูลตลอดเวลา

โครงการสร้างระบบสตอเรจของ Dropbox มีโค้ดเนมว่า "Magic Pocket" ตั้งเป้าว่าต้องมีความคงทนของข้อมูล (data durability) ที่ 99.9999999999% และต้องมีอัตราการเข้าถึงได้ (availability) ที่ 99.99%

Dropbox เริ่มโครงการนี้ช่วงกลางปี 2013 โดยเริ่มจากการสร้างต้นแบบก่อน จากนั้นระบบเริ่มทดสอบใช้งานจริงช่วงกลางปี 2014 แต่ยังมีสถานะเป็น mirror ของระบบจริงเท่านั้น การย้ายจริงๆ เกิดขึ้นในเดือนกุมภาพันธ์ 2015 บริษัทย้ายมาเก็บข้อมูลในระบบใหม่ทั้งหมดแทน และสามารถย้ายข้อมูล 90% เข้าระบบใหม่ได้ในเดือนตุลาคม 2015

ความท้าทายของโครงการ Magic Pocket มีทั้งเรื่องการสร้างระบบที่รองรับปริมาณข้อมูลมหาศาล และเรื่องการถ่ายข้อมูลจำนวนมหาศาลออกมาจาก AWS ซึ่งทีมงานต้องแข่งกับเวลาอย่างหนัก เฉลี่ยแล้ว Dropbox ต้องติดตั้งคอมพิวเตอร์ใหม่ถึง 40-50 แร็คต่อวัน (แร็คละ 8 ตัว) ในศูนย์ข้อมูลของตัวเอง

ตอนแรก Magic Pocket เขียนด้วยภาษา Go ของกูเกิล แต่พบปัญหาว่า Go บริโภคหน่วยความจำมากเกินไป ตอนหลัง Magic Pocket จึงต้องถูกเขียนขึ้นมาใหม่ด้วยภาษา Rust ของค่าย Mozilla แทน

Dropbox ยังไม่ทิ้งการใช้ AWS และยังขยายการใช้งาน AWS สำหรับลูกค้าในยุโรปที่ต้องการใช้ศูนย์ข้อมูลในยุโรปต่อไป

ที่มา - Dropbox Blog, Wired

Blognone Jobs Premium