Simple clear advice in plain English

Hands On: Programming for the cloud

An introduction to the web-based programming platform

Another year, another buzzword ­ and at the end of 2008 it was cloud computing. Microsoft even announced Azure ­ Windows for cloud.

The term cloud computing is used in various ways. The only certainty is that cloud computing means stuff out there is on the internet rather than running on a local network ­ though even that distinction begins to blur once you enable internet access to an internal network.

The advantage for the user is that the software and data they need is always available, provided there is an internet connection. The advantage for businesses is that the job of keeping servers up and running is offloaded to the cloud provider. Cloud computing is efficient, since you are using a shared computing resource, and all going well it should scale smoothly when demand for your application is high.

Programming the cloud can also be faster, since many of the building blocks you are likely to need are already in place. Another attraction is the ability to create mash-ups, where cloud services combine. You get the same benefit of everywhere availability, and if you are pleased with an application it is easy to share it with others, or even make it a business proposition.

Future issues will show hands-on examples of programming for the cloud. What follows is an introduction to four of the leading contenders.

Amazon
Amazon’s web services include the Elastic Compute Cloud (EC2). EC2 lets you run up virtual machines on Amazon’s servers on demand. These are usually Linux servers, with a choice of distributions, though there are now also options for Windows or Solaris. Amazon’s virtual servers can run any kind of web application, but look much like any other server on the internet. This is a bare-metal cloud.

Amazon also has other web services, including file storage (S3) and database storage (SimpleDB), which you can use with or without EC2. You could even have a desktop application using S3 and SimpleDB.

Salesforce.com
Salesforce.com was originally a customer relationship management (CRM) application that runs entirely on the internet and supports an unlimited number of users. The technical term for this is multi-tenanted; all the users run the same code, even though they only see their own data. More recently, Salesforce.com has gone beyond CRM, with third-party applications that run on the same core platform, called Force.com, and the ability to write your own code using a Java-like language called Apex. The latest version of the platform supports public websites as well as private applications. In contrast to Amazon’s cloud, the Force.com platform does a lot for you, reducing the amount of code you have to write.

Google
Arguably you are performing a kind of cloud computing just by using Google Apps such as Gmail or Google Docs, but these are not custom applications. Google’s programmable cloud offering is App Engine, which lets you write applications in Python, normally using a web framework such as Django. You also get access to a cloud database called Big Table, again hosted by Google, and other services such as Google Accounts for managing identity, as well as programmatic access to Google documents, calendar and more.

Microsoft
Microsoft showed its cloud strategy at its Professional Developers Conference last October. There are actually two approaches, though one sits on top of the other. Windows Azure is a host for ASP.Net applications, running on Microsoft’s servers and backed by a range of services covering file storage, database access (SQL Services), identity and access control, workflow, and links to Sharepoint document management and Dynamics CRM.

Microsoft has also announced the Live Framework and delivered a preview. This is the Live Mesh service now opened up for custom applications. The server part of the Live Framework runs on Azure. Live Framework also has a substantial client piece called the Live Operating Environment, and a synchronisation engine that lets applications run both online and offline. You can build what Microsoft calls mesh-enabled web applications, using either HTML and Javascript or Silverlight, and install them into an application catalogue hosted by Microsoft, from where users can download them. Since Mesh-enabled applications work offline, this is an answer to Adobe’s Air, which is for offline Flash applications.

Reader Comments

   

Add your comment

All fields must be completed. Your email address will not be displayed or used to send marketing messages.

All messages will be checked by moderators before appearing on the site.

See our Privacy Policy for more information.

Related articles

Rage

Rage game for PC, Playstation 3 and Xbox 360

It’s the end of the world as we know it. Again

notepadpp-text-editor

Notepad++ 5.9.2 is a very powerful text editor

If you want to edit plain text documents, Notepad++ has all the tools you need, and a few more beside

screenshot-of-small-basic

Microsoft Small Basic

A simple programming language for beginners

Question & Answer

Q.Why can't my browser find the website address I typed...

> Read the answer

Q.All updates have been downloaded, so why won't Windows...

> Read the answer

Q.How do I stop Windows 7 search?

> Read the answer

Best deals on the web

img

Apple iMac 21.5" (MC309)

£929.00- Buy it now

img

Dell Inspiron 620 ST Intel Core i3-2100 3.10GHz / 3GB / 500GB / DVDRW / Win 7 Home Premium

£299.00- Buy it now

img

Apple iMac 27" (MC813)

£1353.99- Buy it now

Great benefits for subscribers!

Poll

Which is your preferred web browser

Jargon Buster

Computing terms explained in plain English

Restore point

A Windows backup of system files and settings.

Great shopping deals from Computeractive