Saarthi is an intelligent, end-to-end serverless computing platform that revolutionizes how we handle complex computational workloads in distributed environments. Named after the Sanskrit word for โcharioteerโ - the guide who steers the chariot to victory - Saarthi guides serverless functions to optimal performance through intelligent orchestration, prediction, and resource management.
Saarthi is a comprehensive serverless management platform built on OpenFaaS that addresses the fundamental challenges of modern serverless computing:
Traditional serverless platforms suffer from:
Saarthi transforms serverless computing through proactive intelligence:
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ SAARTHI PLATFORM โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โ
โ โ PREDICTION โ โ OPTIMIZATION โ โ EXECUTION โ โ
โ โ LAYER โโโโโโ LAYER โโโโโโ LAYER โ โ
โ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โ
โ โ โ โ โ
โ โผ โผ โผ โ
โ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โ
โ โ Workload โ โ ILP Controller โ โ Custom Gateway +โ โ
โ โ Predictor โ โ (Greedy + Full) โ โ K8s Provider โ โ
โ โ โ โ โ โ โ โ
โ โ โข Time Series โ โ โข Utility-Based โ โ โข Idle-First โ โ
โ โ โข Parameter โ โ Optimization โ โ Pod Selection โ โ
โ โ Distribution โ โ โข Coverage & โ โ โข Pod Status โ โ
โ โ โข Resource โ โ Utility โ โ Registry โ โ
โ โ Estimation โ โ Maximization โ โ โข Request โ โ
โ โ โ โ โข Overprovision โ โ Queuing โ โ
โ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ โ
โ โ โ โ โ
โโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโโโโผโโโโโโโโโโโโโโโโโโโโโค
โ โผ โผ โผ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โ โ MONITORING & FEEDBACK LAYER โ
โ โ โ
โ โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โ
โ โ โ Custom โ โ Performance โ โ Resource โ โ Cost โ โ
โ โ โ Dashboard โ โ Metrics โ โ Usage โ โ Analytics โ โ
โ โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โ
โ โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ OPENFAAS INFRASTRUCTURE โ
โ โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โ
โ โ Nodes โ โ Functions โ โ Storage โ โ
โ โ โ โ โ โ โ โ
โ โ โข Worker 1 โ โ โข Function Aโ โ โข Volumes โ โ
โ โ โข Worker 2 โ โ โข Function Bโ โ โข Configs โ โ
โ โ โข Worker N โ โ โข Function Cโ โ โข Secrets โ โ
โ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 1. WORKLOAD PREDICTION PHASE โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ Historical Data โโโบ Pattern Analysis โโโบ Future Workload Prediction โ
โ โ โ โ โ
โ โผ โผ โผ โ
โ โข Past requests โข Seasonal patterns โข Request counts โ
โ โข Resource usage โข Peak hours โข Parameter distributions โ
โ โข Performance โข Function correlations โข Resource requirements โ
โ metrics โข Input characteristics โข Confidence intervals โ
โ โ
โ Output: "In next 30 minutes, expect 150 requests to matrix_mult with โ
โ n=[100,500,800], m=[200,400,600], requiring ~2.5 CPU cores" โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 2. OPTIMIZATION PHASE โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ Predicted Workload โโโบ ILP Solver โโโบ Optimal Resource Allocation โ
โ โ โ โ โ
โ โผ โผ โผ โ
โ โข Function demands โข Maximize coverage โข Node assignments โ
โ โข Resource needs โข Minimize cold startsโข CPU allocations โ
โ โข Coverage targets โข Optimize utility โข Memory allocations โ
โ โข Node capacities โข Respect constraints โข Replica counts โ
โ โ
โ Mathematical Model: โ
โ Maximize: ฮฃ(utility ร coverage_score) - ฮฃ(cold_start_penalty ร violations) โ
โ Subject to: CPU/Memory limits, Coverage requirements, Resource constraints โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 3. DEPLOYMENT PHASE โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ Optimization Plan โโโบ Function Deployment โโโบ Resource Allocation โ
โ โ โ โ โ
โ โผ โผ โผ โ
โ โข Node assignments โข Scale functions โข CPU allocation โ
โ โข Resource targets โข Deploy new instances โข Memory assignment โ
โ โข SLA requirements โข Update configurations โข Network setup โ
โ โข Health checks โข Storage mounting โ
โ โ
โ Result: Functions pre-deployed and ready for incoming requests โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โผ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 4. REQUEST EXECUTION PHASE โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ Incoming Request โโโบ Intelligent Routing โโโบ Function Execution โ
โ โ โ โ โ
โ โผ โผ โผ โ
โ โข Client request โข Idle-first selection โข Function invocation โ
โ โข Input parameters โข Pod status registry โข Resource usage โ
โ โข Authentication โข Request queuing โข Performance monitoring โ
โ โข Headers/metadata โข Max in-flight control โข Result processing โ
โ โ
โ Journey: Request โ Gateway โ K8s Provider โ Pod Selection โ Function โ Responseโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ 5. MONITORING & FEEDBACK PHASE โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ โ
โ Execution Metrics โโโบ Analysis & Learning โโโบ Model Improvement โ
โ โ โ โ โ
โ โผ โผ โผ โ
โ โข Response times โข Pattern detection โข Model retraining โ
โ โข Resource usage โข Anomaly identification โข Parameter tuning โ
โ โข Error rates โข Accuracy measurement โข Algorithm improvement โ
โ โข Cost metrics โข Trend analysis โข Feedback integration โ
โ โ
โ Continuous Loop: Monitor โ Learn โ Predict โ Optimize โ Deploy โ Execute โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
prediction-service/
)Purpose: Forecasts multi-dimensional workload patterns Key Innovation: Predicts both request volumes AND input parameter distributions
# Example: Matrix multiplication function prediction
prediction = {
"function_name": "matrix_mult",
"predicted_request_count": 150,
"predicted_parameters": [
{"n": 512, "m": 256}, {"n": 1024, "m": 512}, ...
],
"estimated_resources": {
"cpu_cores": 2.5, "memory_mb": 1024, "execution_time_ms": 5000
},
"confidence_score": 0.87
}
Technologies: Random Forest, Statistical Distribution Learning, Time Series Analysis
greedy-ilp/
)Purpose: Mathematical optimization for resource allocation and function placement Key Innovation: Utility-based optimization with multi-constraint satisfaction
Objective Function:
Maximize: ฮฃ(utility ร coverage_ratio) - ฮฃ(beta ร overprovisioning_penalty)
Where:
- 'utility' is the importance weight per function
- 'coverage_ratio' is the percentage of expected requests served
- 'beta' is the penalty coefficient for overprovisioning
- Overprovisioning penalty applies when instances exceed needs
Constraints:
- Total CPU across all instances <= cluster CPU capacity
- Total memory across all instances <= cluster memory capacity
- Function replica counts within min/max bounds
- Request assignments respect instance capacity limits
Technologies: Integer Linear Programming, Greedy Heuristics, Utility-Based Allocation, Multi-Constraint Optimization
openfaas-custom-gateway/
)Purpose: Intelligent request routing with pod status awareness Key Innovation: Idle-first pod selection and intelligent retry logic
Flow:
Key Features:
openfaas-custom-faas-netes/
)Purpose: Kubernetes-native function management with intelligent pod tracking Key Innovation: Centralized pod status registry and function-aware scheduling
Flow:
Key Features:
openfaas-scheduler-python/
)Purpose: Function placement and scaling decisions Key Innovation: Proactive scaling based on predictions
Algorithms:
openfaas-custom-dashboard/
)Purpose: Real-time monitoring and management interface Key Innovation: Multi-dimensional visualization of predictions vs. actuals
Features:
single-rebalancer-api/
, multi-rebalancer-api/
)Purpose: Dynamic resource rebalancing Key Innovation: Continuous optimization during runtime
Triggers:
Metric | Target | Expected Achievement |
---|---|---|
Cold Start Reduction | > 70% | 65-80% |
Cost Optimization | > 40% | 35-50% |
SLA Compliance | > 99% | 97-99.5% |
Prediction Accuracy | > 85% | 80-90% |
Resource Utilization | > 80% | 75-85% |
Traditional Approach: โExpect 100 requests/minuteโ Saarthi Approach: โExpect 100 requests with specific input distributions requiring predictable resourcesโ
Traditional Approach: Heuristic-based scaling rules Saarthi Approach: ILP-based optimal resource allocation with mathematical guarantees
Traditional Approach: Reactive placement after requests arrive Saarthi Approach: Proactive placement based on predicted workload patterns
Traditional Approach: Round-robin or simple load balancing Saarthi Approach: Idle-first pod selection with real-time status awareness and intelligent retry logic
Pros:
Cons:
Our Solution: Hybrid approach with greedy fallback for time-critical decisions
Pros:
Cons:
Our Solution: Built on OpenFaaS foundation, with custom K8s provider for advanced pod tracking and intelligent routing
Pros:
Cons:
Our Solution: Graceful degradation when predictions are unavailable
Scenario: Online shopping platform with seasonal traffic patterns Challenge: Black Friday traffic spikes causing system failures Saarthi Solution:
Scenario: Financial institution running real-time fraud detection Challenge: Variable data volumes causing processing delays Saarthi Solution:
Scenario: Smart city platform processing sensor data Challenge: Unpredictable sensor failure patterns Saarthi Solution:
# Setup development environment
git clone <repository>
cd Saarthi
./scripts/setup-dev-environment.sh
# Run component tests
./scripts/test-all-components.sh
# Deploy to test cluster
./scripts/deploy-test-environment.sh
# 1. Clone Saarthi
git clone <repository>
cd Saarthi
# 2. Deploy prediction service
cd prediction-service
./start_service.sh --install-deps
kubectl apply -f k8s-deployment.yaml
# 3. Deploy ILP controller
cd ../greedy-ilp
./deploy.sh
# 4. Deploy custom components
cd ../openfaas-custom-gateway
./build-and-deploy.sh
# 5. Access dashboard
kubectl port-forward svc/saarthi-dashboard 8080:80
# Open http://localhost:8080
Saarthi - Guiding serverless computing to optimal performance Version: 2.0.0 | Last Updated: July 3, 2025