The most exciting thing about this world is its ever changing quality.

Thursday, June 04, 2009

Cloud, cloud and cloud

Cloud computing, so called the third revolution of IT industry. It is really interesting to see how the research initiatives rolling into commercial world producing one generation after another products. I remember the first time I came across cloud computing is about 8 years back a buzz word gave me very fuzzy warm feeling but meant absolutely nothing at that time. Here we go, truth to be told, we are really good at exploring! In fact, many similar or related concepts have been around for quite a while, i.e. cluster, grid computing, SaaS, etc. It is good to see all these confusion names finally start to make sense to my simple mind :-).

Based on virtulisation or distributed file system, many organisations took the initiative by allowing the access of applications from any place where you have a browser - moving from desktop-oriented client side application to services supplied from server side plus a lightweighted UI presentation, most likely via a browser. I guess companies such as Google and SalesForce do not have this problem as they do not particularly need to worry about the existing investment; they started fresh. Thus the products (in the cloud) from Google and SalesForce are much more straightforward. Google does not seem to be a big believer in virtulisation, which is the path many companies like VMWare, Citrix and even Amazon took. I have always thought that adopting virtulisation or not, itself does not necessary have anything to do with Cloud computing. Virtulisation is simply an approach of supporting the infrastructure which could be used for providing cloud-based service, or not. Later in this blog you will see, as far as I am concerned, the only company seems to figure it out and spit it out is Cisco. What we could not ignore is the fact that there are more companies from virtulisation background smelling the competition than the ones whose main interests are in cluster or grid computing. The other important thing is the available support for service developers. One thing is clear is that apart from some very generic services (if there are still some), it is likely that service template requires customerisation and tailoring to suit for individual user (business). To allow this to happen, either the cloud service provider takes on all responsibility of customerising for each individual, or the cloud service provider gets clever and tricks the (arrogant :)) user to develop his own services based on suppored APIs, via appropriate development tools. The other option is, as companies like Amazon does, to team up with traditional software suppliers such as Oracle, IBM, to deploy standard software via virtulisation. This could satisfy some of the customers today, but surely is not a scalable solution by just reusing the existing products.

I quoted the definition from Wikipage here as a nice introduction:

"Cloud computing is a style of computing in which dynamically scalable and often virtualized resources are provided as a service over the Internet. Users need not have knowledge of, expertise in, or control over the technology infrastructure in the "cloud" that supports them.
The concept incorporates infrastructure as a service (IaaS), platform as a service (PaaS) and software as a service (SaaS) as well as other recent technology buzzwords that have the common theme of reliance on the Internet for satisfying the computing needs of the users. Cloud computing services usually provide common business applications online that are accessed from a web browser, while the software and data are stored on the servers."

Ok, as usual, I am trying to summarise some of the major players in the market, and willingly or unwillingly, in this race.

Amazon - Amazon has to take the number one seat in this race. There is a lot to be said about EC2, S3, Simple DB and couple of new services offerings like CloudFront and SQS. Amazon started from trying to make the most of its data center computing capacity and also trying to integrate many of its web services. Luckily, because within their design, every development project is to deliver a service, so it starts from a more or less easy ground. There are already a lot of commercial adoption of either low level storage S3 service or application level EC2 service. Amazon has a very well-plotted pricing model as well which I think is a key element. However, my feeling about Amazon is a little too much on the details. For example, Amazon made its elastic MapReduce and SimpleDB as standard purchasable services as well. It is kinda confusing because there is a clear difference between development support and commericial product or service. I doubt there will be any direct real commercial value on such services. Having said that, the API support to most of the services are great. They are well defined and support different standard development IDE. 

Google - As I said before, Google is a lucky boy who had a fresh start. Who knows, maybe Google is the one who kicked this off. Google App Engine certainly is a polite while huge punch to its competitors. While I was thinking, I am sure many of us were as well, what Google's next step would be, after some great (beta) products such as Gmail, Google maps, Search engine of course, and Google office suite. It wasn't that intuitive, for me at least, to see through the mesh and got a grip on Google's intention, if they had a clear one in the first place :-). Now it seems much clearer - Google has first delivered those good individual product/service on the infrastructure which was built in with scalability and flexibility in mind (a cloud); then Google wasn't shy of exposing what it has to the public of what make it possible for them to build their services, the infrastructure. Hence we are reading all these papers about mapreduce, playing with google app engine, trying to figure out what big table is all about, and its distributed file system. So till now, Google seems to have its camp set. On one hand they provide some of the best services based on the cloud; on the other hand, via GAE, the support and possibility to develop your own service is immense. Although one thing I would say here is that the building blocks available for commercial usage might be a little too lower level compared with those offered from companies such as SalesForce and Intuit.

Salesforces - This must be one of the most popular buzz word in your sales and marketing people around you. If it is, consider yourself lucky! Because it is eventually the way to go, I am convinced. Salesforce has a clear ground to take off, that is online CRM system. Instead of relying on individual unreliable in house CRM system (esp. for small and medium size businesses), you give it up to Salesforce. Very well designed CRM service template, from what I can tell. Its commitment in providing development support is also pretty strong as Force.com and AppExchange. More recently, Salesforce has teamed up with Google to integrate applications and services developed on Google app engine, and easy deployment onto Salesforce platform. However, one thing I still can not get over my mind is the security of the data as nature of the business, one thing I did not see Salesforce stress hard enough as Cisco did.

Microsoft - Azure. I have briefly covered the layers in Azure in my previous blog as a section of introducing support from VS2010 to services development and deployment in Azure cloud. It does look like Microsoft has thrown a lot of cash in Azure, even though the development of it does not seem to match the expectation quite well. Azure has reasonably well-defined layers as described before, and an ambition of providing the similar level of services as Microsoft did on desktop world. Azure is targetting at providing a software infrastructure to support services and applications which will be deployed in microsoft cloud. It aims to allow enterprise web services or individual websites to run in the cloud. Of course this includes the standard services provided from Microsoft itself such as Office suite, SharePoint, Exchange and CRM software in the cloud. The strength here is definitely the development support, from well built up developer community to available framework building blocks as .Net.

Oracle - Coming from Grid Computing background, Oracle offers Real Applications Clusters (RAC), Automatic Storage Management (ASM), and Storage Grid. In September 2008, Oracle introduced new offerings that allow enterprises to benefit from the developments taking place in the area of Cloud Computing. The initial strategy is to team up with Amazon Web Services (AWS) to offer services in the cloud, rather than propel their own cloud service platform.

VMWare - Virtulisation in the Cloud or Cloud in the virtulisation? VMWare focues on how to utilise or change the way IT resources are consumed in organisations. One of their goals I believe is to ease the management of those available built-in resources.  Their target is at companies who want to invest in their IT infrastructure, e.g. private clouds. Main products are vSphere and vCenter, providing server and hardware management and interface to support application deployment respectively. vCloud API is in Beta at this point of time.

Citrix - C3. Citrix is another player who heavily relys on its virtulisation background and Xenserver. I had always suspected that whether the taking over of open source Xen is one of the strategic step Citrix took. However, Citrix has taken a quite awkward position in this market as some other do as well. It has not quite clearly yet identify itself as either an infrastructure supplier as Cisco is or a cloud service provider as Amazon is or even as VMWare is, targetting at building private cloud for enterprises who has IT resources need to be properly managed and deployed. Although practically, its reference product strcuture is a little similar to VMWare.

Yahoo - One of the pioneers in developing Hadoop. They have a few different applications but still yet not able to unleash a complete and unified cloud platform, even though Yahoo has claimed to do so back in mid 2008. I think it is still in Yahoo research territory and not mention developer APIs. Yahoo has teamed up with Intel and HP to proceed further research on this. Maybe it is sign of lacking innovation in all three businesses but it is certainly interesting to see what will come out from this strong combination.

IBM - Computing on Demand (CoD). Well, I would rather call it a solution than a clear-cut product. Not obviously, but if you can see through all marketing campaign, IBM is taking the similar route as Oracle, teaming up with Amazon to deploy their traditional applications in EC2. Quite frankly, I donot think IBM has quite figured it out yet as where it wants and could place itself in this emerging market, and what is the strength, what its product portfolio looks like. Whether it is going to be a virtulisation based solution to provide supercomputing facility, or rooting from IBM's background as application specific cluster or grid solution, IBM seems to be still exploring. Nothing wrong with deep computing, in fact that is a unique strength. If IBM can hold on to this strength and exploit in some very specific areas, then I am sure good products will eventually come out, only not too late! IBM team has released a plugin on Eclipse to support development for Hadoop. Other than that, as far as I can tell, there is a little in developerWorks for cloud support.

Sun - Now part of Oracle, Sun offers its virtulisation (xVM Virtual Box) and very strong product background in data storage and modular data center to provide infrastructure level of cloud computing support. With the purchase earlier in 2008 of MySQL and Qlayer, whose strength is to automate the deployment and management of both public and private clouds, Sun seems to secure its position in provide support to the 'bone' of cloud computing, with some of its own services too, including Open Solaris. I am sure Oracle bought Sun for many many good and right reasons, but it would be interesting see how this part commitment is developed over the next 6 months.

Cisco - A clear thinker in this game. One thing impressed me is that after a few months snooping around, Cisco's positioning strategy and product offering has a much clearer focus. Cisco claimed its plan to supply infrastructure to enable others to offer cloud-based services, rather than becoming one itself - a wise move from Cisco, my opinion. It is not Cisco couldn't do it. They did release a secure and scalable de facto standard system all right - Cisco WebEx Collaboration Cloud. "Bring the Cloud down to earth" is a mark form Cisco. Behind this strategy, there is a logic thinking - Cisco believes that the first wave of cloud computing is to deliver various business services as cloud-based such as salesforce, as opposed to desktop applications; however, the mid- to long term path would really to enable "workload portability", i.e. reuse of data centers from other providers. There are huge markets there for products to support the infrastructure, designated cloud, cloud management etc. Interestingly, with people like James Urquhart's taking on the role of Marketing Manager/Technology Evangelist for Data Center Virtualisation at Cisco, I am very interested to see Cisco's Cloud Computing and Data Center 3.0 strategy to pan out. So far Cisco is still quite in the clique of virtualization apparently.

Smaller players are catching up very fast in the meantime.

Intuit - Similar to Saleforces, Intuit came up with a well polished CRM service and financial service (Quickbook) in the cloud. Its recently published Quickbase would be another major attempt to win the developers over. The strength is that Intuit has a very clear focus point in the finance and CRM sector where it clearly has good understanding of the workflow hence able to provide suitable service template. However, what is still not clear to me is that whether Intuit is really just one tail pony, and not that different to a transformed portal service provider. Also whether it can afford the data center and sustainable backend services in the long term is still yet to be seen.

RightScale, with former CEO from MySQL on board, I think they are coming out pretty strong. RightScale is in the stage deploying a lot of backend servers. From what it looks like is that they are determined to be the cloud service provider themselves. There is one partiluar unique selling point for RightScale is that it doesn’t lock you in to any single cloud provider; instead, RightScale took the route of integrating with multi-cloud and hybrid cloud strategies, which more and more new players start to focus on. RightScale claimed to support Amazon Web Services, GoGrid, FlexiScale, and Eucalyptus at the moment and has a plan to add support for Rackspace and Sun Microsystems cloud very soon. I think their strength is in their automation engine which makes management possible on multi-cloud infrastructure and well designed cloud deployment templates.

There are a few other smaller players (Rackspace,EucalyptusAptana, etc.) although they are coming up very strong. Also, more and more companies are combining efforts together to integrate with each other's solution. Just while I am writing this script, Oracle has released Gadget Wizard for Google Apps and support for Google's Secure Data Connector™ with the debuts of Siebel CRM support for Google Apps. I think with the right team and approach, this battlefield is still quite open and anything could happen! 

No comments: