We are very happy to announce the general availability of geo-replication support for Azure Redis Cache. Redis Cache is Microsoft Azure’s Cache-as-a-Service offering, based on the popular open source Redis in-memory key-value store. With geo-replication support, Redis Cache joins a growing list of Azure services that enable developers and IT pros to build disaster recovery plans. This ensures the availability of mission-critical applications running on our cloud, even in the unlikely event of a widespread regional failure. In fact, customers can already design disaster resilient solutions on Azure, using Virtual Machines with Azure Site Recovery, Traffic Manager, and data services such as Cosmos DB, SQL Database, and now Redis Cache.
While announcing the general availability of geo-replication for Redis Cache, we would also like to take the opportunity to express our gratitude to everyone who has participated in the public preview. Your feedback has been invaluable to us and helped validate our implementation. Thank you!
Setting up geo-replication in Redis Cache
Geo-replication is a feature of the premium tier of Azure Redis Cache. You need a pair of premium cache instances before you can use geo-replication. If you already have a premium cache, you just need to add another one in a secondary Azure Region of your choice. If you are currently using a basic or standard instance, you will have to upgrade it to premium before you can enable geo-replication for that. Currently you can set up only one geo-replicated cache with each primary cache. While there is no restriction on where you can place them, we recommend that you put your caches in different Azure Regions for better resiliency.
You set up geo-replication by linking your two instances of Azure Redis Cache together. The simplest way to do this is using the Azure Portal, and you can see detailed step-by-step instructions in our documentation: How to configure Geo-replication for Azure Redis Cache.
Once your Azure Redis Cache instances are configured for geo-replication, the primary cache instance will process client requests just as before, but the replica will accept data replication from the primary. The replica is available in read-only mode, so you can immediately use it with an application running on the secondary region.
Managing failover
For optimal cache performances, customers should always co-locate in the same Azure Region. A Redis cache with the application using typical Azure Redis Cache response times, including roundtrip network latency, are in single-digit milliseconds when both the client and server reside in the same region. Otherwise, the physical distance between two Azure Regions can add significant delays to the overall response time. Because of that, Azure Redis Cache will not automatically failover to a geo-replicated cache in another Region.
In the unlikely event of a regional-level service outage, you would want to orchestrate the geo recovery of your entire application stack to a secondary region through a sequence defined by your business continuity plan. For example, if your application runs in two, fully redundant Azure Regions with requests routed by Traffic Manager, you need to failover the Azure Redis Cache before you instruct Traffic Manager to redirect all incoming requests to the secondary region. You can failover to your geo-replicated, secondary cache at anytime by unlinking it from the primary and configuring your application, presumably in the same Azure Region, to use it instead of the primary. When a geo-replication link between two cache instances is removed, the secondary cache becomes an independent primary and can accept write requests. You can delete a geo-replication link manually using the Azure Portal or automate the action with a PowerShell command.
Pricing
Geo-replication is included in the pricing of the Azure Redis Cache premium tier. However, you will be charged standard fees for any network egress traffic that is resulted from cross-geo data replication.
Give it a try
Azure Redis Cache geo-replication is a valuable tool to protect your important data against unforeseeable disasters. By leveraging this and other Azure services’ geo-redundancy capabilities, you can implement a strong disaster recovery plan for your services running on the cloud, ensuring availability for your mission-critical applications.
If you have any question or feedback, please contact us at AzureCache@microsoft.com.