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.
Fast provisioning
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).
Unlimited scalability
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.
High availability
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.