PDC: Microsoft's Cloud-Based SQL Services Redefined

Microsoft is evolving its strategy for relational data services in the cloud.

As the company's vision for cloud-based computing is shared with over 6,000
developers this week at its Professional Developers Conference, Microsoft is
announcing that SQL Server Data Services is now the storage component of a broader
suite of data-related services called "SQL Services." SQL Server Data
Services is renamed SQL Data Services (SDS).

SQL Services is part of the Azure Services Platform for building cloud applications
intended to run on Windows Azure, Microsoft's new cloud-based operating system,
unveiled
here on Monday. The Azure Services Platform consists of Live Services, .NET
Services, SQL Services, SharePoint Services and Dynamic CRM Services. PDC attendees
can register
for the Azure Services Platform and request .NET Services, Live Services and
SDS provisioning (SDS is still in private beta).

Microsoft's data storage in the cloud is an evolving technology that faces
a nascent market despite some early success by Amazon's DB2.

"We've been focused on the back-end infrastructure for several years,"
said Dave Campbell, Microsoft Technical Fellow and SDS team leader. Microsoft
is using its back-end infrastructure for its own internal services, some of
which will roll out early next year, according to Campbell.

"The interesting thing about the front-end [is that] we are learning so
much," he said. "What are the use cases? What are the optimal design
points? So we are still trying to sort that out.

"Now, once we make the call there," he continued, "we will be
able to settle that down quite quickly because most of investment and the long
tail of settling things out has been in the back-end."

The SDS team is looking at issues such as balance in the data model, approachability
versus flexibility, ways to separate physical and logical data administration,
the power required to run it in an automated fashion without runaway queries,
and so on.

"We are looking at, 'Where do we draw the line?' and that line will shift
over time," Campbell said.

SQL Services Labs Portal
A closer look at some of the projects that Microsoft has underway is available
at the SQL
Services Labs portal, which went live on Monday. Microsoft is working on
several incubation projects, many of which are likely to become part of SQL
Services, the Microsoft Synchronization Framework or Live Mesh in the future.
These projects include work on a data access interface for ADO.NET Data Services
(JSON and AtomPub) as well as offline data synchronization using the Microsoft
Sync Framework. Other projects focus on reporting against SQL Data Services
and Data Mining.

SQL Data Services started as an incubation project about two years ago with
participation from both Microsoft Research and the SQL Server team. SDS today
is developed on an eight-week sprint, according to Campbell.

"We found that we were able to really innovate quickly because we can
put something out there and get feedback immediately...and eight weeks later
have something that addresses it," Campbell said. "Where it was two,
three or four years with the shrink-wrapped product, it is a matter of weeks
here."

The SDS data model, which is based on flexible entities, is inherently multi-tenant,
Campbell explained. It supports REST and SOAP wire formats. An authority (DMS
domain name) can have a number of containers and entities within those containers.
Each entity has an identity (Id), a distinguished attribute called a Kind and
a number of properties associated with it. "You can look at entities within
that container as if they were logical tables discriminating on the Kind,"
Campbell said.

"At PDC, as we have evolved the service, we have announced support for
relational joins across Kinds and containers," he said. "The beauty
of this is it's very, very approachable and very, very friendly for people who
are designing, sort of, outside-in and really want schema flexibility in the
system."

SQL Data Services is described by Microsoft as an open platform. To that end,
the SDS team announced support for a Ruby toolkit, released sample source code
for the SDS SDK including a REST Library, ResourceProvider and ActiveProvider.
The source code is available for download at Github
and as gems on RubyForge. Support for PHP is planned, according to Campbell.

The SDS public beta is likely to become available in a matter of weeks or months,
according to Campbell, with a general availability target in 2009.

About the Author

Kathleen Richards is the editor of RedDevNews.com and executive editor of Visual Studio Magazine.