เผยแพร่เมื่อ

MonoRepo - คุณเชื่อไหม?

ผู้เขียน

"คุณเชื่อหรือไม่ว่า Google, Meta, Uber และ Airbnb ใส่โค้ดเกือบทั้งหมดไว้ในที่เดียว เพราะเหตุใด

การปฏิบัตินี้เรียกว่า monorepo

Monorepo กับ Microrepo ไหนดีที่สุด? เหตุใดบริษัทต่างๆ จึงเลือกตัวเลือกที่แตกต่างกัน

Monorepo ไม่ใช่เรื่องใหม่ ทั้ง Linux และ Windows ถูกสร้างขึ้นโดยใช้ Monorepo เพื่อปรับปรุงความสามารถในการปรับขนาดและความเร็วในการสร้าง Google ได้พัฒนากลุ่มเครื่องมือภายในเฉพาะเพื่อปรับขนาดได้เร็วขึ้นและมาตรฐานคุณภาพการเขียนโค้ดที่เข้มงวดเพื่อให้สอดคล้องกัน

Amazon และ Netflix เป็นทูตสำคัญของปรัชญาไมโครเซอร์วิส วิธีการนี้จะแยกรหัสบริการออกเป็นที่เก็บข้อมูลแยกกันโดยธรรมชาติ ปรับขนาดได้เร็วกว่าแต่อาจนำไปสู่ปัญหาด้านการกำกับดูแลในภายหลังได้

ภายใน Monorepo แต่ละบริการจะเป็นโฟลเดอร์ และทุกโฟลเดอร์จะมีการกำหนดค่า BUILD และการควบคุมสิทธิ์ของ OWNERS สมาชิกบริการทุกคนมีหน้าที่รับผิดชอบโฟลเดอร์ของตนเอง

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

ใน Monorepo การขึ้นต่อกันจะถูกแชร์ทั่วทั้งโค้ดเบส โดยไม่คำนึงถึงธุรกิจของคุณ ดังนั้นเมื่อมีการอัปเกรดเวอร์ชัน ทุกโค้ดเบสจะอัปเกรดเวอร์ชันของตน

ใน Microrepo การขึ้นต่อกันจะถูกควบคุมภายในแต่ละที่เก็บ ธุรกิจเลือกเวลาที่จะอัปเกรดเวอร์ชันตามกำหนดการของตนเอง

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

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

วิศวกรของ Google ได้สร้าง Bazel และ Meta ได้สร้าง Buck มีเครื่องมือโอเพ่นซอร์สอื่นๆ รวมถึง Nix, Lerna และอื่นๆ

ในช่วงหลายปีที่ผ่านมา Microrepo มีเครื่องมือที่รองรับมากขึ้น รวมถึง Maven และ Gradle สำหรับ Java, NPM สำหรับ NodeJS และ CMake สำหรับ C/C++ และอื่นๆ อีกมากมาย "

Image

ผู้เขียน

Ai Base Network (ABN), ABN ASIA ถูกก่อตั้งขึ้นโดยคนที่มีรากฐานลึกในวงการวิชาการ มีประสบการณ์การทำงานในสหรัฐอเมริกา ดัตช์ ฮังการี ญี่ปุ่น เกาหลีใต้ สิงคโปร์ และเวียดนาม ABN Asia เป็นที่เราพบกันของวิทยาลัยและเทคโนโลยี ด้วยโซลูชันขั้นสูงและบริการพัฒนาซอฟต์แวร์ที่มีความสามารถ เราช่วยธุรกิจเติบโตและเข้าสู่ฉากโลก ความมุ่งมั่นของเรา: ด่วนขึ้น ดีขึ้น น่าเชื่อถือมากขึ้น ในกรณีส่วนมาก: ราคาถูกด้วย

หากคุณต้องการบริการ IT การให้คำปรึกษาดิจิทัล โซลูชันซอฟต์แวร์ใช้ได้หรือหากคุณต้องการส่งคำขอข้อเสนอ (RFPs) อย่าลังเลที่จะติดต่อเรา คุณสามารถติดต่อเราได้ที่ [email protected] เราพร้อมช่วยเหลือคุณด้านทุกความต้องการทางเทคโนโลยีของคุณทุกเมื่อ

ABNAsia.org

© ABN ASIA