1.8 KiB
1.8 KiB
A/B Release Manager (Traffic Splitting Between Versions)
Module
ReleaseOrchestrator
Status
IMPLEMENTED
Description
A/B release management for running parallel control/treatment versions with configurable traffic weight distribution, experiment metrics tracking, and promote/rollback based on results.
Implementation Details
- Modules:
src/ReleaseOrchestrator/__Libraries/StellaOps.ReleaseOrchestrator.Progressive/AbRelease/ - Key Classes:
AbReleaseManager(src/ReleaseOrchestrator/__Libraries/StellaOps.ReleaseOrchestrator.Progressive/AbRelease/AbReleaseManager.cs) - manages A/B release lifecycle with traffic weight distributionInMemoryAbReleaseStore(src/ReleaseOrchestrator/__Libraries/StellaOps.ReleaseOrchestrator.Progressive/AbRelease/InMemoryAbReleaseStore.cs) - in-memory store for A/B release stateTrafficRouterRegistry(src/ReleaseOrchestrator/__Libraries/StellaOps.ReleaseOrchestrator.Progressive/Routing/TrafficRouterRegistry.cs) - registry of traffic routers for A/B splitsInMemoryTrafficRouter(src/ReleaseOrchestrator/__Libraries/StellaOps.ReleaseOrchestrator.Progressive/Routing/InMemoryTrafficRouter.cs) - in-memory traffic routing implementation
- Interfaces:
IAbReleaseManager,IAbReleaseStore,ITrafficRouter - Source: SPRINT_20260110_110_001_PROGDL_ab_release_manager.md
E2E Test Plan
- Create an A/B release with 80/20 traffic split and verify both versions receive traffic at configured weights
- Verify promote: promote the treatment version and confirm all traffic shifts to it
- Verify rollback: rollback the A/B release and confirm all traffic returns to control version
- Verify
AbReleaseManagertracks experiment metrics during the A/B test period - Verify invalid state transitions are rejected (e.g., promoting an already-concluded experiment)