Today we are announcing the public preview of Elastic Scale for Azure SQL Database. The new Elastic Scale capabilities simplify the process of scaling out (and in) a cloud application’s data tier by streamlining development and management. Based on industry-standard sharding practices, Elastic Scale offers functionality to help you build and maintain applications that can span a few databases or thousands.
The new capabilities are provided through .NET client libraries and Azure service templates that you can host, offering more development flexibility to meet the unique needs of your applications. Based on customer engagements, client-side application APIs are ideal for supporting elastic scale as they offer you more development flexibility based on the unique needs of your applications.
We see customers utilize sharding practices with Elastic Scale to support the following key scenarios:
- High-volume OLTP: Enable a single cloud-based OLTP application the ability to process massive data volumes and to support high-end transaction processing needs by employing few to thousands of database shards.
- Multi-tenant SaaS: Scaling out databases supports a multi-tenant cloud application where each customer is assigned their own database for higher isolation, or where tenants share databases based on location or load balancing. Optionally each database can be scaled up or down to meet the individual throughput needs of each customer.
- Continuous data collection: Applications designed to capture telemetry and Internet-of-Things data ingestion patterns can easily scale across time by regularly creating new shards for new date ranges. Newer shards can use higher service tiers, and scale down over time as usage is reduced.
Customers in the Microsoft private preview program have deployed Elastic Scale and are already seeing tremendous value.
“For our business, the decision to take advantage of Microsoft’s framework-based approach to Elastic Scale APIs was an absolute no brainer. Our ability to serve our large-scale customers in the oil and gas industry hinges on our ability to effectively and continually manage ever-growing customer data requirements and deliver them at scale. Because of the data sizes we deal with, our application(s) really benefitted from adding the sharding capabilities so we could move data with ease and ensure optimal performance. We were able to implement with immediacy, and the standardized framework enables us to manage the shards and have a solution in place for ongoing expansion of our platform—across all applications,” quoted Shawn Cutter, CEO of Fielding Systems.
Supporting the well-established database scaling strategy known as sharding, Elastic Scale allows developers to establish a “contract” that defines where different slices of data reside across a collection of databases. This enables applications to easily and automatically direct transactions to the appropriate database shard and perform queries that cross one or many shards using simple extensions to the ADO.NET programming model.
Elastic Scale also enables coordinated data movement between shards to split or merge ranges of data among different databases and satisfy common scenarios such as pulling a busy tenant into its own shard. This Split-Merge service is provided through a downloadable package that customers can deploy as an Azure cloud service into their own subscription.
We’re also excited to announce the Federation Migration Utility which is available as part of the preview. This utility will help current Federations customers migrate their Federations application to Elastic Scale without performing any data movement. As a reminder, the Federations feature will retire with Web and Business editions September 2015.