The Register® — Biting the hand that feeds IT

Feeds

Let the Cloud Developer Wars begin

Damn right it's better than yours

Customer Success Testimonial: Recovery is Everything

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. ®

Regcast training : Hyper-V 3.0, VM high availability and disaster recovery

App Engine is Ready for Business

I run my business on Appengine - with a standard account. The business account is really only necessary if you need HTTPS or cannot easily translate your SQL data to the datastore.

Appengine has been running for several years now, and I think it's fair to say that most of the kinks have been ironed out now. I couldn't in good conscience advise anyone to use the other PaaS offerings unitl they've been battle-hardened for a couple of years.

I'll bet it was a sysadmin who said "Being master of your own destiny is priceless". We can't afford to hire sysadmins as good as Google's, so when something breaks I'm comfortable that Google will fix it faster than anyone we could have hired. And things don't break that often either - I can't remember the last unscheduled outage that affected our service on Appengine.

The other huge benefit with PaaS is scalablility. I'd love to hear what the master of his own destiny says when his site gets mentioned on Oprah! An Appengine user showed a graph the other day of their traffic spiking from 5 to to 900MBs for ten minutes, with Appengine automatically spinning up extra instances to handle it. The best part is he only paid for the extra instances for those ten minutes.

So unless you are the stock exchange, you'll probably be quite happy with the uptime - and even happier with what you're paying for an infinitely scalable service.

1
0

Nice summary.

I have to say, though, that Ellison's argument is a trifle disingenuous. He could just as well say banks are unsafe because “Thousands of customers co-mingle their money in the same exact bank. It’s really a very weak security model.”

The underlying data store is shared, yes. That's what multi-tenancy means. But it's only at a very low level that the user never, ever gets to see. Even the admins running the SaaS platform never access the data at that level. That'd be somewhat akin to editing a Word document by tweaking individual disk blocks.

Anyone might think he had some different platform to sell...

1
0

Not quite.

"...which means they have to charge you more than their services are worth..."

No. They have to charge you more that their services *cost them* to provide.

Their "worth"; the value to the consumer, is how much it would cost the consumer to provide the same services themselves. Very different.

The reason why cloud makes sense in many situations is that there's a significant gap between the two, and that's why service providers CAN make money while saving their customers money compared with the alternatives. Make sense?

0
0

More from The Register

SCO vs. IBM battle resumes over ownership of Unix
Zombie lawsuit back and wants to suck the brains out of Linux
Bjarne Again: Hallelujah for C++
Plus: Now officially OK to admit you never used STL algorithms
Interwebs taunt Sir Jony over Apple eye candy makeover
Hey Ive, Ive... add more unicorns, willya?
Apple: iOS7 dayglo Barbie makeover is UNFINISHED - report
Plus: You don't like the icons? Blame marketing
Red Hat to ditch MySQL for MariaDB in RHEL 7
So long, Oracle! Don't let the door hit you on the way out
Shy? Socially inadequate? Fiddling with your phone could help
App 'tells the brutal truth' about social inadequates' chatup lines
Java EE 7 melds HTML5 with enterprise apps
New release arrives with GlassFish, NetBeans support
 breaking news
'Office Facebook' firm Tibbr wants you to PAY for mobe-meetings app
Great idea. Punters won't cough for it though
 breaking news
The only Waze is Google: Ad giant tipped to gobble map app 'for $1.3bn'
Pac-Man-satnav-ish upstart in bidding war with Apple, Facebook
 breaking news
PM Cameron calls for modern, programmable computers! (We think)
IT education musings to G8 chiefs to mystify IT industry