This talk introduces a new Open Source Project called "Superposition". The project is Apache 2.0 licensed and is hosted at https://github.com/juspay/superposition.
We'd like to cover the following in the talk
- The problem space that Superposition intends to solve
- High-level component architecture of Superposition
- A live demonstration of the key features
- Current production usage
- Why Superposition should be part of your toolkit if you want to build configurable applications
For a more detailed walk-through of what to expect in the presentation, one can review the slides at: https://drive.google.com/file/d/1IgZro3svxQ39DXGKX0duUy2ohTg434IA/view
Brief context on why we built Superposition and the problems it solves:
Most non-trivial applications need a robust and flexible configuration system. Such a system becomes all the more important when the same feature needs to behave differently for different users. At Juspay, we needed a configuration system with the following properties:
- First, it should be flexible, allowing teams to make changes quickly without application deployment.
- Second, it should be Safe - ensuring that the value provided for a configuration is type correct, and the rollout of such a change is staggered.
We looked around for off-the-shelf software and did not find anything that met these requirements, so we built Superposition.
Superposition is a context-based configuration management system designed to facilitate safe and flexible rollout of config changes.
This is enabled by two key components of Superposition.
- Context Aware Config (CAC) - Lets you do granular configuration based on contextual data.
- Experimentation - Lets you do A/B configuration deployment, allowing controlled rollout and rollback mechanisms.
From discussions with multiple teams, we felt our requirements for a configuration system are universal. Teams inside Juspay like Juspay Portal, Hyper SDK and Namma Yatri have started to leverage Superposition to manage their complex configuration use-cases in production. Given the wide applicability of such a configuration system and Juspay's commitment to open source software, we decided to open source it and we would like to introduce it to the world in the India FOSS conference.