This article analyses the following issues:
- Cloud Computing seems to be all the rage. Press coverage is all over the place, and the consensus on the part of quite a few people is that IT organizations will be outsourcing portions or all of their IT to one or more cloud vendors.
- Virtualization seems to be joined at the hip with Cloud Computing. It appears that virtualization is one of the key enabling technologies of cloud computing - providing cloud vendors with the agility and fault tolerance that makes them credible candidates as a provider of IT services.
- During his keynote at VMworld on 9/16/2008 VMware CEO Paul Maritz demonstrated moving load from an internal instance of an application to an instance living in a cloud based upon degradation in response time.
Is Cloud Computing really anything more than a bunch of Vapor?
By definition, clouds are vapor - is cloud computing any more tangible and credible? Joe Jessen the Director of Professional Services at Gotham Technology Group, a leading VMware and Citrix VAR in the New York/New Jersey area says, "Cloud Computing is very similar to what we were doing in the 1990's - only back then we called it being an ASP (Application Service Provider). Outsourcing applications and data was not compelling then - and in most cases it is not compelling now".
ASP's as the place to which Corporate IT outsources their key business applications and transactions obviously failed. The failure of the numerous companies that tried to become ASP's almost brought down the entire Citrix VAR channel as a number of high end VARs banded together to form FutureLink which ended up going bankrupt. To this day there are quite a few high end Citrix VARs that were reconstituted out of the FutureLink rubble. So is Cloud Computing another one of those things like ASP's and .com's that have no inherently attractive business model and are simply destined to cost their investors a lot of money and end up bankrupt or is it the next great application of the Internet?
To answer this question I think we need to break it down into two sub-questions:
- What, if anything is different and better about Cloud Computing than what was the case with ASP's?
- No matter how much better or different the Cloud is than an ASP offering, would an IT executive entrust a cloud with their organizations business critical applications, transactions, and data?
What is Different or Better about Cloud Computing?
The basic idea behind an ASP offering was that the ASP would "lift" one or more applications out of the internal IT infrastructure and run them on a hardware and system software infrastructure that was more or less identical to what the application ran on when it ran internally. In most cases, the servers were dedicated to each application, or ASP customer, and sharing occurred mostly at the backbone network of the ASP. The proposed efficiencies were that the ASP was simply better at IT Operations than was the internal IT department because it was the core business of the ASP to be good at IT Operations, whereas this is not the case for most enterprises. In my opinion, the ASP model died for two reasons:
It turned out to be very hard for the ASP to provide the same or better service levels for the application than were provided by the internal IT organization. Often this was because once the application got moved, there was now an additional WAN in place (often the application's user interface published over Citrix), which ran over the Internet, and for which no one could take responsibility.
It turned out for a variety of reasons that it was not really cheaper (or cheaper enough) for IT to accept the loss of control of an application and the degradation of its performance in return for the cost savings. A little cheaper and a little less reliable simply did not cut it.
Cloud Computing on the other hand is characterized by the following attributes:
- Most Cloud vendors are using virtualization of the server resources, and many are using virtualized storage as well.
- The business model of today's Cloud vendors is most often based around pay for what you use. So you can have a VM present in the Cloud and pay for storing it, but not pay for using it until you actually activate it.
- By utilizing virtualization, the Cloud vendors promise more reliability and faster fail-over than the ASP's were able to.
- There will be much more sharing of resources occurring within a Cloud among different customers of the Cloud vendor than ever occurred within an ASP. This helps the Cloud vendor achieve a cost model that the ASP's were not able to achieve.
Can you Trust the Cloud?
Even with the important differences between the ASP model and Cloud Computing outlined above, I do not think very many IT executives are going to find this model compelling. Here is why:
- Cloud vendors promise great reliability and failover. However most Cloud vendors do not use VMware, but rather some of the open source alternatives for which some of the high end management capabilities that exist in VMware are not available. This calls into question how good they really can be at availability.
- The issue of the network between the Cloud vendor and the Enterprise has yet to be solved. No enterprise is going to make user experience and transaction performance for business critical applications subject to the vagaries of the public Internet. If you solve this problem by paying for a dedicated network to the cloud, you substantially eat into some of the cost advantages of the cloud.
- The higher degree of sharing in the Cloud (VM's from multiple customers on one physical server and files from multiple customers on one storage array or even LUN) is in my opinion a deal killer for many enterprises. Would you agree to have your VM running on the same server as some other company's VM, and not even know who they are or what their application is? I think not.
- The Cloud vendors have (so far) utterly failed to provide a way to reconcile the issue of multiple customers on one infrastructure with the need for end user experience and service level management for each individual customer, application and end user. If your transactions are slow and your user experience is bad, there is no way for the Cloud vendor to tell you if this is caused an issue in your application or configuration, or if you are being impacted by someone else's load upon the servers or the storage. No matter how much cheaper and more flexible the Cloud is, if the Cloud vendors cannot overcome this limitation, I simply do not see enterprise IT moving any portion of their business critical load to these Clouds.
Virtualization and VMware
At VMworld, Paul Maritz, the new CEO of VMware provided the following demonstration during his keynote:
- He showed AppSpeed (the product that came with the B-hive acquisition) discovering a web/database application (Sugar CRM), discovering the layers of the application (web server and database server), and then discovering the transactions within the application.
- He set up a service level rule that if response time for any transaction was over 4 seconds, that a dynamic provisioning decision would be made.
- Response time went over 4 seconds, and another instance of the application was activated in a third party cloud. The VMware load balancer then routed traffic over to this new instance of the application, sharing the load and reducing the response time.
- This was pitched as a brilliant idea because it allowed the IT organization to use virtualization to leverage the pay by the click economics of the Cloud instead of building our redundant capacity internally.
I see a number of problems with the scenario put forth by Paul Maritz in his keynote:
- The AppSpeed technology is indeed impressive. It correctly discovers the layers (components) of web applications that have back end Oracle or SQL Server databases. It traces transactions within the application from the web layer through the resulting transaction to the database and back again. I wrote a detailed product review of the B-hive product which is here on DABCC if you would like to learn more about the product details. However, AppSpeed does not support all applications, and even for the ones that it does support it does not support them in the same way. Applications that have proprietary front ends are not analysed at the user interface layer the way web based applications are - the only view into their performance is to look at the database transactions. Therefore it is not possible to construct a consistent set of rules within AppSpeed that would work for all applications or even the applications that AppSpeed supports.
- Assuming for a moment that all you have is web based applications with SQL and Oracle back ends, there are major issues with the assumption that when response time is slow that you ought to add more VM's to the application system. There are a thousand things that could cause any set of individual transactions to slow down in an application, and adding capacity automatically is just not something that I think people are going to do.
- The idea that the extra VM's would be in a third party Cloud is even more far fetched to me. This presumes that IT management is going to get over all of the service level issues mentioned above. It assumes that IT management will agree to let a new WAN get into the middle of a business critical application. It assumes that IT management will agree to let business critical transactions be subject to a compute environment where no one can measure or guarantee user experience or transaction performance. The idea of bringing up another instance of the application system that contains any kind of near real time data, assumes that somehow the data for the clone in the cloud has been made to stay in sync over a WAN that is either free and unreliable (the Internet) or a WAN that makes the cloud an expensive proposition. The idea that the VM's could easily be copied from the internal VMware infrastructure to the cloud assumes VM portability to the Cloud. This pretty much assumes that the Cloud vendor is running VMware. Most of them do not today (rather they run open source virtualization products like KBD), because they need to keep their costs down to be competitive.
- At this point in time, I really do not think that the economics of the Cloud are going to be appealing to IT management. If you start paying the cloud vendor whenever load gets shifted to the Cloud, which occurs whenever AppSpeed senses slow response times, you are setting yourself up to pay for Cloud time with no control over the cost, and no upper bound on the cost. No IT executive that I know is going to sign up for this.
Conclusions
I think the example of how to use VMware and an external Cloud that was given in Maritz's keynote was totally contrived and totally lacked in credibility. I do not think that VMware ought to focus at all upon being a vendor of third party Cloud infrastructure. Let the open source guys kill each other over this, and then ensure that VM Guest portability really does exist to whatever emerges as the Cloud infrastructure. I also do not think that AppSpeed is on target for what the IT Operations folks who manage virtualized applications really need. I think IT Operations needs one number that measures the true performance (not resource utilization) of all applications in a consistent and automatic way. The transaction response times that AppSpeed provides are great for the people who support that application, but they are overkill for the Operations folks who do not know the internals of the application to any degree.
If I have something nice to say about the keynote it is this. I think the whole Data Center OS strategy is a great strategy for VMware. It correctly focuses VMware where VMware should be focused which is upon driving down cost and improving agility through virtualization of ever more of the internal IT infrastructure. Hardware partners from Intel all of the way down to the storage folks are anxious to work with VMware to provide joint value to enterprise IT shops. There are plenty of opportunities to drive differentiation and value through the Data Center OS strategy to enterprise IT customers. VMware should simply treat the cloud as something for the marketing people to talk about, and ignore it until it becomes a lot more real than it is.
Corporations should look to leverage virtualization technologies at the storage, server, desktop and application layers within their own infrastructures. With proper resource management and provisioning tools customers will be able to leverage the power of cloud without going outside their own walls. Hopefully VMware will realize where its bread is buttered, and focus entirely upon its core constituency - Corporate IT.
Bernd Harzog
CEO
Application Performance Management Experts
bernd.harzog@apmexperts.com
http://www.apmexperts.com/
Article Tags