Home
Gauge
61

⚙️ Gauge - Solving the microservices/monolith dilemma

Building open source tools that give you the simplicity of a monolith alongside the scalability of microservices ⭐

TL;DR: Gauge is building open source tools to solve the microservices/monolith dilemma. We’re doing this by enabling teams to build a modular monolith. Our first tool is called Tach, and it brings some of the power of microservices to your monolith, without all of the headaches.

🙏 Our Ask

  • Are you undergoing a microservices <> monolith migration? We’d love to learn from your experience!
  • Are you scaling a Python monorepo? Give Tach a try (and a ⭐)! It’s open source and free.

If any of the above resonates with you, we’d love to buy you a drink! Grab a time with the founders here.

⚠️ The Problem

Startups need to move fast. As they grow, code quality takes a back seat to velocity, inevitably leading to code sprawl and tightly coupled services. This creates an environment where even simple features and refactors become incredibly painful. Once startups reach this stage, they often reach for microservices.

Unfortunately, this is like trying to fix a dirty kitchen by building a new house for the sink. With microservices, you introduce a whole new world of challenges - orchestration, lifecycle management, versioning dependencies, and more.

⚙️ The Solution

By separating a monolith into decoupled modules with well defined interfaces, you get the benefits of microservices without the immense complexity that comes with it.

Our first tool, Tach, lets you do just that. We recently rewrote the core in Rust (~19x speedup), added visualization, and shipped test impact analysis support! We’re currently live in production with a number of companies, have over 100k downloads, and over 500 stars on GitHub.

An example of Tach on the FastAPI repo

Next, we’re building more tools to help you scale a modular monolith - architecture enforcement, intelligent cached task execution, smart build and deployment pipelines, and more.

Long term, we’re excited by a new approach that will allow you to deploy your modular monolith as a set of independent services. This will bring over the remaining set of benefits that microservices offer, including independent scalability and fault tolerance. Google recently put out a paper describing this idea. While the FAANGs have bespoke in-house solutions, the rest of the industry is far behind. We see an opportunity to bring this capability to everyone.

🧑‍🤝‍🧑 About Us

Evan and I (Caelean) met as roommates in college, and in the decade since, we’ve both worked exclusively at startups, including multiple founding engineering roles. We’ve seen attempts to split up the monolith drain millions of dollars in engineering hours and ultimately fail. At every startup we’ve helped build, we’ve run into the problem of how to maintain development velocity as the team and codebase scales. We’re building the tools that we wish we had.

If any of the above is interesting to you, we’d love to chat!

Some more ways to follow along:

❓Bonus

For those who aren’t familiar with microservices, here’s a great summary:

https://www.youtube.com/watch?v=y8OnoxKotPQ