When does cloud computing make sense?

There are many scenarios when it makes business sense to utilize a cloud approach.  I want to discuss two scenarios that I believe are particularly compelling for using cloud computing: new site launches and cyclic traffic. 

New Site Launchesclouds

Cloud computing is very compelling for new site launches, whether they be websites for a small startup company or a large enterprise. 

Consider first a startup company.  They might not have funding to invest in a data center or a lot of hardware upfront.  With cloud computing, their data or services can be hosted in the cloud, so they have almost zero upfront infrastructure cost. 

Also, consider the phenomena of “slashdotting”.  Slashdot.com is a geek news site which occasionally highlights startup companies.  When Slashdot links to the startup website, this drives Slashdot’s high volume of users to the startup site, which usually is not equipped to handle that level of traffic.  Thus the site goes down, and the new startup both looks bad and loses a huge opportunity for publicity or revenue.  Thus, “slashdotting” came to mean a high-traffic site linking to a low-traffic site, driving a ton of new traffic to the low-traffic site, and bringing it down.  This phenomena can be avoided with cloud computing; simply change a setting to turn up the number of instances of your services that are running and you can handle an increased load in traffic.  If your popularity wanes later, you can turn the dial back down and pay less. 

Cloud computing can also be attractive to large enterprises who want to be more agile in their site launches.  Procuring additional hardware is a long, painful process at most companies.  Developing ideas and pushing them to the cloud quickly allows you to test new ideas in the market; you can also painlessly end an experiment if it isn’t going well with no regret over investments made in infrastructure. 

Cyclic Traffic

There are many sites that have regular peaks and valleys in their traffic.  Think of retail stores that experience a spike in traffic around the holiday season.  Think of tax preparation sites which spike in early April (in the United States).  Think of sports sites which have peaks as fans pick fantasy players and check out stats online, and have valleys during the off-season. 

Now, the disadvantage is that these sites have to plan for the maximum load that they can expect, to be sure that their servers can handle the traffic.  However, many of these machines may be sitting idle during the “valleys” in each of the above scenarios, but they still have to pay to cool them, maintain them, patch them, etc.  On the other hand, if they don’t have enough hardware, they may miss out on revenue or exposure during the “peaks”.  So it’s a tough balancing act. 

DominosPizza2 A real-life example is Domino’s Pizza.  Their traffic had an interesting phenomena: on one day of the year, the traffic was 50% higher than the second-busiest night of the year.  That day, of course, was Superbowl Sunday.  They had to build out their data center to support the Superbowl Sunday traffic, and the other 364 days of the year, a lot of machines were sitting idle.  Of course, they still cost money to be maintained, patched, cooled, etc.  Cloud computing was the perfect solution for Domino’s Pizza because they can turn up the number of service instances running on Superbowl Sunday to handle their heavy load, and turn it back down the following day (and pay less money the rest of the year).  They are currently in the process of moving their Java/Tomcat solution to Windows Azure (yes, Azure supports Java…it is highly interoperable). 

‘We have daily peaks for dinner rush, with Friday night being the biggest.  Super Bowl, however, has a peak 50 percent larger than our busiest Friday night…Windows Azure allows me to focus on customer facing functionality, and not have to worry about whether or not I have enough hosting capacity to support it.’  – Jim Vitek, Director of eCommerce

The most atomic unit in Windows Azure is an hour, so they could even scale up during the lunchtime and dinnertime hours, and scale back down during the interim (ignoring the problem of doing that across multiple time zones, which doesn’t make sense for a global company like Domino’s). 

In general, system administrators usually worry about hardware procuring (when they run out of capacity) and better infrastructure utilization (when they have excess and idle capacity). With cloud architectures, they can manage resources more effectively and efficiently by having the applications request and relinquish resources only when they need (on-demand).  Finally, you only pay for what you use.