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.
Related articles
Q.Why can't my browser find the website address I typed...
Q.All updates have been downloaded, so why won't Windows...
Q.How do I stop Windows 7 search?
|
|
|
|
|
Nikon Coolpix S570 BlackPrice: £66.99 |
Computeractive Ultimate Guide - Storage, Sharing & BackupPrice: £5.99 |
Back Issue CD-Rom 13 (2010)Price: £9.99 |
Hallmark Card Studio DeluxePrice: £15.31 |
Marine AquariumPrice: £15.41 |