Blueprint is a framework for developing flexible and modular microservice applications. Blueprint provides a programming abstraction for writing microservice applications that makes it easy to later change aspects related to the system’s scaffolding and topology – e.g. concerns such as RPC frameworks or backends to use, placement and load balancing, replication, and so on. Using Blueprint, applications don’t early-bind to those choices. Later on, it’s easy to change any of these aspects and re-generate a fully functional variant of the application. Blueprint makes comparative evaluation trivially easy – it helps developers empirically pick the best-performing libraries, frameworks, and backends; and it helps researchers perform rigorous comparative evaluation of new prototypes.

Publications

Generating representative macrobenchmark microservice systems from distributed traces with Palette

Vaastav Anand, Matheus Stolet, Jonathan Mace, Antoine Kaufmann
Under submission, 2025.
[Preprint]

Blueprint: A Toolchain for Highly-Reconfigurable Microservice Applications

Vaastav Anand, Deepak Garg, Antoine Kaufmann, Jonathan Mace
In 29th ACM Symposium on Operating Systems Principles (SOSP), Koblenz, Germany, 2023.
[Paper PDF] [Video] [Slides] [Artifact]