Image for post
Image for post

So this is a hot and problematic subject: Monorepos. IMHO there are good use cases for mono repo when your project is really one thing such as angular. However, there are good use cases for microservices. IMHO we should avoid extremes and just have one big monorepo for the whole company and at the same time avoid having microservices for everything. There is a need to strike some balance between maintenance, isolation, and organization. This is the first post about the monorepos, today I will cover the solution from Google called Bazel. In the next post, I will cover the solution from Facebook called Buck. All posts will have practical videos building mono repo with Java. IMHO the IDE integration is not ideal for both Bazel and buck. There is some support for VSCode and IDEA but is far from being ok. So Let’s take a look at the video.

Related Reading

This blog post is also related to previous Architecture blog posts I made in regards to Microservices, SOA, and Shared Internal Libraries. I highly recommend you take a look:

The Death of microservices — Distributed Monolith 101
http://diego-pacheco.blogspot.com/2020/05/the-death-of-microservices-distributed.html

London Meetup — The Death of microservices VIDEO
https://www.youtube.com/watch?v=9jjrFBraVMc

Shared Libraries Trap
http://diego-pacheco.blogspot.com/2020/08/shared-libraries-trap.html

Sidecar Pattern
http://diego-pacheco.blogspot.com/2020/07/sidecar-pattern.html

Double Down on Service Orientation
http://diego-pacheco.blogspot.com/2020/07/double-down-on-service-orientation.html

The video

The Code

Cheers,

Diego Pacheco

Originally published at http://diego-pacheco.blogspot.com on December 9, 2020.

Brazilian, Software Architect, SWE(Java, Scala, Rust, Go) SOA & DevOps expert, Author. Working with EKS/K8S. diegopacheco.github.io (Opinions on my own)

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store