Using Azure Redis with DataRobot¶
Introduction¶
DataRobot supports the integration of external caching solutions, including Azure Redis (version 6.0), to optimize performance and enhance data retrieval. This documentation provides step-by-step instructions on configuring DataRobot to utilize Azure Redis as a caching layer.
Steps to configure Azure Redis (version 6.0) with DataRobot¶
1. Create an Azure Redis cache¶
- Log in to the Azure Portal.
- Navigate to the Azure Cache for Redis service.
- Click "Add" and select "Redis Cache" as the type.
- Choose "Engine Version 6" as the version.
- Follow the on-screen instructions to configure your Azure Redis Cache, specifying details such as cache name, resource group, pricing tier, and SKU.
- Set your Name
-
Choose an appropriate Cache size based on the requirements.
-
Enterprise Authentication: Ensure that "Microsoft Enterprise Authentication" isn't enabled.
2. Configure private endpoint for Azure Redis cache (optional)¶
- Private Endpoint for Azure Redis Cache enhances security by providing private connectivity to the cache instance within your virtual network.
- In the Azure Portal, navigate to your Redis Cache instance.
- Under Settings, select Private endpoint connections.
- Click + Add and follow the on-screen instructions to create a new private endpoint connection.
- Choose your virtual network, subnet, and enable private DNS integration if needed.
2. Obtain Azure Redis cache connection details¶
- Once the Redis Cache instance is created, you can obtain the connection details, including the connection string.
- Navigate to the overview page of your Redis Cache instance.
- Under the "Authentication" section, locate and copy the Primary connection string. These connection strings contain the necessary information for connecting to your Redis Cache instance.
- To parse the connection string and extract the required information such as Hostname, Port and password
3. Configure DataRobot to use Azure Redis cache with Username and Password¶
When DataRobot is configured to utilize an external Redis service, additional YAML override values must be provided.
Default username configured with access key as password¶
By default if nothing is configured, username is set as default. If access keys are set for authentication for the default user, update the values manifest file to support this configuration.
redis:
auth:
password: YOUR_AZURE_REDIS_PASSWORD
then add to your values.yaml within the datarobot chart.
global:
redis:
internal: false
hostname: "YOUR_AWS_ELASTICACHE_REDIS_PRIMARY_ENDPOINT"
port: "YOUR_AWS_ELASTICACHE_REDIS_PORT"
tls: true
sentinel:
enabled: false
auth:
password: YOUR_AWS_ELASTICACHE_REDIS_PASSWORD
core:
config_env_vars:
REDISPROXY_PORT: YOUR_AZURE_REDIS_PORT # Azure Redis default TLS port is 6380
buzok-onprem:
buzok-worker:
services:
redis:
tls: true
cluster: false
useSentinel: false
host: YOUR_AZURE_REDIS_HOSTNAME
port: YOUR_AZURE_REDIS_PORT # Azure Redis default TLS port is 6380
Custom username configured with access key as password¶
If the user is configured with a custom name (and not default), configure the values below along with the access key set for this user for authentication in the values.yaml file.
redis:
auth:
username: YOUR_AZURE_REDIS_USERNAME
password: YOUR_AZURE_REDIS_PASSWORD
Then add your values.yaml to datarobot chart:
global:
redis:
internal: false
hostname: "YOUR_AZURE_REDIS_PRIMARY_ENDPOINT"
port: "YOUR_AZURE_REDIS_PORT"
tls: true
sentinel:
enabled: false
auth:
username: YOUR_AZURE_REDIS_USERNAME
password: YOUR_AZURE_REDIS_PASSWORD
core:
config_env_vars:
REDISPROXY_PORT: YOUR_AZURE_REDIS_PORT # Azure Redis default TLS port is 6380
REDIS_USERNAME: YOUR_AZURE_REDIS_USERNAME
buzok-onprem:
buzok-worker:
services:
redis:
tls: true
cluster: false
useSentinel: false
host: YOUR_AZURE_REDIS_HOSTNAME
port: YOUR_AZURE_REDIS_PORT # Azure Redis default TLS port is 6380
notebooks:
global:
deployment:
common:
envVars:
WEBSOCKET_BROKER_USERNAME: YOUR_AZURE_REDIS_USERNAME
4. Configure DataRobot to use Azure Redis cache with Managed Identity¶
We support configuring DataRobot with Redis configured to use managed identity/entraid that uses workload JWT federated token to authenticate instead of access keys.
Username is the ObjectId associated with managed identity in Azure Redis Cache, which can be found under Settings -> Authentication -> Microsoft Entra Authentication Tab
Note
Please ensure that you have granted Data Owner access policy to user-managed identity to be able to access all keys in Redis.
Update the values manifest with the following:
global:
podLabels:
azure.workload.identity/use: "true"
redis:
auth:
use_managed_identity: true
username: YOUR_AZURE_REDIS_USERNAME
tls: true
core:
config_env_vars:
REDIS_USE_MANAGED_IDENTITY: "True"
REDIS_USE_TLS: "True"
Azure Redis Cache snapshots¶
Azure Redis Cache offers import and export as a data management operation. You can configure automatic backups and perform manual backups to ensure data durability and recovery options in case of failures. Refer to the Azure Cache for Redis documentation for more information on backup options and best practices.
Conclusion¶
By following these steps, you can seamlessly integrate Azure Redis (version 6.0) with DataRobot, providing an efficient caching layer to enhance performance. This setup improves data retrieval and overall system responsiveness. If issues arise, refer to DataRobot documentation and Azure Redis Cache documentation for troubleshooting guidance.
Note: Always ensure that you follow best practices for security and compliance when configuring external caching solutions with DataRobot.