RDN Directions
Ready for Prime Time?
Microsoft has made changes to SQL Server to make it work in a cloud-computing environment.
A key part of Microsoft's Software plus Services (S+S) strategy is making its servers available as hosted, subscription-based offerings in addition to the traditional on-site products. The latest product to get the services treatment is SQL Server, with SQL Server Data Services (SSDS). But unlike Microsoft's hosted Exchange or Dynamics CRM products, SSDS isn't just a hosted version of SQL Server. Instead, Microsoft has made changes to SQL Server, big and small, to make it work in a cloud-computing environment.
SQL Server Issues
Microsoft had no choice but to make changes to SQL Server. Hosting SQL Server as -- is isn't economically or technically viable. First, it doesn't run particularly well on so-called "white box" hardware -- the kinds of very cheap servers used by Google and others to economically scale out their data centers.
In addition, developers can't just fire up a SQL Server and start putting data in. They first must design a formal schema, taking into account the need to normalize the tables. With SSDS, developers can sign up and start pumping data in. SSDS will infer the data types as it goes along, making it easier for developers to get started.
SQL Server isn't very Web-friendly by default. Interacting with SQL Server typically requires some kind of driver on the client to translate requests into SQL Server's wire protocol. That's not a problem for Windows because Microsoft builds SQL connectivity into its developer tools. But it means that as new Web environments such as PHP or Ruby gain popularity, Microsoft must create drivers for those environments. To reach the broad community of Web developers, SSDS uses standards-based formats and protocols, such as REST and SOAP.
Finally, SQL Server requires ongoing maintenance. There's no capability to automatically partition databases between servers as the size of a database grows. That may work for an in-house database, but it's difficult for a hoster to make money if they have to perform that kind of maintenance manually. Microsoft claims SSDS will provide virtually no restriction on how much data can be stored -- which means it must have figured out how to scale data to many servers without administrator intervention.

Microsoft says it has modified the code of SQL Server to address all these issues, adding new capabilities and removing some that aren't needed in a hosted product. All of which raises some interesting questions for future versions of the on-site product. Wouldn't corporate IT managers also want a product that runs on less-expensive hardware, is easy to get started using and automatically scales as data grows? Microsoft says it will fold its changes into a future version of SQL Server, so even if you aren't ready to move your own data outside your corporate network, SSDS could eventually have a big impact in how you run your data operations.
All in the Details
But there are serious questions about SSDS that need to be answered, including pricing, service guarantees, manageability and Microsoft's ability to execute.
On pricing, Microsoft must decide if its more interested in embracing cloud computing and competing with the likes of Google's App Engine and Amazon's S3 or in protecting its existing SQL Server revenues. If it prices SSDS to be competitive with Google and others, it runs the risk that corporate customers, currently spending a lot of money on licensing, upgrading and maintaining SQL Server, will jump to SSDS and hurt Microsoft's bottom line in the process. On the other hand, revenue-neutral pricing is unlikely to be competitive.
Beyond pricing, Microsoft must present meaningful service-level agreements (SLAs) that include some kind of real compensation if uptime isn't met. Many SLAs provide for crediting of monthly service fees in the event the service is down. But if you move your Web site's product catalog to SSDS and are unable to take orders because the service is unavailable, your actual exposure in lost sales and damaged reputation go far beyond one month's subscription fees.
Using a hosted service doesn't mean you don't need manageability tools. How are you notified if the service is temporarily unavailable? Does the service proactively notify you or are your customers the first ones to find out? In theory, on-site products provide manageability tools to help administrators identify problems before they become critical. (Whether such tools actually deliver on that is another question entirely.)
In addition, if you signed a contract specifying a certain amount of storage and bandwidth, you need to be able to monitor your usage to avoid nasty surprises, such as a larger-than-expected bill or service slow downs because you have exceeded your quota.
Finally, developers would be wise to consider Microsoft's track record. The company points to its ability to keep Micosoft.com, one of the most widely visited sites, up and running. But skeptics point to Windows Live ID outages, along with Xbox Live glitches, as signs that the company isn't quite ready for the big leagues.
About the Author
Greg DeMichillie analyzes and writes about Microsoft's development platform and tools for Directions on Microsoft, a research firm dedicated to tracking Microsoft. He was previously the group program manager at Microsoft responsible for the overall design and feature set for Visual C# and C++. A founding member of the C# language team, DeMichillie was a key contributor to the initial design and development of .NET.