Today's IaaS (infrastructure as a service) cloud platforms allow customers to rent virtualized servers and storage on demand, typically by the hour. But in the future, such services could be sold in a much more efficient and granular manner, with specific resources, such as CPU cycles and memory, rented for just a few seconds, according to new research.
This cloud model has been dubbed RaaS (resource as a service) by Technion-Israel Institute of Technology researchers Orna Agmon Ben-Yehuda, Muli Ben-Yehuda, Assaf Schuster and Dan Tsafrir, who wrote a position paper on the topic that will be presented at next week's USENIX HotCloud '12 conference in Boston.
The concept of owning computing resources has gradually been worn down over time, they write in the paper. "Before cloud computing, the average useful lifetime of a purchased server was approximately three years. With the advent of web-hosting, clients could rent a server on a monthly basis," they said. The subsequent rise of services like Amazon's Elastic Compute Cloud (EC2) drove the equation down to hours.
But the hourly-rental model won't be sufficient as the cloud market matures, the researchers argue.
"If you pay for a full hour or any part of it, you will waste half an hour on average over the lifetime of every virtual machine," the paper states. "If you only pay for a full second or any part of it, then you will only waste half a second over the lifetime of every virtual machine."
Some cloud providers have already begun selling sub-hour chunks, the researchers note, and other IaaS conventions, namely fixed bundles of compute power, memory and networking resources, are "starting to unravel," the paper adds.
"Amazon already allows clients to add and remove different 'network instances' and 'block instances' from running virtual machines, thereby dynamically increasing or decreasing the I/O-resources available to a virtual machine," it states. "CloudSigma offers clients the ability to compose a flexible bundle from varying amounts of resources, similar to building a custom-made server out of different mixtures of resources such as CPUs, memory, and I/O devices."
But overall, "renting a fixed combination of cloud resources cannot and does not reflect the interests of clients," the paper adds.
In a RaaS cloud, customers would purchase "seed virtual machines" containing a baseline of resources as well as an "economic agent" for adding additional capacity, according to the paper. The agent will "will make decisions based on the current prices of those resources, the changing load the machine should handle, and the client's subjective valuation of those different resources at different points in time."
Cloud service providers' software would also incorporate economic agents to represent their own interests. Customers' agents could also negotiate with those controlled by other customers, who may have extra resource to sell.
Pricing for various resource types would be market-driven according to supply and demand. This notion could also be applied to SLAs (service level agreements), the researchers state: "When supply is insufficient for serving all clients, the provider can starve clients with lower-priority SLAs (e.g., only 90% availability) by raising the price of resources."
Making the RaaS cloud concept a reality will require new types of applications and system software, the researchers state. "In the RaaS cloud, virtual machines never know the precise amount of resources that will be available to them at any given second," they said. "That requires software running in those virtual machines to adapt to changing resource availability and exploit whatever resources the software has, when it has them."
Chris Kanaracus covers enterprise software and general technology breaking news for The IDG News Service. Chris's e-mail address is Chris_Kanaracus@idg.com