Managed Azure Cache
What’s the difference compared to our old Redis?
Azure Cache provides us with a managed solution for Redis that allows for replication across regions and zones. What this means is that if a primary node is taken down then a replica will take its place as the primary limiting the amount of downtime. Another difference is that Azure Cache requires you to connect with SSL and a password which you’ll need to get from Vault.
Which version / class of Azure Cache do we use?
We’re defaulting to using P1 which allows for a 6GB cache, replication across zones, clustering, persistence and more. What you need of that will determine the configuration.
How do I get a cache created?
Ask in #org-infrastructure to have one created. You will need to know if you require more than the default 6GB of cache for P1 (Premium) in production or 1GB of cache for C1 (Standard) in the lower environments. More cache size will generally mean doubling the amount each tier greater, which also doubles the cost. There are also some other options like clustering and persistence if necessary that will require a Premium tier. If you require bloom filtering, it requires an Enterprise tier. Other options that are available are maxmemory_delta, maxmemory_reserved, maxfragmentationmemory_reserved (all 3 default to 50MB), maxmemory_policy (defaults to volatile-lru), and replicas per leader (default 1). If any of these should be different than the default, include it in the request.
The cache requires a TLS connection and a password. The password will be written at a path in Vault, which will require an update to your app’s policy to read from. The hostname to connect to the cache will be <cache name>.<env>.banno-internal.com and the port will be the standard TLS Redis port 6380.
More Reading
https://learn.microsoft.com/en-us/azure/azure-cache-for-redis/cache-high-availability https://learn.microsoft.com/en-us/azure/azure-cache-for-redis/