หลายคนใช้ Google Docs หรือ Google Sheets พิมพ์เอกสารร่วมกับเพื่อนร่วมทีมพร้อมกันแบบเรียลไทม์จนเป็นเรื่องปกติ แต่แทบไม่มีใครเคยสงสัยว่า Google Workspace ทำงานอย่างไร กว่าที่ตัวอักษรของแต่ละคนจะขึ้นบนหน้าจอพร้อมกันโดยไม่ชนกันหรือหายไปเลย ทั้งที่พิมพ์ในตำแหน่งเดียวกันของเอกสารพร้อมกันในเวลาเดียวกัน บทความนี้จะพาเจาะลึกเทคโนโลยีเบื้องหลังที่ทำให้เรื่องนี้เป็นไปได้ พร้อมภาพรวมสถาปัตยกรรมของ Google Workspace ทั้งระบบ
Google Workspace คืออะไรในภาพรวม
Google Workspace คือชุดซอฟต์แวร์สำนักงานแบบคลาวด์ที่ครอบคลุมทั้งอีเมล เอกสาร สเปรดชีต งานนำเสนอ และพื้นที่จัดเก็บไฟล์ในแพลตฟอร์มเดียว จุดที่ทำให้ต่างจากซอฟต์แวร์สำนักงานแบบเดสก์ท็อปดั้งเดิมคือถูกออกแบบมาให้เป็น Native Cloud Architecture ตั้งแต่ต้น ทุกองค์ประกอบทำงานผ่านเว็บเบราว์เซอร์และซิงค์ข้อมูลข้ามอุปกรณ์โดยอัตโนมัติ ไม่ต้องกดบันทึกไฟล์เองเหมือนซอฟต์แวร์แบบเดิม เพราะทุกการเปลี่ยนแปลงถูกส่งขึ้นเซิร์ฟเวอร์และบันทึกทันทีที่พิมพ์
Google Workspace ทำงานอย่างไรเมื่อหลายคนพิมพ์พร้อมกัน
หัวใจสำคัญที่ทำให้ Google Docs และ Google Sheets รองรับการแก้ไขพร้อมกันได้อย่างราบรื่นคือเทคโนโลยีที่เรียกว่า Operational Transformation (OT) ซึ่งพัฒนาต่อยอดมาจากแนวคิดที่เรียกว่า Jupiter Model หลักการทำงานคือแทนที่จะพยายามรวมเอกสารสองเวอร์ชันที่ต่างกันเข้าด้วยกันแบบเปรียบเทียบทั้งไฟล์ ระบบจะมองทุกการพิมพ์เป็น “คำสั่งการดำเนินการ” (Operation) เช่น “แทรกตัวอักษร A ที่ตำแหน่งที่ 10” แล้วส่งคำสั่งนั้นไปยังเซิร์ฟเวอร์กลางทันทีผ่านการเชื่อมต่อแบบ WebSocket ที่เปิดค้างไว้ตลอดเวลา
เมื่อผู้ใช้งานสองคนพิมพ์ที่ตำแหน่งใกล้เคียงกันพร้อมกัน เซิร์ฟเวอร์กลางจะทำหน้าที่เป็นผู้ตัดสินลำดับที่แน่นอนของทุกคำสั่ง แล้วปรับตำแหน่ง (Transform) คำสั่งของอีกฝ่ายให้สอดคล้องกันโดยอัตโนมัติ ตัวอย่างเช่น หากผู้ใช้ A พิมพ์ที่ตำแหน่ง 10 และผู้ใช้ B พิมพ์ที่ตำแหน่ง 10 พร้อมกัน ระบบจะไม่เกิดความสับสน แต่จะปรับให้คำสั่งของผู้ใช้ B ขยับไปเป็นตำแหน่ง 15 โดยอัตโนมัติ เพื่อให้ทั้งสองการแก้ไขอยู่ร่วมกันได้อย่างสมเหตุสมผลโดยไม่มีใครเสียงานที่พิมพ์ไป
ทำไมต้องมีเซิร์ฟเวอร์กลางเป็นผู้ตัดสิน
จุดสำคัญที่ทำให้สถาปัตยกรรมของ Google Docs ต่างจากระบบกระจายศูนย์ทั่วไปคือการยึดให้เซิร์ฟเวอร์ของ Google เป็น “แหล่งความจริงเดียว” (Single Source of Truth) สำหรับเอกสารแต่ละไฟล์ ทุกคำสั่งการแก้ไขต้องผ่านเซิร์ฟเวอร์กลางนี้เสมอ ซึ่งเป็นการออกแบบที่จงใจ เพราะการมีศูนย์กลางเดียวช่วยลดความซับซ้อนของอัลกอริทึม OT ลงได้มาก เมื่อเทียบกับระบบ OT แบบกระจายศูนย์เต็มรูปแบบหรือเทคโนโลยีทางเลือกอย่าง CRDT (Conflict-free Replicated Data Type) ที่ให้อุปกรณ์แต่ละเครื่องตัดสินใจร่วมกันแบบไม่มีศูนย์กลาง ข้อแลกเปลี่ยนของแนวทางนี้คือต้องมีการเชื่อมต่ออินเทอร์เน็ตไปยังเซิร์ฟเวอร์ของ Google ตลอดเวลาการแก้ไขแบบเรียลไทม์จึงจะทำงานได้ ระบบยังบันทึกทุกคำสั่งแบบไม่สามารถแก้ไขย้อนหลังได้ (Immutable Log) ไว้ในฐานข้อมูลแยกต่างหาก เพื่อให้สามารถเล่นย้อนประวัติการแก้ไขหรือกู้คืนการเชื่อมต่อได้หากหลุดกลางคัน
OT กับ CRDT ต่างกันอย่างไร
แม้ Google Docs จะใช้ OT เป็นหลักสำหรับการแก้ไขแบบเรียลไทม์ผ่านเซิร์ฟเวอร์กลาง แต่ในบางส่วนของระบบ โดยเฉพาะการทำงานแบบออฟไลน์หรือข้อมูลโครงสร้างที่ไม่ใช่ข้อความล้วน ระบบยังใช้แนวคิดแบบ CRDT ร่วมด้วย ทำให้สถาปัตยกรรมโดยรวมเป็นแบบผสมผสาน (Hybrid) คือใช้ OT สำหรับเส้นทางหลักที่ต้องการความเร็วสูงและมีเซิร์ฟเวอร์กลางอยู่แล้ว และใช้ CRDT สำหรับการประสานข้อมูลตอนออฟไลน์ที่ต้องพึ่งพาการรวมข้อมูลแบบกระจายศูนย์จริงๆ ความต่างสำคัญคือ OT ต้องการเซิร์ฟเวอร์กลางตัดสินลำดับคำสั่งเสมอ ในขณะที่ CRDT ออกแบบมาให้อุปกรณ์แต่ละเครื่องรวมข้อมูลกันเองได้โดยไม่ต้องพึ่งพาศูนย์กลาง แต่ต้องแลกกับภาระด้านการจัดการข้อมูลที่ถูกลบไปแล้ว (Tombstone) ที่ซับซ้อนกว่า
ระบบความปลอดภัยและการบริหารจัดการแบบรวมศูนย์
นอกจากการทำงานร่วมกันแบบเรียลไทม์ Google Workspace ยังมีชั้นความปลอดภัยระดับองค์กรที่ทำงานคู่ขนานกันไป ทั้งการยืนยันตัวตนสองขั้นตอน (Two-Factor Authentication) ระบบป้องกันภัยคุกคามขั้นสูง และระบบป้องกันข้อมูลรั่วไหล (Data Loss Prevention) ผู้ดูแลระบบสามารถบริหารจัดการสิทธิ์การเข้าถึงของผู้ใช้งานทั้งองค์กรผ่าน Admin Console เพียงจุดเดียว กำหนดได้ละเอียดถึงระดับว่าใครแก้ไข แสดงความคิดเห็น ดาวน์โหลด หรือแชร์ไฟล์ได้บ้าง ทำให้แม้จะทำงานร่วมกับคนนอกองค์กรก็ยังควบคุมความปลอดภัยของข้อมูลได้อย่างรัดกุม
ตารางสรุปเทคโนโลยีเบื้องหลังการทำงานร่วมกัน
| เทคโนโลยี | หลักการทำงาน | จุดเด่น |
|---|---|---|
| Operational Transformation (OT) | เซิร์ฟเวอร์กลางปรับตำแหน่งคำสั่งแบบเรียลไทม์ | เร็ว เหมาะกับระบบที่มีเซิร์ฟเวอร์กลางอยู่แล้ว |
| CRDT | อุปกรณ์รวมข้อมูลกันเองโดยไม่ต้องพึ่งศูนย์กลาง | เหมาะกับการทำงานออฟไลน์และระบบกระจายศูนย์ |
| WebSocket | เชื่อมต่อสองทางค้างไว้ตลอดเวลา | ส่งและรับคำสั่งแบบเรียลไทม์ได้ทันที |
| Immutable Log | บันทึกทุกคำสั่งแบบแก้ไขย้อนหลังไม่ได้ | กู้คืนการเชื่อมต่อและดูประวัติย้อนหลังได้ |
หากสนใจอ่านเพิ่มเติมเกี่ยวกับระบบคลาวด์ที่เป็นรากฐานของซอฟต์แวร์ลักษณะนี้ สามารถดูได้ใน บทความ Cloud Computing คืออะไร ของเรา หรือศึกษาข้อมูลเชิงเทคนิคเพิ่มเติมจาก คำอธิบายสถาปัตยกรรม Google Docs ของ System Design Handbook
สรุป
โดยสรุปแล้ว Google Workspace ทำงานผ่านสถาปัตยกรรมคลาวด์เต็มรูปแบบ โดยหัวใจสำคัญที่ทำให้พิมพ์เอกสารพร้อมกันได้โดยไม่ชนกันคือเทคโนโลยี Operational Transformation ที่ให้เซิร์ฟเวอร์กลางเป็นผู้ตัดสินลำดับและปรับตำแหน่งคำสั่งการแก้ไขของทุกคนแบบเรียลไทม์ ผสมผสานกับแนวคิด CRDT สำหรับกรณีออฟไลน์ พร้อมชั้นความปลอดภัยและการบริหารจัดการแบบรวมศูนย์ที่ครอบคลุมทั้งองค์กร ทำให้ Google Workspace กลายเป็นเครื่องมือทำงานร่วมกันที่หลายองค์กรเลือกใช้ในปัจจุบัน




