A somewhat neglected aspect of the current financial crisis is the huge spike in trading volumes in recent days. In some cases, they have raised to more than double the average of the months (and years) that preceded the crisis. Systems, of course, don’t care if stocks are going up or down; they just need to handle the transactions. And for the most part, the IT systems of Wall Street, both at the banks and the exchanges, handled these unexpected “black swan” peaks.
How did they do it? In the same way that almost every organization out there is preparing for expected and unexpected loads: by over-provisioning systems. In a CNET piece about the 2006 tax-day snafu by TurboTax, an Intuit spokesperson was quoted as saying: “Every year, we take the busiest minute of the busiest hour of the busiest day and build capacity on that. We built our systems to (handle that load) and we went above and beyond that.”
Intuit’s solution to the problem of peaks in demand is typical, but far from ideal. First off, it’s extremely expensive. According to analysts, average datacenter utilization rates are at the 15-20 percent range. That means that on average, 80-85 percent of the organization’s IT resources — servers, storage, networks and software — are idle. This creates a huge financial drain on the company. Second, as the Intuit story exemplifies, it is no solution at all.
Predicting demand is an extremely tricky business. The busiest minute last year is not necessarily a solid indicator of the volume during the busiest minute this year. It is no surprise, then, that major application failures are frequent, from the famous eBay outage in 1998 to the Twitter outages of 2008. And these issues don’t affect just Web companies. The Dow Jones Index failure last year, the AT&T iPhone provisioning fiascoes and many other stories come to mind — all as a result of the inability to scale on demand to handle unexpected peaks.
With the increasing possibility of weakening global economies — and shrinking IT budgets to follow — companies can no longer engage in the expensive practice of over-provisioning. On the other hand, with increased competition and the increased mission-criticality of IT systems to businesses and consumers, failure is not an option. But failure is not relegated to complete down-time. A system’s inability to scale might just result in a slow-down, but this, too, can be extremely damaging to the business.
Consider a recent Tabb Group report estimating that a mere 1 millisecond delay in response to a trading request can cost a brokerage firm up to $4 million. Or a Google study that an additional 500 millisecond delay in returning a “search results” page decreases user traffic by 20 percent.
So what’s a company to do?
A key value proposition of cloud computing is the ability to handle demand volatility. Users can avoid downtime and slow-downs by scaling on demand to handle spikes in application loads, such as the ones we saw in the stock market recently. Because cloud providers, such as Amazon and Google, have massive computing capacity, a company can essentially “borrow” these resources.
The notion of on-demand computing completely changes the economics of IT, as well. Because public cloud services, such as Amazon EC2, GoGrid or Joyent, typically offer utility pricing — the notion of only paying for resources only when they are used — companies can tap into these resources solely to handle spikes in demand. As an example, at my own company, GigaSpaces, we did a back-of-the-envelope calculation showing that with the current pricing of Amazon EC2, we are better off using machines in Amazon’s cloud if we expect these machines to have an average utilization rate of 70 percent or less. Given the industry utilization rates noted above, it is quite clear why the idea of cloud computing — if for only this reason — is compelling.
Joe Weinman of AT&T captures this concept nicely in a GigaOm post entitled The 10 Laws of Cloudonomics:
Cloudonomics Law #2: On-demand trumps forecasting.
The ability to rapidly provision capacity means that any unexpected demand can be serviced, and the revenue associated with it captured. The ability to rapidly de-provision capacity means that companies don’t need to pay good money for non-productive assets. Forecasting is often wrong, especially for black swans, so the ability to react instantaneously means higher revenues, and lower costs.
Doing More with Less
Although recent surveys don’t show a significant expected drop in the growth of IT budgets for 2009-2010, many of these surveys were conducted before the recent financial fallout, and its full impact might not be reflected in them. In any case, it is clear that one of the top priorities of CIOs is to cut costs. This is especially true in industries such as financial services, automotive and airlines that were hard-hit by the current crisis and high oil prices.
Cloud computing offers the possibility of cutting costs, while still increasing computing capacity and introducing new products and services with a rapid time-to-market cycle. Virtualization technology a la VMware and Xen already has started this trend of server consolidation. Cloud computing is the next step in this evolution.
Just Doing More
Although I’m not suggesting that it was the crux of the current crisis, one of the questions that has come up recently is why Wall Street’s massive investments in value-at-risk analysis system did not curb the downfall. We have not heard (at least not yet) that these risk analyses were blinking with red lights and were ignored. In an HPCwire piece entitled “The Quantitative Models Tanked Too,” editor Michael Feldman tackles this issue. Although not the only explanation, one of the issues raised in the article is the fact that the models used were over-simplified. Feldman explains that “in some cases, limits in computational power made these simplifications necessary so that the valuation models could be run.”
Done right, cloud computing offers nearly limitless computing power. Had they used a cloud service such as EC2, and software that is built to scale on the cloud, the quants on Wall Street could have easy, cheap and on-demand access to massive computation power.
Almost every industry can benefit from such low-cost and elastic compute capacity. With more rigorous analysis and automation, cloud computing can enable whole industries to move from faith-based to fact-based decision-making.
But What About the Technology?
In the frequent talks and writing I do about cloud computing, a recurring question is “How do we deploy our existing and new applications in a cloud environment?” Are there any unique technologies that need to be applied to take advantage of the on-demand power of cloud computing? The answer is “it depends”. Mostly stateless applications, such as simple Web applications, can be quite easily ported to cloud environment. After all, these are simply standard servers that are accessed via the Internet.
But more sophisticated applications, such as the data-intensive VAR analysis ones used on Wall Street, as well as various transactional Web applications, require some adjustments. Traditional applications servers, such as JEE app servers from IBM, Oracle and JBoss, won’t cut in a cloud environment. They tend to have central bottlenecks and are rigidly “wired” to the physical servers. Such applications require elastic application servers that can go grow and shrink on demand, handle fault-tolerance transparently and be easily moved around without any downtime. Fortunately, there is a new generation of application servers that fits exactly those requirements, including the product made by my own company.
On-Demand Is Not Just About the Technology
There is another aspect of on-demand computing that is key to its success: both the hardware and the software need to be provided in a “pay-by-the-drink” usage-based model. Typically, this would be some sort of CPU hourly pricing for computation power, data size pricing for storage and memory and so on. Unless software providers offer true hourly pricing like that offered by GigaSpaces or Red Hat (whether you’re using it externally or as part of an in-house cloud), theirs is not truly a cloud offering, as I have written on my blog.
Geva Perry is general manager of cloud computing at GigaSpaces Technologies and a popular blogger and speaker on cloud computing. His blog, “Thinking Out Cloud,” can be found at http://gevaperry.typepad.com.