Monorepos with Bazel

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.htmlLondon Meetup - The Death of microservices VIDEO
https://www.youtube.com/watch?v=9jjrFBraVMcShared Libraries Trap
http://diego-pacheco.blogspot.com/2020/08/shared-libraries-trap.htmlSidecar Pattern
http://diego-pacheco.blogspot.com/2020/07/sidecar-pattern.htmlDouble Down on Service Orientation
http://diego-pacheco.blogspot.com/2020/07/double-down-on-service-orientation.html

The video

The Code

https://github.com/diegopacheco/java-pocs/tree/master/pocs/bazel-monorepo-java


Cheers,

Diego Pacheco


Popular posts from this blog

Kafka Streams with Java 15

Rust and Java Interoperability

HMAC in Java