Azure Cache for Redis
Author: Ronald Fung
Creation Date: May 11, 2023
Next Modified Date: May 11, 2024
A. Introduction
Azure Cache for Redis provides an in-memory data store based on the Redis software. Redis improves the performance and scalability of an application that uses backend data stores heavily. It’s able to process large volumes of application requests by keeping frequently accessed data in the server memory, which can be written to and read from quickly. Redis brings a critical low-latency and high-throughput data storage solution to modern applications.
Azure Cache for Redis offers both the Redis open-source (OSS Redis) and a commercial product from Redis Inc. (Redis Enterprise) as a managed service. It provides secure and dedicated Redis server instances and full Redis API compatibility. The service is operated by Microsoft, hosted on Azure, and usable by any application within or outside of Azure.
Azure Cache for Redis can be used as a distributed data or content cache, a session store, a message broker, and more. It can be deployed standalone. Or, it can be deployed along with other Azure database services, such as Azure SQL or Azure Cosmos DB.
B. How is it used at Seagen
As a biopharma research company using Microsoft Azure, you can use Azure Cache for Redis to improve the performance and scalability of your applications by caching frequently accessed data in memory. Here are some ways you can use Azure Cache for Redis:
Improved application performance: Azure Cache for Redis can help you to improve the performance of your applications by reducing the number of requests to your database and serving data from memory instead.
Scalability: Azure Cache for Redis can help you to scale your applications by providing high-performance caching that can handle large amounts of data and high traffic loads.
Real-time data processing: Azure Cache for Redis can help you to process real-time data by providing sub-millisecond response times and supporting high-throughput scenarios.
Reduced database costs: Azure Cache for Redis can help you to reduce the costs of your database by reducing the number of requests and minimizing the need for additional database capacity.
Improved security: Azure Cache for Redis provides security features such as encryption, access control, and network isolation. This can help you to improve the security of your data and comply with regulatory requirements.
Overall, Azure Cache for Redis can help your biopharma research company to improve the performance and scalability of your applications by caching frequently accessed data in memory. With improved application performance, scalability, real-time data processing, reduced database costs, and improved security, Azure Cache for Redis can help you to optimize your application performance, reduce costs, and improve your overall data security and compliance.
C. Features
Azure Cache for Redis provides a number of features that can help you to improve the performance and scalability of your applications. Here are some of the key features of Azure Cache for Redis:
High-performance caching: Azure Cache for Redis provides high-performance caching that can handle large amounts of data and high traffic loads. It provides sub-millisecond response times, supports high-throughput scenarios, and can handle millions of requests per second.
Redis protocol support: Azure Cache for Redis is fully compatible with the Redis protocol, which means that you can use it with any Redis client library or tool.
Multiple data structures: Azure Cache for Redis supports multiple data structures such as strings, hashes, lists, sets, and sorted sets. This can help you to store and process different types of data more efficiently.
Data persistence: Azure Cache for Redis provides multiple options for data persistence, including snapshotting and AOF (append-only file) persistence. This can help you to ensure data durability and recovery in case of failures.
Security: Azure Cache for Redis provides security features such as encryption, access control, and network isolation. This can help you to improve the security of your data and comply with regulatory requirements.
Monitoring and diagnostics: Azure Cache for Redis provides monitoring and diagnostics features such as performance metrics, logging, and alerts. This can help you to identify and troubleshoot issues with your cache.
Integration with other Azure services: Azure Cache for Redis can integrate with other Azure services such as Azure App Service, Azure Functions, and Azure Virtual Machines. This can help you to extend the functionality of your cache and create more complex workflows.
Overall, Azure Cache for Redis provides a number of features that can help you to improve the performance and scalability of your applications, ensure data durability and security, and simplify monitoring and troubleshooting.
D. Where implemented
E. How it is tested
Testing Azure Cache for Redis involves ensuring that the cache is functioning correctly, securely, and meeting the needs of all stakeholders involved in the project. Here are some steps to follow to test Azure Cache for Redis:
Define the scope and requirements: Define the scope of the project and the requirements of all stakeholders involved in the project. This will help ensure that Azure Cache for Redis is designed to meet the needs of all stakeholders.
Develop test cases: Develop test cases that cover all aspects of Azure Cache for Redis functionality, including deployment, management, and security. The test cases should be designed to meet the needs of the organization, including scalability and resilience.
Conduct unit testing: Test the individual components of Azure Cache for Redis to ensure that they are functioning correctly. This may involve using tools like Redis-cli for automated testing.
Conduct integration testing: Test Azure Cache for Redis in an integrated environment to ensure that it works correctly with other systems and applications. This may involve testing Azure Cache for Redis with different operating systems, browsers, and devices.
Conduct user acceptance testing: Test Azure Cache for Redis with end-users to ensure that it meets their needs and is easy to use. This may involve conducting surveys, interviews, or focus groups to gather feedback from users.
Automate testing: Automate testing of Azure Cache for Redis to ensure that it is functioning correctly and meeting the needs of all stakeholders. This may involve using tools like Azure DevOps to set up automated testing pipelines.
Monitor performance: Monitor the performance of Azure Cache for Redis in production to ensure that it is meeting the needs of all stakeholders. This may involve setting up monitoring tools, such as Azure Monitor, to track usage and identify performance issues.
Address issues: Address any issues that are identified during testing and make necessary changes to ensure that Azure Cache for Redis is functioning correctly and meeting the needs of all stakeholders.
By following these steps, you can ensure that Azure Cache for Redis is tested thoroughly and meets the needs of all stakeholders involved in the project. This can help improve the quality of Azure Cache for Redis and ensure that it functions correctly in a production environment.
F. 2023 Roadmap
May 2023
Support for up to 30 shards for clustered Azure Cache for Redis instances
Azure Cache for Redis now supports clustered caches with upto 30 shards which means your applications can store more data and scale better with your workloads.
For more information, see Configure clustering for Azure Cache for Redis instance.
March 2023
In-place scale up and scale out for the Enterprise tiers (preview)
The Enterprise and Enterprise Flash tiers now support the ability to scale cache instances up and out without requiring downtime or data loss. Scale up and scale out actions can both occur in the same operation.
For more information, see Scale an Azure Cache for Redis instance
Support for RedisJSON in active geo-replicated caches (preview)
Cache instances using active geo-replication now support the RedisJSON module.
For more information, see Configure active geo-replication.
Flush operation for active geo-replicated caches (preview)
Caches using active geo-replication now include a built-in flush operation that can be initiated at the control plane level. Use the flush operation with your cache instead of the FLUSH ALL and FLUSH DB operations, which are blocked by design for active geo-replicated caches.
For more information, see Flush operation
Customer managed key (CMK) disk encryption (preview)
Redis data that is saved on disk can now be encrypted using customer managed keys (CMK) in the Enterprise and Enterprise Flash tiers. Using CMK adds another layer of control to the default disk encryption.
For more information, see Enable disk encryption
Connection event audit logs (preview)
Enterprise and Enterprise Flash tier caches can now log all connection, disconnection, and authentication events through diagnostic settings. Logging this information helps in security audits. You can also monitor who has access to your cache resource.
For more information, see Enabling connection audit logs
G. 2024 Roadmap
????
H. Known Issues
There are several known issues that can impact Azure Cache for Redis. Here are some of the most common issues to be aware of:
Configuration issues: Configuration issues can arise when setting up Azure Cache for Redis. It is important to ensure that all configurations are set up correctly to avoid issues with deployment, management, and security of the solution.
Performance issues: If the cache is not properly sized, it can impact performance and availability, causing issues with the speed and reliability of Azure Cache for Redis.
Integration issues: Integration issues can arise when integrating Azure Cache for Redis with other systems and applications. It is important to ensure that Azure Cache for Redis is designed to work seamlessly with other systems and applications to avoid integration issues.
Security issues: Security is a critical concern when it comes to Azure Cache for Redis. It is important to ensure that Azure Cache for Redis is secured and that access to the solution is restricted to authorized personnel.
Accuracy issues: In some cases, Azure Cache for Redis may not be accurate or may not apply to a specific use case. It is important to review Azure Cache for Redis carefully and validate it before taking action.
Compatibility issues: Azure Cache for Redis may not be compatible with all platforms, devices, or languages. It is important to ensure that Azure Cache for Redis is compatible with the organization’s existing infrastructure before implementation.
Testing issues: Testing issues can arise when testing Azure Cache for Redis. It is important to ensure that testing is carried out thoroughly and that all aspects of Azure Cache for Redis functionality are tested.
Overall, Azure Cache for Redis requires careful planning and management to ensure that it is functioning correctly and meeting the needs of all stakeholders involved in the project. By being aware of these known issues and taking steps to address them, you can improve the quality of Azure Cache for Redis and ensure the success of your project.
[x] Reviewed by Enterprise Architecture
[x] Reviewed by Application Development
[x] Reviewed by Data Architecture