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.
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
London Meetup — The Death of microservices VIDEO
Shared Libraries Trap
Double Down on Service Orientation
This project demonstrates the usage of Bazel to retrieve dependencies from Maven repositories. To build this example…
Originally published at http://diego-pacheco.blogspot.com on December 9, 2020.