A brand new Microsoft SQL technology just hit the marketplace on January 1, 2010. Or maybe it would be better to say that a re-branded Microsoft technology just hit the marketplace. Azure services is Microsoft’s most significant step into cloud computing. It functions as a complete platform in the cloud with computing, storage and fabric-tying individual systems into an integrated network that can balance processing load or share resources.
What is SQL Azure?
The part that is most pertinent for this review is how Azure relates to SQL. Microsoft used to call this service SQL Server Data Services and then SQL Services before recently changing it finally to SQL Azure. The name change just represents another step in the same direction that SQL server has already been headed with cloud computing.
SQL Azure provides data storage “in the cloud,” much like Amazon S3 and many Google Apps. One of the big advantages for SQL Azure is that relational queries can be made against data stored in the cloud, regardless of whether they are structured, semi-structured or unstructured documents. Besides making data queries, users can also search, analyze, or synchronize with SQL data stored by Azure.
Once your information is uploaded to SQL Azure, applications can make direct queries to the data in the cloud through the Internet. This works for local or cloud-based applications (such as applications that run in the computing portion of Microsoft’s Azure services). Provisionment and synchronization should be seamless between local SQL servers and the SQL Azure database. Microsoft also guarantees high fault tolerance by keeping multiple available copies of your data.
Why Use SQL Azure?
Microsoft claims that the major advantage SQL Azure provides is less maintenance. The service eliminates your need to store and manage SQL databases locally. In theory, administrators shouldn’t have to install database software or worry about setup, patching and managing their server systems. Nor are there hardware needs with servers, disaster recovery, or high availability. Physical maintenance and administration is unnecessary, so companies can feasibly save on staffing costs as well. If the headache of managing database servers is getting to you, this may be a great option.
One of the other advantages is easy scalability. If you need to increase or decrease your database storage, Microsoft takes care of that too. This is one of the differences between SQL Azure and other hosting services: data storage is distributed between multiple nodes and you simply pay as you go for the storage used. SQL Azure can work as an adjunct to existing database hardware. If you expect a sudden spike in data needs or even want to be prepared in case one happens unexpectedly, Azure can be available for heavy times, but you can return to local or other storage when the need is gone.
Another advantage of scalability is that it provides workable but cost-effective service for the database needs of small and medium-sized businesses.
Microsoft also expects Azure services to enable independent software writers who want to offer their software as a service (SaaS). Azure services can provide for all of the computing needs this model requires, but of course, SQL Azure would meet the database needs for this software. Feasibly, this could even simplify data security, since Microsoft is responsible for storing it. Line of Business (LOB) applications built on Azure computing services could use SQL Azure in the same way.
As with any kind of cloud computing, one final advantage is that the information is available for any applications or queries as long as they are connected to the Internet. But one related benefit of moving SQL databases to the cloud is that it consolidates data (such as databases in multiple departments of a large company) and integrates information better. This should enable more complex queries that stretch across multiple database tables.
Putting all of these together, the simple advantage is an economy of scale: the cost of letting Microsoft do SQL should be easily less than the total cost of hardware, software, and maintenance (TCO).
It’s All in the Details
Now the nitty-gritty. As far as programming model changes, most things stay the same, though a few details will be different. The core difference is that fully relational data has replaced an entity-based and ACE programming model. To access data, T-SQL is still the code, though developers will need to make a few changes to interact with the fully relational database service. Most data-access frameworks such as ADO.NET Data Services can still be used with minimal changes. Data transfer is through an XML-based format, the query language is T-SQL, and Tabular Data Stream is the protocol for internet access.
How is SQL Azure different from SQL Server? Azure works on top of SQL server. But SQL Azure also adds new relational data functions within the cloud. The biggest difference is as stated above -ease-of use, simplicity, and availability everywhere. The CTP is available for free on Microsoft’s web-site, but get there fast. Some things will no longer be available for free at the end of January. Microsoft has made significant changes to the software in the last few months, and there are major differences in each of the production versions.
And what about pricing? Microsoft offers 1 GB of relational database space for $ 9.99/month, up to 10 GB for $ 99.99/month, and data transfer fees of 10 cents in and 15 cents per BG. There are also a few options: you can pay as you go with no monthly commitment and fee, or you can get better prices by committing to 6 months with a base fee.
No surprise-the new Azure services definitely represent Microsoft’s commitment to the future of cloud computing. SQL Azure is a huge part of this innovation and provides great support for web 2.0 applications. The greatest benefit is probably for small and medium-size businesses or independent software writers that need cost-effective storage and computing. If Microsoft’s hunch about future computing is right (and it probably is), getting into the market first is a good strategy. It will only remain to be seen whether SQL Azure manages to stay the best cloud SQL database technology available.