This document describes how you define the scope of your migration to deploy RIOT Live Migration to migrate to Redis Enterprise Cloud in a production environment. Database architects, DevOps and SRE teams, or Network administrators can use this architecture to offer near-zero downtime migrations to their teams. This document assumes that you're familiar with using the Google Cloud CLI and Compute Engine.
To define the scope of your migration, you complete the following steps:
- Assess the source environment.
- Build an inventory of your source instances.
- Identify and document the migration scope and affordable downtime.
- Assess your deployment and administration process.
Assess the source environment
To assess your source environment, you determine the requirements and dependencies of the resources that you want to migrate from Redis OSS, AWS ElastiCache, and Azure Cache for Redis to a fully-managed Redis Enterprise Cloud instance in Google Cloud.
The assessment phase consists of the following tasks:
- Build a comprehensive inventory of Redis-compatible workloads.
- Perform data sizing and Redis Cluster sizing:
- Review networking requirements such as VPC peering or Private service connect.
- Calculate the total cost of ownership (TCO) of the target environment by visiting the Redis Enterprise Cloud Pricing page.
- Decide on the order and priority of the workloads that you want to migrate. Create different subscriptions to consolidate databases with similar purposes such as development or test, staging, and production.
Build an inventory of your source instances
To define the scope of your migration, you create an inventory of your source instances from Redis OSS, AWS ElastiCache, and Azure Cache for Redis. The goal of this step is to collect information about each database, such as memory limit, IOPS, and durability requirements.
- Generic properties at the
subscription level:
- The region of your subscription
- Active-Active geo distribution
- Auto-tiering (receive lower total cost of ownership if memory limit is over 250GB or more)
- Configurations for each database:
- Memory limit and throughput (operations per second)
- High availability
- Durability requirements
- Advanced capabilities such as search, JSON, time series, and probabilistic for each database
- Connection information including port, user, and other security options
- Requirements and constraints:
- Recovery point objective (RPO) and recovery time objective (RTO)
- Service level agreements (SLAs)
- Regulatory and compliance requirements (see the Redis Customer Trust Center)
- Authentication and security requirements
Identify and document the migration scope and affordable downtime
To have a successful migration, you need to have a migration scope in place. To scope your migration, you document essential information that influences your migration strategy and tooling. By this stage of the assessment, you can answer the following questions:
- Are your databases larger than 250GB? If so, you will receive a lower total cost of ownership if auto-tiering is enabled.
- Where are the databases located (regions and zones) and what is their proximity to applications?
- How often does the data change?
Many components of this effort are already described in the preceding section "Build an inventory of your source instances." However, there are other aspects that you need to consider in this step, like documenting the scalability, durability, and security requirements and constraints that need to be upheld. We recommend that you review the Redis Trust Center for industry and compliance certifications, and discuss them with your business owners and legal team if necessary.
You should also define a thorough migration scope. You can use the output from tools like ECstats and acrp2acre to define the sizing requirements for your Redis Enterprise Cloud instances in Google Cloud. Review the attributes of each database instance, such as scalability, and security requirements. If the database size is greater than 250 GB, we recommend that you use auto-tiering. We also recommend that you group databases with similar characteristics and security profiles into a single subscription. Doing so will help ensure that your database migration doesn't affect your existing SLA and business operations.
Assess your deployment and administration process
To ensure that there aren't any unnecessary interruptions to your production environment, we recommend that you assess the operational and deployment processes of your database. The assessment should help you to determine how your databases need to be adapted to facilitate a successful migration.
- Assess how you define and enforce security policies for your database instance to control access to your database.
- Assess your monitoring and alerting requirements by defining notification emails sent to your account and the conditions that trigger them.
- Collect and visualize your Redis Cloud metrics by using the Redis Prometheus and Grafana integration.
What's next
- Read Google Cloud data migration content.
- For more in-depth documentation and best practices, review RIOT documentation.
- For more reference architectures, diagrams, and best practices, explore the Cloud Architecture Center.
Contributors
Authors:
- Saurabh Kumar | ISV Partner Engineer
- Gilbert Lau | Principal Cloud Architect, Redis
Other contributors:
- Chris Mague | Customer Engineer, Data Management
- Gabe Weiss | Developer Advocacy Manager
- Marco Ferrari | Cloud Solutions Architect