pub trait ProviderOptimizer {
// Required methods
fn optimize_workload(
&self,
workload: &WorkloadSpec,
) -> DeviceResult<OptimizationRecommendation>;
fn get_provider(&self) -> CloudProvider;
fn get_optimization_strategies(&self) -> Vec<OptimizationStrategy>;
fn predict_performance(
&self,
workload: &WorkloadSpec,
config: &ExecutionConfig,
) -> DeviceResult<PerformancePrediction>;
fn estimate_cost(
&self,
workload: &WorkloadSpec,
config: &ExecutionConfig,
) -> DeviceResult<CostEstimate>;
}Expand description
Trait for provider-specific optimization strategies
Required Methods§
Sourcefn optimize_workload(
&self,
workload: &WorkloadSpec,
) -> DeviceResult<OptimizationRecommendation>
fn optimize_workload( &self, workload: &WorkloadSpec, ) -> DeviceResult<OptimizationRecommendation>
Optimize a workload for this provider
Sourcefn get_provider(&self) -> CloudProvider
fn get_provider(&self) -> CloudProvider
Get the cloud provider this optimizer targets
Sourcefn get_optimization_strategies(&self) -> Vec<OptimizationStrategy>
fn get_optimization_strategies(&self) -> Vec<OptimizationStrategy>
Get available optimization strategies for this provider
Sourcefn predict_performance(
&self,
workload: &WorkloadSpec,
config: &ExecutionConfig,
) -> DeviceResult<PerformancePrediction>
fn predict_performance( &self, workload: &WorkloadSpec, config: &ExecutionConfig, ) -> DeviceResult<PerformancePrediction>
Predict performance for a given workload and configuration
Sourcefn estimate_cost(
&self,
workload: &WorkloadSpec,
config: &ExecutionConfig,
) -> DeviceResult<CostEstimate>
fn estimate_cost( &self, workload: &WorkloadSpec, config: &ExecutionConfig, ) -> DeviceResult<CostEstimate>
Estimate cost for a given workload and configuration