The True Value of Cloud Computing
Two weeks ago I had the honor to be invited to participate at a small panel at Structure09 in San Francisco CA next to Matt Mullenberg founder of WordPress, Robert Miggins VP of Business Development at Peer1 and Geir Magnusson Jr. consulting architect at the Gilt Groupe.
The topic of the panel was about the effects of running Cloud Computing on commodity hardware, but somewhere along the conversation, somebody asked a question that prompted a bit more explanation of the general effects of cloud computing.
See, most people are confused about the true benefits of cloud computing; often citing the cost of running a server from a cloud provider as being less than a traditional dedicated server from a traditional hosting company like Server Beach or alike. The fact of the matter is that running a server image from a cloud provider like EC2 is almost twice as expensive as it would be if you had a comparable dedicated server from a traditional hosting vendor. The reason is because the true value of Cloud Computing, is not in the cost of running a particular server in comparison to its traditional counterpart, but in the flexibility and elasticity that one gets to instantly scale up or down an application at times of high or low demands. For these capabilities, we gladly pay a premium.
The problem is that 95% of web applications (my personal estimate) are not designed to be able to take advantage of these properties and for a good reason. IT IS NOT TRIVIAL. Having the power to instantly scale up or down an application to only consume and pay for the resources that are required at that point in time is an amazing capability and if done correctly it WILL be less expensive than running on regular hardware from a traditional hosting vendor since you don’t have to run at over capacity all the time only of those peak times, but taking advantage of that power is harder than most people think.
Careful design and planning is required when building the application to facilitate this elastic scaling, but that is why companies like my own exist. In my opinion (and thankfully I’m not alone on this one), the future of software is on the web, but this new breed of web applications or SaaS Applications have many particular requirements that are key for their success that truly complicate the requirements to building the applications. Things like a true multi-tenant application, customer provisioning, application metering and billing only to mention a few are a must in order to succeed and are not trivial to design.
Cloud Computing is extremely powerful on its own because when done right, it can provide great financial rewards as well as operational rewards but understand that the hardware layer alone is merely a tiny piece of the puzzle. The true value of Cloud Computing will be much more appreciated when it is coupled with a platform layer like SaaSGrid that abstracts away the hardware layer and provides a unified foundation to enable the elastic properties at the application layer without the explicit interaction of the application developer.
What are your thoughts? Are you using Cloud Computing strictly for hosting or are you taking advantage of its elastic properties? What do you think about SaaS Application Servers like SaaSGrid?
If you’d like to mingle with others in the SaaS space, the SaaSBlogs group on LinkedIn now has 2280+ members and is growing every day; make sure you’ re not missing out and join today!






Hi Abe,
I think you’re right; most people want to use cloud computing without knowing its full capacities before. Companies should research before and see what is best for them; maybe they don’t need that service at all. In my opinion, applications may take advantage of cloud computing too, specially mobile ones.
Our company just developed a cloud-hosted application. You can take a look at it here: http://personalradiostation.cloudapp.net/. If you like it, you can help us vote for it at the new CloudApp() Contest: http://www.newcloudapp.com/vote.aspx. The app is listed at the end of the page, under the name of Omar Del Rio.
Rewards,
Ana Rodriguez
ana.rodriguez@sieena.com
Dear Abe,
Very insightfull and neatly put across.
So where is all this leading to and what are the business imperatives that these solutions are addressing???.
I think some where down the line there will be an effort to orchestrate all lean solutions (SaaS, Cloud Infra Leverage, BPO Services etc) out there to build solutions that can provide “Managed Services” which are commodatized to a large extent.
The true value of Managed Services would to:
1) Provide complete “Line Function” Services which are lean and reliable, so that a Business can focus on and leverage investments vis-a-vis their “CORE BUSINESS”
2) The DNA of “Managed Services” will prompt it to continuously innovative and look for ways of maximizing resource leverage, thus turning itself into a extremely “Green Global Solution”
I strongly believe that all the existing lean solutions will evolve and get there.
Regards
Vinil Naidu
Director and CTO
Navati IT Services
Great post Abe!
I’d like to emphasize your explanation when it comes to elastic scaling.
Elasticity in scaling is SUPER important not only in the value that is obtained operationally (which you clearly defined), but in the speed with which that value is realized – IMMEDIATELY. The concept of capacity planning is no longer a major concern, because in the world you describe – where applications reserve only the resources required to complete current processing tasks – you can literally start with the most trivial of infrastructures/resources needed to get your app up and running. You scale as you grow instead of pre-empting growth with resources you may not use to their fullest extent until some day further down the road (assuming growth continues).
It’s value in this elasticity concept that greatly reduce SaaS deployment capex investments – which can be a significant hurdle for SaaS initiatives (especially SaaS startups).
In terms of scaling up or down, how do you define “instantly”?
Hi Scott,
Assume the following scenario:
Say you have an application that allows your users to create a photo album and once the album is created they can approve it and send it out to print via your service.
The act of creating the album happens via a light weight process in the client, but once the album is approved, it needs to be rendered in the server and sent out to the printing press in high resolution.
The act of rendering the album is a very compute intensive operation and it taxes the server quite a bit so if somebody decided to approve their album and you started processing it in the server immediately, your server would come to a crawl and your user’s experience would be degraded.
A different approach could be to wait until midnight to start processing the albums but then again you would still degrade the user experience of the users that are connected at midnight and if god forbids you become successful and need to process more than a few albums at midnight, you might not have enough time to process them.
One last approach could be to have a dedicated server or group of servers that are just responsible of processing your albums; in this approach you don’t degrade your user’s experience but the problem with this approach is that the servers would normally be idle in times of low demands wasting a big chunk of money and resources.
Now think of this different approach: Instead of processing the albums in your server or group of servers, you could fire up an EC2 instance as soon as you need to process an album and then tear it down after the processing of the album is complete, essentially you can process a really large amount of albums at a very low cost for just a few pennies that would cost to run the EC2 instance for the duration of the processing of each album.
It only takes a few minutes to fire up an EC2 instance rather than having to wait till midnight so that way you can guarantee your customers that the albums will be sent out within a few hours of their order.
The scenario I’ve outlined is only one of many cases where you could have intelligent use of Cloud Computing to reap financial rewards as well as operational rewards but as you can see, it requires careful planning from the application developer to make this happen.
Hope this helps to understand what I meant by instantly!
Cheers,
Abe
The operative phrase here is “It only takes a few minutes to fire up an EC2 instance…” That is my point. When we in the software development industry use the word “instantly” customers make the inference of “immediate.” They assume that if a server can handle 100,000 users and 200,000 users show up, then the second server will be added in less than a second so the user experience will be unaffected. In practice it can take as long as 42 minutes to add a server if the type of server being requested is exotic enough.
Scott,
That is the point I was trying to make with my article. The usage of Cloud Computing alone is not sufficient and it is only a tiny piece of the puzzle. Clearly as you’ve stated it is not sufficient or even useful in many scenarios without a lot of work from the application developer; what I’m saying is that most of the work if not all can be abstracted away from the developer by platforms like SaaSGrid and that it is important not to confuse what the main value of Cloud Computing really since it certainly isn’t the price.
Cheers,
Abe
VERY articulate Abe. We are in the SaaS / S+S hosting space and spend alot of time and energy trying to keep ahead of the curve in terms of allocation of hardware and maintaining the highest efficiency of the hosted environments we provide for our partners and their clients. All to provide users a seamless experience on our network and infrastructure. As the processes and technologies evolve, we plan to continue investing in order to provide the scalability and “elastic” or “seamless” experience folks are looking for in a SaaS / S+S solution. Keeping expectations realistic is the watch word when talking with prospects about what they can expect today!
Thanks and keep up the good work. Joining your LinkedIn group now!
Well put, Abe. I recently wrote about CC on my blog at http://blog.kermaani.com, although it is from a different angle.
Kaamel
TypI agree in that companies should take a look at what they need and the functionality of the current applications before implementing cloud computer.
I believe everything that is done is for the future and the technology is going to keep on changing and changing
http://bygsoft.wordpress.com/2010/01/09/cloudy-combo-google-app-engine-and-amazon-s3-combo-pack/