On December 14, 2009, Amazon Web Services announced Spot Instances, a new option for purchasing and consuming Amazon EC2 compute resources. As the company describes in its announcement, “With Spot Instances, customers bid on unused Amazon EC2 capacity and run those instances for as long as their bid exceeds the current Spot Price.”
This unique offering from Amazon Web Services is a significant step towards true supply-and-demand driven market-based pricing, allowing customers to consume spare AWS compute capacity when the customer’s bid price meets or exceeds the current AWS spot price for such instances, which varies based on real time demand characteristics within each availability zone.
When the books are written on this era, IT historians will no doubt mark this announcement as a hallmark moment within the IT community by accelerating the commoditization of IT resources and, most significantly, driving towards a long-forecasted era in which compute resources are bought and sold fluidly via an efficient and competitive market. This liquidity will drive new efficiencies in IT economics and enable entirely new business models within the industry.
AWS Spot Instances do not represent the end state in market-based pricing for IT resources. However, the announcement does mark a significant step in the journey.
How Spot Instances Work
Since 2007, AWS has offered developers access to On-Demand (Virtual Machine) Instances of various sizes. In early 2009, in order to provide volume-pricing to customers running persistent instances and guaranteed resource availability, AWS launched its Reserved Instance offering. With the announcement of Spot Instances, AWS introduces a new pricing and provisioning model.
With Spot Instances, customers still specify the instance type required, the Region desired, and the quantity of instances requested. Additionally, they specify the maximum price they are willing to pay per instance hour. AWS sets the Spot Instance price and the price "fluctuates periodically depending on the supply of and demand for Spot Instance capacity.” To inform the customer’s bidding strategy, AWS makes Spot Price history available via the Amazon EC2 API and the AWS Management Console. If the customer’s maximum price bid exceeds the current Spot Price, the request is fulfilled (at the Spot Price, which may be lower than the customer’s bid) and the instances will run until either the customer terminates them or the Spot Price increases above the customer’s maximum price, at which point AWS will terminate the instance without warning.
Herein lies the most significant runtime characteristic of the Spot Instances: AWS can reclaim the compute resources when needed to address demand surges for higher-paying On-Demand Instances or Reserved Instances. AWS may increase the Spot Instance price above the customer’s bid, or may make Spot Instance inventory unavailable without notice. This, of course, limits the types of applications and use cases for which Spot Instances might be functionally viable to those which are highly price-sensitive and time-insensitive. AWS suggests the following categories of applications as being well-suited for On-Demand Instance: image and video processing, conversion and rendering; scientific research data processing; financial modeling and analysis. A student with a large video file to be rendered may be price-sensitive and time-insensitive. However, a financial institution with a new algorithmic trading model recognizes that every minute of delay in getting a new model into production can cost the institution millions of dollars in lost profit. Such a customer would, no doubt, prioritize resource availability over cost.
Why Offer Spot Instances? A Lesson in Perishable Inventory
AWS describes Spot Instances as an opportunity for customers to bid on unused Amazon EC2 capacity. This unused capacity, in economist parlance, can be thought of as perishable inventory. Perhaps the most mundane examples of perishable inventory can be found in the grocery store. Wander through the produce section and you can often find a table of over-ripe fruits and vegetables at deeply discounted prices. The grocer recognizes not only that the brown spotted bananas can no longer command the same premium price as the unblemished yellow bananas but, further, the economic value of the over-ripe bananas will drop to zero in a short matter of time. Similarly, in another part of the grocery store, one can find a shelf filled with packaged products, rapidly approaching their expiration dates. Once again, these products are deeply discounted to incent price-conscious consumers to purchase them despite the impending product expiration date. Time is of the essence. Once the expiration date passes, these products are no longer marketable and their economic value immediately drops to zero.
Many other categories of products do not share this characteristic of time-based perishability. A retailer of TVs or cars need not worry that the value of his unsold inventory will suffer a marked decline with the passage of a few days. Of course other factors, such as the release of a newer model, may adversely affect the value of inventory.
By contrast, every service-based business is subject to the economic drivers of perishable inventory. In a service-based business, the units of production expire with the passage of time and if unsold, those units of production can never be reclaimed, re-captured, or re-purposed.
An empty hotel room represents a lost revenue opportunity to the owner. As a result, hotel operators now regularly dispose of excess inventory through websites such as Priceline.com. The business model is no different for rental car companies. As a day ticks off the calendar and a vehicle has not left the lot, it represents lost revenue opportunity (with fixed cost characteristics) that can never be recovered. So, from a pure economic standpoint, the company should consider strategies for disposing of this distressed inventory at prices as low as $1 more than the variable cost of the rental.
Such examples of perishable inventory and strategies for disposing of perishable inventory are certainly not limited to travel-related industries. Virtually every service-sector business is subject to the same dynamic. If an exterior house painter is unable work on a rainy day, it represents a day’s income he will never recover. His potential work hours are time-perishable units of production. The dynamic is no different for an attorney in a law firm, an accountant, or a consultant. The unit of production, in these cases, is one billable hour of time. Rarely lawyers or other professionals advertise deeply-discounted rates. However, sophisticated buyers of legal services know that favorable rates can be negotiated when times are slow and the law firm has excess capacity (perishable inventory).
Perishable Inventory in IT Services
IT services are equally perishable. With every tick of the clock, each unit of unused compute, storage, or network capacity is forever lost. It cannot be stockpiled, stored, recovered or otherwise saved for periods of peak demand. AWS understands this concept and seeks to squeeze every last penny from the utilization of its resources.
IT service providers – both internal and external to the enterprise – can learn a powerful lesson from the AWS example. IT in most enterprises represents a massive capital investment in fixed assets – data centers, racks, servers, storage, switches, routers, and network cables. As with any piece of capital equipment – a factory, an office building, an airport, or a printing press – the enterprise should seek to optimize the economic value of the assets by maximizing utilization. However, the reality in IT is that most servers run at an average utilization rate 5%-15% available capacity. Thus, 85%-95% of the company’s compute capacity is ‘spoiling’ every day, like bananas at the grocery store.
Such asset under-utilization would hardly be tolerated in any other part of the enterprise. If a factory ran at 5%-15% of productive capacity, it would be promptly closed and its workload shifted to another factory or outsourced entirely. Yet such inefficiency is commonplace throughout enterprise IT.
There are, of course, solutions. There are strategies in acquisition, provisioning, and consumption that can drive optimal economic behaviors. In other parts of the corporate landscape, such optimization strategies have already been deployed. Years ago, for example, large enterprises commonly purchased corporate jets to shuttle the company’s executives to various business destinations with minimal inconvenience or schedule disruption. Then it was realized that these expensive assets were largely under-utilized. Thus, a new market emerged for fractional jet ownership. Companies like NetJets allows enterprises to lease the amount of jet charter time they will need, optimizing the entire ecosystem of corporate jet ownership. NetJets is able to optimize the utilization of these expensive assets by load balancing across multiple customers. As a result, these customers pay far less on an annual basis for their corporate jet needs. NetJets delivers a utility service and makes a healthy profit en route.
Similarly, utility IT services have emerged, offering enterprises the ability to consume infrastructure, platforms, and software on a consumption-based, pay-as-you-go, as-a-service model. Companies that intelligently incorporate these services into their IT model will gain strategic competitive advantage versus their competitors in the form of agility, efficiency, and operational effectiveness. One strategy that is gaining popularity is to leverage cloud-based utility services to provide peak period capacity. With this strategy, enterprises own sufficient capacity to address baseline requirements and purchase additional capacity from utility compute services to address peak loads. This is analogous to owning a house with only sufficient bedroom capacity to accommodate your nuclear family (baseline) and then renting nearby hotel rooms for the extended family when they come to visit for the holidays a few days per year (peak loads). This approach counters the inherent waste in the alternative approach of owning a 12-bedroom house to accommodate the extended family a few days per year, but which is 90% vacant most of the year.
Projections for the Future: Efficient Markets for IT Services
Amazon’s announcement regarding Spot Instances is an early step in the transformation of IT services to a truly commoditized, utility model. However, it is certainly not an end state. There are many functional limitations of Amazon’s Spot Instances that will preclude customers from embracing the current offering.
And we shouldn't confuse Spot Instances with a true spot market for services. With the Spot Instances model introduced by Amazon, there are thousands of potential buyers and just one seller who unilaterally controls pricing in an effort to optimize the disposal of perishable inventory while ensuring sufficient capacity for its customers of higher-priced Reserved Instances and On-Demand Instances.
In the near future, truly dynamic markets will emerge in which multiple buyers compete to acquire the standardized and increasingly commoditized IT services offered by multiple sellers. As in any highly efficient market, the forces of supply and demand will converge to establish a market-clearing price for compute capacity based on real time market information and economic forces. Rapidly, these markets will move beyond spot market pricing to include futures, options, and a variety of sophisticated derivatives. Once again, companies that recognize the future and prepare themselves to capitalize upon it will achieve tangible strategic advantage.
Implications for Today
The rapidly-evolving market for cloud-based IT services is driving a requirement for immediate change within enterprise IT organizations.
First, CIOs must break down the silos and the internal monopolies that form the cornerstone of traditional enterprise IT. Such legacy structures are the source of redundancy, complacency, and inefficiency within most IT organizations. These structures must be replaced with agile operating models and internal service providers that are forced to compete with best-in-class external providers.
Second, CIOs should lead a drive to start re-architecting applications to take advantage of infrastructure arbitrage opportunities presented by commercial cloud service providers, in general, and spot market pricing, specifically. Traditional, stateful architectures do not support workload portability, dynamic scaling, and the ability to capitalize on real time pricing opportunities such as Spot Instances. This is direction where the market is going. And companies that are prepared to take advantage of it with applications that are architected properly will gain significant economic and strategic advantage over competitors that rely on over-provisioned dedicated infrastructure models.
Third, as enterprises develop their internal cloud capabilities, their internal pricing models should resemble those offered by leading commercial cloud service providers. As enterprises embark on developing their internal cloud capabilities, they will be well-served to offer their internal customers a pricing menu with reserved instances, on-demand instances, and spot instances, with varying SLAs and OLAs. This approach will maximize the value of their internal clouds, driving efficiency and appropriate capacity utilization. Additionally, it will prepare internal users and their applications to fully capitalize on the potential value of the commercial cloud.
Finally, each enterprise today should be preparing strategies to take advantage of the highly liquid IT services market of the future. That future is rapidly approaching and companies that are prepared with innovative strategies and next-generation architectures will be well-positioned to lead their industries.
