Database as a Service – from Force.com to Amazon RDS and SQL Azure

These days, those who are building internet applications have many choices for database.  Traditionally (i.e. up to the last few years), you have the usual commercial and open source solutions such as Oracle, Microsoft SQL Server, MySQL, PostgresSQL to store user and application data.  Usually, these databases run in the company’s own data centers or a co-lo facility managed by AT&T, Verizon or the like.  However, offerings from Force.com (from Salesforce.com), Amazon Web Services and Windows Azure are changing this landscape.  In fact, in some cases, they start to converge despite their differences.

I started thinking about database as a service not because I was building one or looking for a DBaaS solution.  In fact, I was building a full stack internet application based on open source technology.  However, the offering from Force.com was rather intriguing as they claim to offer faster development time, easy to use language and secured infrastructure as this InformationWeek article indicates.

However, when you dig a little deeper, you will find that if you do not want your UI to look like the Salesforce.com form based interface and instead you want a rich interactive user experience, Force.com offers limited options.  The reason is because Force.com only offers a database driven form application UI or a heavy client written in Adobe AIR and Flex.  The former is reminiscent of web application from the late 1990s and the latter requires significant processing power on the client desktop.

Now you may say Force.com supports Java, Ruby and every other language under the sun.  That is indeed true though it is also where Force.com veers from a Platform as a Service provider into a Database as a Service provider.   If you want to use Java, Ruby, PHP or another language to build your application logic and client interface, you essentially have to host that code yourself.  You would be using the Force.com infrastructure for database and maybe stored procedures.  Sure you can host your application code at AWS or even Azure cloud but does it really make sense to have multiple vendors hosting different tiers of your technology stack?  It is tough enough to satisfy your SLA for applications that you run fully in-house.

In short, if you see a need to contract with multiple hosting vendors for the database, application and client technologies, you may well start looking at Force.com, Amazon RDS and SQL Azure as similar solutions.  Each has its strengths and drawbacks.  Here is an article comparing RDS and SQL Azure that you can start with.

Add to FacebookAdd to DiggAdd to Del.icio.usAdd to StumbleuponAdd to RedditAdd to BlinklistAdd to TwitterAdd to TechnoratiAdd to Yahoo BuzzAdd to Newsvine

Advertisements

One Response

  1. Cam across this post while searching for something. Interesting to note that there’s no mention of developing with Visualforce and Apex.
    Also, things are changing with Database.com, VMForce and the Heroku purchase.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: