FIELD

This specification relates generally to systems, apparatuses and methods for provisioning compute, storage and/or other services or resources based on application requirements, historical performance, system metrics and/or other factors to provide cost-performance effective services. The embodiments disclosed herein are not intended to be exhaustive of the contemplated configurations and processes.

BACKGROUND

Provisioning resources generally involves naïve “right-sizing” approaches, such as manual trial and error (e.g. looking at historical usage patterns), first-fit, or cheapest fit. Such approaches are generally manually intensive and do not easily translate across different service providers (e.g. Amazon Web Services (AWS), on-premises and Google Compute Engine (GCE)). These approaches also do not improve (e.g. learn) at predictions over time as would be desirable. For example, manual trial and error though works across service providers is difficult to scale and is error prone. Similarly, first/cheapest fit is easier to implement but does not provide optimal or user-defined cost-performance tradeoffs.

In light of the foregoing and other problems associated with prior approaches, there exists a need for improved provisioning systems, apparatuses and methods.

SUMMARY

This specification describes new technologies relating to systems, apparatuses and methods for providing users with enhanced or optimal, cost-performance-effective compute, storage and other services, for example, by analyzing performance and/or system metrics. The approaches described and contemplated herein can be applied, for example, to “right-sizing” virtual machine (VM) and storage service provisions (e.g. in the cloud and/or on-premises).

