Diterbitkan pada

MonoRepo - percayakah Anda?

Penulis

"Apakah Anda yakin bahwa Google, Meta, Uber, dan Airbnb menaruh hampir semua kode mereka dalam satu repositori?

Praktek ini disebut monorepo.

Monorepo vs. Mikrorepo. Mana yang terbaik? Mengapa perusahaan yang berbeda memilih opsi yang berbeda?

Monorepo bukanlah hal baru; Linux dan Windows sama-sama dibuat menggunakan Monorepo. Untuk meningkatkan skalabilitas dan kecepatan build, Google mengembangkan toolchain internal khusus untuk menskalakannya lebih cepat dan standar kualitas pengkodean yang ketat agar tetap konsisten.

Amazon dan Netflix adalah duta utama filosofi Microservice. Pendekatan ini secara alami memisahkan kode layanan ke dalam repositori terpisah. Skalanya lebih cepat namun dapat menimbulkan masalah tata kelola di kemudian hari.

Dalam Monorepo, setiap layanan adalah sebuah folder, dan setiap folder memiliki konfigurasi BUILD dan kontrol izin PEMILIK. Setiap anggota layanan bertanggung jawab atas foldernya sendiri.

Di sisi lain, di Microrepo, setiap layanan bertanggung jawab atas repositorinya, dengan konfigurasi build dan izin yang biasanya ditetapkan untuk keseluruhan repositori.

Di Monorepo, dependensi dibagikan ke seluruh basis kode, apa pun bisnis Anda, jadi ketika ada peningkatan versi, setiap basis kode akan meningkatkan versinya.

Di Microrepo, dependensi dikontrol dalam setiap repositori. Bisnis memilih waktu untuk meningkatkan versinya berdasarkan jadwal mereka sendiri.

Monorepo memiliki standar untuk check-in. Proses peninjauan kode Google terkenal karena menetapkan standar yang tinggi, memastikan standar kualitas yang koheren untuk Monorepo, apa pun bisnisnya.

Microrepo dapat menetapkan standarnya sendiri atau mengadopsi standar bersama dengan menerapkan praktik terbaik. Skalanya bisa lebih cepat untuk bisnis, tetapi kualitas kodenya mungkin sedikit berbeda.

Insinyur Google membuat Bazel, dan Meta membuat Buck. Ada alat sumber terbuka lain yang tersedia, termasuk Nix, Lerna, dan lainnya.

Selama bertahun-tahun, Microrepo memiliki lebih banyak alat yang didukung, antara lain Maven dan Gradle untuk Java, NPM untuk NodeJS, dan CMake untuk C/C++. "

Image

Harap dicatat bahwa versi bahasa Indonesia didukung oleh AI dan karena itu mungkin terjadi kesalahan kecil.

Penulis

Ai Base Network (ABN), ABN ASIA didirikan oleh orang-orang dengan akar yang kuat di dunia akademis, dengan pengalaman kerja di Amerika Serikat, Belanda, Hungaria, Jepang, Korea Selatan, Singapura, dan Vietnam. ABN Asia adalah tempat di mana akademik dan teknologi bertemu dengan peluang. Dengan solusi terdepan kami dan layanan pengembangan perangkat lunak yang kompeten, kami membantu bisnis untuk meningkatkan level dan bersaing di panggung global. Komitmen kami: Lebih Cepat. Lebih Baik. Lebih handal. Dalam kebanyakan kasus: Lebih murah juga.

Jangan ragu untuk menghubungi kami jika Anda membutuhkan layanan IT, konsultasi digital, solusi perangkat lunak siap pakai, atau jika Anda ingin mengirimkan permintaan proposal (RFP). Anda dapat menghubungi kami di [email protected]. Kami siap membantu Anda dengan semua kebutuhan teknologi Anda.

ABNAsia.org

© ABN ASIA