Companies providing Internet-based applications are facing many challenges today. Users increasingly expect access to rapidly expanding amounts of data from anywhere, at any time, and from any device. The size, scale of use, and variety of forms of data are expanding rapidly. Developers need to rapidly build and deploy applications to keep up with these growing demands. Using the traditional on-premise data management model, meeting these needs demands constant investment in and management of servers, operating systems, storage, and networking. IT and operational staff must constantly monitor the infrastructure to ensure that capacity, performance, and availability are maintained as data volumes and user loads increase.
Cloud database services, such as SDS, provide an improved way to respond to these challenges. SDS is built on three key tenets: storage for all data types from birth to archiving, rich data processing services, and operational excellence.
From a developer's perspective, SDS offers a simple programming model, using standard Internet protocols, and simple deployment options. SDS simplifies the process of creating, prototyping, and deploying applications that integrate data across the enterprise. SDS removes infrastructure obstacles, thereby giving developers more freedom to innovate and experiment with new ways of sharing data.
From the IT management perspective, SDS offers a systematic and secure cloud-deployed solution that integrates with your on-premise assets and gives the IT organization oversight and control of distributed data assets. SDS is built on the same SQL Server technologies already used and proven in on-premise deployments to provide high availability, reliability, and security.
From the business perspective, SDS offers a cost-effective approach for managing data, with a flexible consumption based pricing plan, near zero capital and operational expenditures, and the ability to quickly and easily scale up or down as your needs change.
If you are planning to build applications on large or shared data sets, provide on-demand scalable data storage, or augment your on-premise data infrastructure with low cost, rapidly provisioned cloud-based storage, SDS can provide a robust and cost-effective solution.
SQL Data Services are an essential part of Microsoft's Cloud Services strategy and architecture, as illustrated in Figure 1.
|Figure 1. Microsoft Cloud Services|
SDS offers a valuable supplement to on-premise data management models in the areas of flexibility and scalability, reliability and security, and developer agility. Let's begin by looking at some of these features.
When you use the traditional on-premise data infrastructure, your ability to prototype or roll out new data-driven solutions can be slowed by the time it takes to deploy and secure servers, network components, and software. With a cloud-deployed solution such as SDS, you can provision your data storage needs in minutes.
Flexible development model
SDS exposes Web services that you can use to create, modify, query, and delete data entities. The SDS Web services currently support the two primary standards-based communications protocols, SOAP (Simple Object Access Protocol) and REST (Representational State Transfer). This ensures that you can interact with SDS from almost any programming environment, not just Microsoft-based tools, and provides cross-platform compatibility to support existing solutions and mashups. Data retrieval is accomplished through a simple, text-based query syntax using the Language Integrated Query (LINQ) style. SDS is also compatible with ADO.NET Data Services, and exposes an ADO.NET Data Services interface.
Flexible data model
SDS provides a flexible data model that does not require schemas or fixed data types. Rather than creating database tables with fixed columns, in SDS you can create data containers that can store either homogeneous or heterogeneous data entities. This flexibility gives you the ability to handle any data scenario, regardless of whether you're storing schematized relational data or totally unstructured collections of properties. This model is especially useful when you design applications in which many different users will be providing data (such as content management or collaboration), or when you create applications that many different people will use, each of whom will have somewhat different data needs (such as customer relationship management).
SDS enables you to store any amount of data, from kilobytes to terabytes. The service scales with your data, so you can allow your data to grow without worrying about capacity limitations. A pay as you grow pricing model ensures that you only pay for the storage you use, so you can also scale down the service when you don't need it. When compared to a hosted or on-premise solution, this means that your utilization is always optimal (never over-utilized so you can't meet demand, and never under-utilized so you are paying for inefficiency).
You can harness this scalability to build the next generation of Internet-scale applications with worldwide reach, but without the infrastructure costs and management overhead.
SDS is built on robust and proven Microsoft Windows Server® and SQL Server technologies, and is flexible enough to cope with any variations in usage and load. The service stores multiple copies of your data to ensure data availability and business continuity. Published service level agreements (SLAs) will guarantee a business-ready service.
Secure data access
SDS offers secure data storage, together with secure access over Secure Sockets Layer (SSL) channels, thereby enabling you to meet business and regulatory requirements for confidentiality and privacy.
Synchronization and offline scenarios
SDS integrates with the Microsoft Sync Framework to support occasionally-connected synchronization scenarios. For example, using SDS and the Sync Framework, on-premise applications and client devices can synchronize with each other via a common data hub in the cloud.