We have carried out the first or maybe last round of rewrite of the Juhui DSP/SSP/ADX with Typescript. A few goals and non-goals have been set for this labor-intensive process.
- Strong typed.
- Strong API contracts.
- Holistic Observability with logging, tracing, and metrics.
- Layered Architecture and dedicated component.
- Testcases can be run by anyone.
- Stateless over stateful.
- Improved readability.
- Proper code deprecation process.
- Use fancy technology.
- Reinvent the wheel.
- Making ad server more complex.
- Code reuse.
- Abstraction over business logic.
- Premature optimization for performance.
- Programming productivity (Reduce boilerplate).
These goals and non-goals are driven by our business needs. Logics for the advertising industry is often overwhelming, undocumented and may change three times a day.