On December 12th Microsoft announced the preview of it newest service targeted at providing durability to business critical data, the Read Access Geo Redundant Storage or RA-GRS for short.
This service creates a read-access only secondary replica of the desired storage account and once enabled provides an endpoint name for the secondary replica. In case of a disaster situation where the primary storage account becomes unavailable, read requests can be routed to the secondary replica.
Key features of this Service:
- Follows eventual consistency
- Uses the same Secret Keys and Shard Access Signature as the primary storage account
- The Secondary endpoint name is added with a suffix “-secondary” for identification as secondary endpoint
- Storage Analytics are also available
- The Storage Client Library 3.0 (REST v 2013-08-15) also provides support for RA-GRS in terms of:
- Querying the Last Sync Time
- Automatically retrying the secondary replica if primary is unavailable
Keep in Mind:
- Any PUT/DELETE request to this secondary replica returns an HTTP code 403.
- The canonicalization of the resource to access the primary and secondary endpoint must remain the same else it may not be able to read from the secondary endpoint when needed.
How does it work?
RA-GRS uses eventual asynchronous replication but since transactions across Partition Keys can happen out of order, the service uses a Recovery Point Objective time called “Last Sync Time” for data availability in the secondary replica. In this process all updates to primary storage before the Last Sync Time are guaranteed to be available for read from secondary replica. Updates after the Last Sync Time may or may not be available.
Last Sync Time values are available for Blobs, Tables & Queues and can be obtained using the REST API “GetServiceStats“.
SLA: High Read Availability of 99.99+% (compared to normal GRS which is 99.9+%)
Pricing: As low as $0.12/GB for the first TB ($0.105/GB during preview). For more details visit the pricing page.
How to try this service?
Currently this service is available as a limited time preview and needs to be requested for. Once request is approved, it can be enabled from the Windows Azure Management Portal by configuring the storage account’s replication property to “Read Access Geo-Redundant Storage“.
It can also be enabled through the Windows Azure Service Management API by setting the value SecondaryReadEnabled to true.
Keep Coming for more on Windows Azure…