A deeply introduction of Windows Azure Platform – Part 3: SQL Azure
With running applications, another attractive way to use the cloud services, is to store data. SQL Azure addresses this area offering a relational database in the cloud. As following picture shows, SQL Azure is built in three components:
SQL Azure provides relational database services in the cloud.
The components of SQL Azure today are the following:
• SQL Azure Database: It’s a cloud-based database management system (DBMS). This technology lets on-premises and cloud applications to store relational data on Microsoft server hosted in Microsoft datacenters. Like other cloud services on Azure, an organization pays only for what is used, increasing and decreasing usage (with the cost of course) as the organization’s needs change. Using a cloud database also allows converting what would be capital expenses, such as investments in disks, DBMS software, backups, etc., into operating expenses.
• SQL Azure Reporting: It’s a version of SQL Server Reporting Services (SSRS) that runs over the cloud. Intended primarily for use with SQL Azure Database, it allows creating and publishing standard SSRS reports on cloud data.
• SQL Azure Data Sync: Allows synchronization of data between SQL Azure Database and on-premises SQL Server databases. It can also be used to synchronize data across different SQL Azure databases in different Microsoft data centers.
SQL Azure is built on Microsoft SQL Server and with it, developers can create indexes and views, use stored procedures, define triggers, and more. Applications can access SQL Azure data using Entity Framework, ADO.Net, and other Windows data access interfaces. In fact, applications that today access SQL Server locally will largely work unchanged with data in SQL Azure. Customers can also use on-premises software such as SQL Server Analysis Services to work with their cloud-based data.
While applications can use SQL Azure much as they do a local DBMS, the management requirements are significantly reduced. Rather than worry about mechanics, such as monitoring disk usage and servicing log files, a SQL Azure customer can focus on their data; Microsoft will handle the operational details. And as with other components of this cloud platform, customers use the common Windows Azure platform portal to access its services.
Applications might use SQL Azure in a variety of ways like those samples above:
• A Windows Azure application can store its data in SQL Azure. While Windows Azure provides its own storage, relational tables aren’t among the options it offers. Since many existing applications use relational storage and many developers know how to work with it, a significant number of Windows Azure applications rely on SQL Azure to work with data in this familiar way. For example, a SaaS application built on Windows Azure might create a separate SQL Azure database for each customer, providing an intrinsically multi-tenant design. And to improve performance, customers can specify that a particular Windows Azure application must run in the same data center in which SQL Azure Database stores that application’s information.
• An application in a small business or a department of a larger organization might rely on SQL Azure. Rather than storing its data in a SQL Server or Access database running on a computer under somebody’s desk, the application can instead take advantage of the reliability and availability of cloud storage. It can also create reports on this data using either SQL Azure Reporting or SSRS on-premises. If the organization wishes to maintain an on-premises copy of the data as well, it can use SQL Azure Data Sync to synchronize the cloud and on-premises databases.
• Suppose a manufacturer wishes to make product information available both to its dealer network and directly to customers. Putting this data in SQL Azure would let it be accessed by applications running at the dealers and by a customer-facing Web application run by the manufacturer itself.
Whether it’s for supporting a Windows Azure application, making data more accessible, or other reasons, data services in the cloud can be attractive. The goal of SQL Azure is to provide these services in a familiar, easy, usable way for cloud and on-premises applications. That’s all for SQL Azure. Next post I’ll be briefing about Windows Azure AppFabric.