CategoryTagArticle

admin

I'm a Full-stack developer

Tag

Linked List
Data Structure
Chat GPT
Design Pattern
Microservices
API
AWS CDK
ReactJS
AWS Lightsail
Flutter Mobile
Microservice in a Monorepo
Published date: 22/06/2023

What is a Monorepo?


Monorepo is a single repository that contains multiple projects, packages, and lib. It is a centralized place that is for sharing, collaborating, and maintenance.

These days, many organizations choose mono repo to manage their source code, since it is too advantageous.


What are the benefits of Monorepo?


There are many advantages for developers when using monorepo:

  1. Easier to refactor the code:
  2. Help to avoid duplicating the code like common models, and code sharing:
  3. Can share CI/CD pipelines:
  4. Quickly find the committer who makes the broken legacy:
  5. Furthermore, a new team member can discover easier:


However, it also has some disadvantages


What are the disadvantages of Monorepo?

  1. Logger build times: spend more time running the build. Do not worry about this because of having some tools which to shorten build times and improve automation.
  2. Increate memory:
  3. Affect on delivery: your bugs or features are not released when the CI/CD pipelines build failed because one of the projects does not work.


What are the popular Monorepo tools?


There are many monorepo tools by Bazel (by Google), Gradle Build Tool (by Gradle, Inc), Lage (by Microsoft), Lerna, Nx (by Nrwl), Pants (by the Pants Build community), Rush (by Microsoft), and Turborepo (by Vercel).



As a workspace growth, the mono repo tool should provide:

Fast local computation caching
Fast local task orchestration
Fast-distributed computation caching
Fast-distributed task execution
Fast transparent remote execution
Fast-detecting affected projects/packages
Understandable workspace analysis
Understandable dependency graph visualization


Conclusion


References:
  1. Monorepo tools
  2. The Pros and Cons of Monorepos
Recommend

Difference Between Stack and Queue
admin07/04/2024

Difference Between Stack and Queue
In the fundamental data structure, besides the linked list, the stack and queue are also used widely in computer science and programming.
Create Project with Express + TypeScript + ESLint + Auto Reload
admin12/06/2023

Create Project with Express + TypeScript + ESLint + Auto Reload
In this article, I introduce to you how to initialize an Express + TypeScript project.
ĐINH THÀNH CÔNG - Software Developer
admin12/01/2024

ĐINH THÀNH CÔNG - Software Developer
Cong Dinh - Software Developer - My personal website, where I write blogs on a variety of topics and where I have some experiments with new technologies.
Newest

Difference Between Stack and Queue
admin07/04/2024

Difference Between Stack and Queue
In the fundamental data structure, besides the linked list, the stack and queue are also used widely in computer science and programming.
ĐINH THÀNH CÔNG - Software Developer
admin12/01/2024

ĐINH THÀNH CÔNG - Software Developer
Cong Dinh - Software Developer - My personal website, where I write blogs on a variety of topics and where I have some experiments with new technologies.
TypeScript Design Pattern - Singleton
admin07/08/2023

TypeScript Design Pattern - Singleton
The singleton ensures only a single install is created in a class and provides a method to access this instance everywhere in a codebase.
Đinh Thành Công Blog

My website, where I write blogs on a variety of topics and where I have some experiments with new technologies.

hotlinelinkedinskypezalofacebook
DMCA.com Protection Status
Feedback
Name
Phone number
Email
Content
Download app
hotline

copyright © 2023 - AGAPIFA

Privacy
Term
About