Musings on why Cloud Computing will prevail…

suhas kelkar headshot

Today’s post is a guest post by Suhas Kelkar. Suhas leads the Innovation & Incubation Lab at BMC Software India. Prior to BMC he was the Vice President of Product Management at Digite, an enterprise software company in the field of Project Portfolio Management. See his linked-in profile for details.

In the recent Hype Cycle for Cloud Computing 2009 special report by Gartner, technologies at the ‘Peak of Inflated Expectations’ include Cloud Computing! (For description of five phases of Hype Cycle look here) This means that Cloud Computing is on the verge of entering the “Trough of Disillusionment” phase. Many technologies have been unable to come out of this dreaded trough where they fail to meet expectations and quickly become unfashionable. Articles such as “Could the cloud lead to an even bigger 9/11” clearly indicate that Gartner’s analysis is right and that cloud computing indeed has reached the peak of hype!

This article has my musings on why cloud computing will eventually come out of this phase and would reshape the way we run business.

Hype Cycle for Cloud Computing 2009
Hype Cycle for Cloud Computing 2009

I had an opportunity to attend VmWorld 2009 conference. During the course of this conference, VmWare announced its latest initiative, vCloud. vCloud is essentially using VmWare’s virtualization technology to create an ecosystem of cloud service providers. With this initiative VmWare joins already crowded space of public cloud providers such as Amazon, Rackspace Cloud and Savvis. Out of all the exhibitors at the VmWorld conference, almost everyone was trying to get on the bandwagon of Cloud Computing. And this was not even a Cloud Computing focused conference! The more you look into Cloud Computing the more you feel like it is indeed the next big thing after the internet gold rush of 90s.

All this hype for Cloud Computing feels like a déjà vu. Turn the dial few years ago and the area of Software As A Service (SaaS) went through very similar transition. After SaaS reached the trough of disillusionment skeptics were raising doubts. Many argued that they would never consider putting their competitive data (CRM) in a software system outside of their corporate networks. Salesforce had to fight an uphill battle as it tried to establish its SaaS products. However the value proposition of SaaS, in terms of zero install and pay-as-you-go was too attractive to ignore. Today SaaS is the architecture of choice for many enterprise software products and last time I checked Salesforce is sitting pretty at a massive market cap of 7.13 billion dollars!

Let’s look at the benefits of Cloud Computing,

  • Lower Costs – OPEX not CAPEX: Cloud Computing avoids capital expenditure (CapEx) on hardware, software and services by renting it from a third party provider (such as Amazon). Consumption is usually billed on a utility (resource based like electricity) or subscription (time based, like a monthly cable subscription) basis with little or no upfront cost. You pay as you go and pay for what you need. This seemingly straight forward benefit has deep impact on business models and strategy.
  • Self service and Agility: Provisioning a server used to take days if not weeks. With Amazon you can procure a server on their public cloud in minutes! Users can generally terminate the contract at any time (improving ROI and eliminating financial risks), and the services are often covered by service level agreements (SLAs) with financial penalties.
  • Focus on your business: Cloud computing abstracts away underlying resources (server, network and storage) and management of it so that you can focus on your core business. Win-win for Providers and Consumers.
  • Cloud Infrastructure and services are by default multi-tenant enabled, with multiple customers sharing resources and the costs associated with these. Providers run centralized infrastructure at low cost locations and make use of expertise of providers in terms of utilization and efficiency of infrastructure. Providers benefit with increased efficiency due to economies of scale and are able to provide the same service at lesser costs to happy consumers.

  • Elastic Scalability: Hosting your applications on Cloud Infrastructure enable dynamic (“on-demand”) provisioning of resources that can be done at near real time, without having to waste server resources engineered for peak loads. This enables small business to start offering their services on the web with low entry barriers and then scale as and when their load demands are higher.
  • Consider for example that you want to start a small web based business selling toys. Your business plan calls for exponential growth with number of customers ramping from few hundred in the first year to thousands in 2-3 years to million plus in 5-7 years. Ofcourse this plan does not even include wild fluctuations during peak holiday seasons. Until today, planning for this type of scenario involved lot of upfront costs that created huge barriers of entry for start ups. Now with cloud computing and public cloud infrastructure, such small companies can dream of doing exactly what they want to do and provides them with unlimited elasticity!

Similar to SaaS success story, it will be the benefits of the “cloud” that will eventually win over the skeptics due to underlying benefits. Of course an important factor would also be for an eco system to evolve in a timely fashion. One of the reasons why SaaS was successful was the fact that an entire ecosystem made itself available that rendered well to the SaaS Model including Web Standards (SOAP, WSDL, UDDI) and architectures such as AJAX.

Similar to the platform wars of the eighties (followed by browser wars of nineties), Cloud Computing is currently going through a war with each player trying to establish itself as the destination. Some efforts have started to promote interoperability and openness of cloud. Open Cloud Initiative is one such example. However it remains to be seen how the industry as a whole matures and adopts such efforts…

Cloud computing is here to stay and will succeed as a concept eventually. It has the power to establish new business models and change existing processes. More will have to be written about what does it mean for enterprises of tomorrow to manage their businesses in cloud. Do provide feedback via your comments if you would like to hear about it more…

See also: Suhas’ previous PuneTech article: The Changing Landscape of Data Centers.

Reblog this post [with Zemanta]

17 thoughts on “Musings on why Cloud Computing will prevail…

  1. Suhas, this is a good article. Your example of elastic scalability will ring a bell with most web based startups.

    It would be good to hear some objections against using the cloud in this context. Are there any issues that companies face? Does it remain compelling as the business/usage scales?

  2. Chetan,

    Some of the issues with cloud computing (from whatever little experience I gathered from Amazon.)

    1. Vertical scaling is difficult. Generally, databases scale well vertically (more power to single box) than horizontally (multiple less capable boxes). If you want a powerful box on cloud, it’s not easy to get. Amazon’s high end offering has 15GB RAM & 8 cores. That may not be sufficient if you want to run a massive DB.

    2. Disk performance tends to be low. Since, for each virtual instance, the storage is carved from a big storage box, the data is travelling over wires. Not having a local disk can be major drawback for IO intensive application.

    3. For something like Google App Engine, there is a fear of lock-in. You create application specifically for that environment which raises the exit barrier.

    Will add more if I recall.

  3. The things that I have seen go against Cloud Computing initiatives especially in larger enterprises have been
    1. Currently Cloud Computing is tied to the Provider (Amazon, Google, Azure)
    – Till there is a standard or some sort of portablility across platforms this will always come up as an issue
    2. Maturity of the Cloud Space/Platform – with so many startups providing ‘Cloud Infrastructure’ , Enterprises are wary of Cloud Computing providers changing their Business Models midway or even going out of business.
    3. Licensing and Portability of Licenses – The Open Source on Cloud is great and is probably the most dominant of models that exist today however that might not be true for a lot of enterprise class customers. This could be a potential headache that IT Departments dont know how to deal with in a cloud scenario
    4. Migration of Existing Applications / Deployments to the Cloud : Most enterprises have legacy application that were not build with the concept of Cloud computing and may need to be retrofit to allow Cloud Computing benefits, this will always been a point against migrating to the cloud.

    Overall a few issues but no real show stopper in my opinion.

  4. @Shashi, with your point #1, what I guess you are really saying is that if you go for cloud computing, then be prepared to pay the cost of horizontal scaling (in terms of db/application architecture and the associated coding). In other words, the elastic scalability does not apply to your database unless you’ve already horizontally partitioned it.

  5. @shashi, @navin I think there are two sides to it:

    1. Vertical scaling – I think for most of the applications 15GB RAM for a DB is also fine. And if it crosses 15GB, it will most likely cross 64GB also. Moreover, the cost of those 64GB boxes is so high that it may be cheaper to build horizontal scaling early on.

    2. Slower IO – This can actually be more important. Because it means even if you scale horizontally, you’ll see more latency for IO bound applications. It calls for different architectures where caching has to be aggressive and the writes have to be delayed. This can be a significant development cost.

    In my opinion, both the problems are pretty much solvable in a very standard way and have to be solved anyway at some point of time (if you have a successful application).

    I don’t even believe that vendor lock-in is as big a thing as it is made out to be. In fact, in the cloud, it’s easier to change the vendors because you don’t have to move any physical boxes from one data center to another.

    Last weekend, I moved Trailofview from slicehost to EC2. It was pretty straightforward.

    However, I am not sure if the prices remain attractive if the usage is high (especially Amazon services). Someone will have to do some number crunching to find that out.

  6. Hi Suhas,

    As you point out, one of the key reasons for SaaS being successful was the universally accepted SOA Standards (SOAP, WSDL, REST).

    I think in the cloud world too these standards are the under pinnings of a successful strategy. The various public cloud providers offering REST/SOAP API to enable their functionality and high degree of automation e.g. Amazon, Rackspace, Sun Cloud API etc.

    Besides this, applications built on SOA principles (like interoperability, statelessness, etc) will find it much easier to take full advantage of the elasticity offered by cloud computing – as architecturally it is much easier for them can scale up or down.

    Regards,
    Abhijit

  7. Manas,

    I don’t have any hands-on experience with horizontal scaling, but I think, it’s not trivial. And you don’t want to spend time at the beginning working on a future problem.

    The vendor lock-in kicks in if you are using platform specific tools. For example, if your application relies on Amazon SimpleDB or Queueing Service, the switch is not going to be as simple.

  8. Shashi,

    Horizontal scaling is non-trivial in the RDBMS world. What I meant to say was 15GB is still a lot of RAM. I think there would be very few applications which would require more than 15 GB and less than 64 RAM upfront.

    SimpleDB or Simple Queue are different. I won’t put my data on SimpleDB or Simple Queue. I see them more as SaaS delivered from the cloud rather than a fundamental attribute of “the cloud”.

    But again, S3 is not so bad.

  9. This is a great discussion with very informative inputs from all!

    The above discussion on Cloud pros/cons is heavily centered on databases. Has anyone run compute-heavy apps on the cloud? What is your experience? (I am expecting somewhat different weightages regarding IO speed, machine CPU speed, storage, RAM etc.)

    Regards,
    -Chaitanya

  10. The transition from traditional IT to cloud computing is vaguely similar to the transition that traditional manufacturing made to component outsourcing and JIT.

    The essence is same: You have less and less inhouse and more and more being delivered over the network (in case of JIT or outsourced manufacturing, the ‘network’ was roads, seaways and airways).

    So the experience says that cloud computing is here to stay just like JIT did. Not to infer too much from this parallel, but the apps that will get the most return from the cloud are the apps that will benefit from large global economies of scale, that are common to literally all the business world, and need some customization, but not a lot (just like cars!). So financial apps, expense report apps, recruitment apps, and similar stuff should already be moving to the cloud to realize major economies of scale across large as well as small customers. Somehow I see salesforce, IBM, and Oracle doing this better than amazon or Google. Think captive customer relationships and sweet transition deals.

    The parallel also says that if network transport becomes more expensive, end user prices will go up. e.g. If power and bandwidth cost continues to go up, we can expect higher prices on the cloud and flexible contracts which allow vendors to increase prices quickly. However this may happen in the long term, not now.

  11. Sorry to jump in late as I was away from connectivity (yes, such places still do exist!:) Too late to jump on some of the questions but great discussion.

    @yogesh, I like the JIT analogy.

    @manas, Other obvious issues with Cloud Computing in addition to what you already outlined are, data security, uptime and SLA compliance, governance and change management.

  12. Hi All,
    Just happened to lend on this page while casual browsing. Really interesting insights from all around Cloud Computing.

    I think the capex/opex argument is very luring for any CIO to atleast consider looking at SaaS/Cloud based applications.

    However, fundamentally the business needs to answer the question as to “what value do I gain by owning an asset?” If the application/software/process under consideration does not translate into a strategic differentiator for a Company, it may make more sense to transfer the asset to someone else’s book.

    In fact, besides salesforce.com there are other success stories in this space such as ADP (payroll), FieldGlass (labor procurement) etc. who have rolled out successful business models within their area of specialization.

  13. Amazon’s EC2 is addressing some of concerns I had raised.

    They have launched new high memory instances with 34 & 68 GB RAM with lots of CPU power thrown in.

    They are lowering the barrier to use their DB service by allowing easy MySQL import/export.

Leave a Reply to Yogesh Pathak Cancel reply

Your email address will not be published. Required fields are marked *