การแก้ไขระบบ Git ของ Microsoft จุดประเด็นถกเถียงเรื่องโครงสร้างพื้นฐานอินเทอร์เน็ตในยุโรปและการใช้ Git ในองค์กร

BigGo Editorial Team
การแก้ไขระบบ Git ของ Microsoft จุดประเด็นถกเถียงเรื่องโครงสร้างพื้นฐานอินเทอร์เน็ตในยุโรปและการใช้ Git ในองค์กร

การประกาศล่าสุดเกี่ยวกับการลดขนาด JavaScript monorepo ของ Microsoft อย่างมากได้จุดประเด็นการถกเถียงอย่างเข้มข้นเกี่ยวกับโครงสร้างพื้นฐานอินเทอร์เน็ตในยุโรป แนวทางปฏิบัติการใช้ Git ในองค์กร และวิวัฒนาการของระบบควบคุมเวอร์ชัน แม้ว่าความสำเร็จทางเทคนิคจะน่าสนใจ แต่การตอบสนองของชุมชนได้เผยให้เห็นความกังวลที่ลึกซึ้งเกี่ยวกับการเชื่อมต่อทั่วโลกและแนวทางการพัฒนาในระดับองค์กร

ความสำเร็จทางเทคนิค

Microsoft ได้ค้นพบและแก้ไขปัญหาสำคัญใน Git ที่ทำให้ JavaScript monorepo มีขนาดพองขึ้นถึง 178GB การแก้ไขที่ถูกนำมาใช้ใน Git fork ของ Microsoft (เวอร์ชัน 2.47.0.vfs.0.2) ช่วยลดขนาดของ repository ลง 94% เหลือเพียง 5GB ปัญหาหลักเกิดจากการจัดการไฟล์ของ Git ที่มีการลงท้ายของพาธที่คล้ายกัน โดยเฉพาะอย่างยิ่งส่งผลกระทบต่อไฟล์ changelog ในแพ็คเกจต่างๆ

ภาพรวมโดยละเอียดของจำนวนเส้นทางและขนาดของที่เก็บข้อมูล แสดงให้เห็นผลกระทบจากการแก้ไขระบบ monorepo ของ Microsoft ต่อขนาดของที่เก็บข้อมูล
ภาพรวมโดยละเอียดของจำนวนเส้นทางและขนาดของที่เก็บข้อมูล แสดงให้เห็นผลกระทบจากการแก้ไขระบบ monorepo ของ Microsoft ต่อขนาดของที่เก็บข้อมูล

การถกเถียงเรื่องโครงสร้างพื้นฐานอินเทอร์เน็ตในยุโรป

การกล่าวถึงนักพัฒนาในยุโรปที่ไม่สามารถโคลน repository ได้ ได้จุดประเด็นการถกเถียงอย่างเข้มข้นเกี่ยวกับโครงสร้างพื้นฐานอินเทอร์เน็ตในภูมิภาคต่างๆ สมาชิกในชุมชนได้ชี้ให้เห็นความแตกต่างที่สำคัญ:

  • หลายประเทศในยุโรปมีโครงสร้างพื้นฐานอินเทอร์เน็ตที่เหนือกว่าสหรัฐอเมริกา โดยผู้ให้บริการบางรายเสนอการเชื่อมต่อ 10Gbps ในราคาเพียง 50 ยูโรต่อเดือน
  • เยอรมนีเป็นข้อยกเว้นที่น่าสังเกต โดยผู้ใช้รายงานปัญหาด้านโครงสร้างพื้นฐานที่สำคัญ:
    • การติดตั้งไฟเบอร์มีจำกัด (ครอบคลุมประมาณ 36%)
    • ปัญหาการผูกขาดตลาดของ Deutsche Telekom
    • ค่าติดตั้งไฟเบอร์ที่สูง (มากกว่า 800 ยูโรสำหรับครัวเรือน)
    • สัญญาณมือถือครอบคลุมไม่ทั่วถึงนอกเขตเมือง

รูปแบบการใช้ Git ในองค์กร

การอภิปรายเผยให้เห็นรูปแบบที่น่าสนใจในการจัดการระบบควบคุมเวอร์ชันของบริษัทขนาดใหญ่:

  • Microsoft มี monorepo ขนาดใหญ่หลายตัว:
    • 1JS (JavaScript monorepo)
    • OMR (Office monorepo ซึ่งมีขนาดใหญ่กว่า 1JS)
    • ทั้งสองเผชิญความท้าทายคล้ายกันในเรื่องขนาดของ repository

การถกเถียงในชุมชนแสดงให้เห็นมุมมองที่ขัดแย้งกันสองประการเกี่ยวกับการใช้ monorepo:

  1. ฝ่ายสนับสนุนเห็นว่าช่วยทำให้การจัดการการพึ่งพาง่ายขึ้นและรับประกันความสอดคล้อง
  2. ฝ่ายวิจารณ์เสนอว่าสร้างความซับซ้อนและปัญหาพื้นที่จัดเก็บที่ไม่จำเป็น

ก้าวต่อไป

Derrick Stolee ผู้มีส่วนร่วมสำคัญในการแก้ไขปัญหา ได้ส่งแพตช์ไปยัง upstream Git ที่จะช่วยองค์กรอื่นๆ ที่เผชิญความท้าทายคล้ายกัน คำสั่งและการตั้งค่าใหม่รวมถึง:

git repack -adf --path-walk
git config --global pack.usePathWalk true

อย่างไรก็ตาม ชุมชนระบุว่าจนกว่า GitHub และแพลตฟอร์มโฮสติ้งอื่นๆ จะนำการเปลี่ยนแปลงเหล่านี้ไปใช้ ผู้ใช้จะยังคงเผชิญปัญหากับขนาดการโคลนครั้งแรก

ผลกระทบต่อโครงสร้างพื้นฐาน

การอภิปรายชี้ให้เห็นว่าการพัฒนาซอฟต์แวร์ระดับโลกเผชิญความท้าทายที่มากกว่าแค่โค้ด:

  • ความล่าช้าในการส่งข้อมูลข้ามมหาสมุทร
  • ความซับซ้อนของ VPN ในสภาพแวดล้อมขององค์กร
  • คุณภาพโครงสร้างพื้นฐานอินเทอร์เน็ตที่แตกต่างกันส่งผลต่อขั้นตอนการพัฒนา

เหตุการณ์นี้เป็นการเตือนว่าแม้เครื่องมือพัฒนาสมัยใหม่จะมีประสิทธิภาพ แต่ประสิทธิผลของมันอาจถูกจำกัดด้วยข้อจำกัดด้านโครงสร้างพื้นฐานและทางเลือกในการนำไปใช้ทั้งในระดับองค์กรและระดับประเทศ