Let the Cloud Developer Wars begin

Damn right it's better than yours

Build a business case: developing custom apps

Microsoft is all for the cloud, says chief executive Steve Ballmer. IBM has its new Smart Business Cloud. Oracle has its Exalogic cloud in a box. Amazon’s cloud services are growing apace. Salesforce.com and Google have always been cloud.

The economic arguments are unassailable. Economies of scale make cloud computing more cost effective than running their own servers for all but the largest organisations. Cloud computing is also a perfect fit for the smart mobile devices that are eating into PC and laptop market.

Cloud computing is a fuzzy concept, though, and analysts distinguish between several models.

The first is infrastructure as a service (IaaS), where the customer replaces physical servers with virtual ones accessed over the internet. IaaS scales up or down on demand and replaces capital expenditure with operating expenditure, but customers still have to maintain the operating system, select and install applications, and solve dependency problems.

Fantastic elastic

Amazon dominates the IaaS market. Its Elastic Compute Cloud (EC2) became a production service in October 2008, and offers virtual machine instances of various sizes managed by a web services API. Most run some variety of Linux but EC2 also offers Windows Server.

Platform as a service (PaaS) abstracts much of the infrastructure away. You deploy an application onto a pre-existing platform which provides services such as data management, transactions, identity and authentication.

Google’s App Engine is an example of PaaS. You write your application in Java or Python and upload it. The application can use services such as a transactional datastore, task queue, user management, email, caching, and more. You have to trust Google to do these services right, but the benefit is zero maintenance. Also, if Google improves its implementation your application runs better automatically.

Like it or lump it

The third model, software as a service (SaaS), is the most abstracted form of cloud computing. Even the code that runs the application is managed by the provider and the customer simply signs up as a user. Salesforce.com and its customer relationship management application, Microsoft’s Business Productivity Online Suite, soon to be revised as Office 365, and Google Apps for email and document collaboration are all examples of SaaS.

SaaS enables the cloud provider to exploit another aspect of the cloud: multi-tenancy, where multiple customers run the same application. As features are added, all customers benefit, and the cloud provider can use its hardware at a high level of efficiency by tuning the workload across its servers.

There are several downsides to SaaS, however. One is that the application is fixed, so if you need some new feature you have to beg the cloud provider to modify it for you, or write a separate application and try to integrate it, or do without.

Lock-in is a risk with any cloud computing model but most acute with SaaS because you cannot move your application to another provider. You would have to export your data and import to a new application running elsewhere.

Another issue is that one customer’s excessive usage of a shared application can damage performance for others. The problem is more obvious in SaaS because customers are not isolated from one another.

Security is also a concern. Speaking at Oracle’s OpenWorld conference in September 2010, the company’s chief executive Larry Ellison talked down the merits of Salesforce.com. “Thousands of customers co-mingle their data in the same exact database. It’s really a very weak security model,” he said.

Ellison said he prefers the Amazon model, but since he was launching Oracle’s Exalogic Elastic Cloud, a sort of packaged version of EC2, he would say that. And in fact Salesforce.com has a good security record. But he still has a point.

Blurred vision

IaaS, PaaS and SaaS seem neat and tidy divisions but the distinctions between them are blurring as cloud vendors extend their offerings.

Take Microsoft Azure, for example. Microsoft positions Azure as PaaS, since its focus is on hosting applications built by its customers.

You can open up the Visual Studio development tool, select an Azure project and start building an application based on one or more roles: a web role for a web front end or for publishing a web services API, a worker role for background processing and a virtual machine role. This is where the PaaS/IaaS distinction begins to blur.

Azure is a platform play that started with enterprise focus and is now attracting small organisations.. In contrast, Google has targeted smaller organisations first with App Engine, and is only now aiming at enterprise customers with its App Engine for Business, currently in preview.

App Engine for Business introduces a 99.9 per cent service-level agreement, an Enterprise Administration Console, and hosted SQL, all features which already have an equivalent in Azure.

At the same time, there are elements of IaaS in Microsoft’s offering. Azure computing is purchased in instances of varying capacity, and each instance is in fact a Windows server virtual machine. You can even remote desktop into an instance, giving full access to Windows. Microsoft has also introduced a role which lets you build a virtual machine on your own system and upload it to run on Azure.

Meanwhile, Salesforce.com has taken its SaaS offering and extended it to look more like PaaS. The product is called force.com and was extended last year to provide generic data services, called database.com.

There’s also a partnership with VMWare, called VMForce, which lets you run Java applications on a managed application server using the Spring development framework; and Salesforce.com has acquired Heroku which offers a platform for cloud-hosted Ruby applications.

Coming from the other end, Amazon is building PaaS on its IaaS foundation. In January Amazon announced its Elastic Beanstalk product, a Java application server where all you provide is the application; Amazon provisions a load balancer and deploys your app to one or more instances of Apache Tomcat. Elastic Beanstalk features automatic scaling on demand.

IaaS remains important but PaaS has more potential for shifting the burden of IT administration from customers to cloud providers and makes it easier for them to scale their IT resources according to needs.

Place your bets

PaaS is the sweet spot in cases where IaaS is too demanding and SaaS too inflexible. The distinctions between cloud platforms are breaking down but PaaS is increasingly prominent in many of them.

That leaves the question: who will win the cloud wars? Amazon is in an enviable position, with no legacy business to cannibalise and a strong foothold in the market. Google is also legacy-free, though App Engine has had a mixed reception and it is late in its enterprise play.

Microsoft by contrast is all legacy, and while Azure is technically a strong offering, the challenge lies in shifting its massive partner network and enterprise business from selling servers to cloud computing. Furthermore, the start-up community tends to look towards Linux and open-source platforms rather than Windows.

One thing that Microsoft and Salesforce.com have in common is their enterprise focus. At its Dreamforce conference late last year, when Database.com was introduced, Salesforce.com focused on Azure rather than Google or Amazon as a key competitor.

In theory, Azure seems a natural choice for the myriad Microsoft-platform businesses considering cloud computing but the transition might be hard to achieve. ®

Maximizing your infrastructure through virtualization

More from The Register

next story
Whoah! How many Google Play apps want to read your texts?
Google's app permissions far too lax – security firm survey
Chrome browser has been DRAINING PC batteries for YEARS
Google is only now fixing ancient, energy-sapping bug
Do YOU work at Microsoft? Um. Are you SURE about that?
Nokia and marketing types first to get the bullet, says report
Microsoft takes on Chromebook with low-cost Windows laptops
Redmond's chief salesman: We're taking 'hard' decisions
EU dons gloves, pokes Google's deals with Android mobe makers
El Reg cops a squint at investigatory letters
Big Blue Apple: IBM to sell iPads, iPhones to enterprises
iOS/2 gear loaded with apps for big biz ... uh oh BlackBerry
OpenWRT gets native IPv6 slurping in major refresh
Also faster init and a new packages system
prev story


Top three mobile application threats
Prevent sensitive data leakage over insecure channels or stolen mobile devices.
The Essential Guide to IT Transformation
ServiceNow discusses three IT transformations that can help CIO's automate IT services to transform IT and the enterprise.
Mobile application security vulnerability report
The alarming realities regarding the sheer number of applications vulnerable to attack, and the most common and easily addressable vulnerability errors.
How modern custom applications can spur business growth
Learn how to create, deploy and manage custom applications without consuming or expanding the need for scarce, expensive IT resources.
Consolidation: the foundation for IT and business transformation
In this whitepaper learn how effective consolidation of IT and business resources can enable multiple, meaningful business benefits.