DEFINE On-demand computing is a delivery model in which computing resources are made available to the user as needed. The resources may be maintained within the user's enterprise, or made available by a cloud service provider. When the services are provided by a third-party, the term cloud computing is often used as a synonym for on-demand computing .
Effectively using of cloud computing Over-provisioning : purchased resources are not fully utilized cost more than necessary. Under-provisioning : purchased resources are not sufficient to meet the actual demand hurts application performance.
Efficient resource provisioning: challenge #1 : Various cloud providers offering multiple Virtual Machine (VM) types Virtualization technologies help providers pack their hardware resources into different type of Virtual Machines The end-users encounter a complicated decision making problem for choosing the right mix of VMs! 6 / 1 6
Efficient resource provisioning: challenge #3 : Deal with COST and DEMAND uncertainty The application’s demand is not known in advance e.g. online video streaming applications, like YouTube Channel The cost of instances in both on- demand and spot is varying! 8 / 1 6
Efficient resource provisioning: challenge #4 : Multi-objective problem 9 / 1 6 Cost is not the only objective for this problem The trade-off among cost and QoS must also be handled For example response time is very critical in latency sensitive applications , online gaming services, as the users tend to be very impatient
REFERENCE Mastering Cloud computing foundation and application programming rajkumar buyya,christian vecchiola,s.Tamarai selvi