How to Migrate from Self-hosted (Open Source) to RudderStack-hosted Setup
2 minute read
This guide is helpful if you want to migrate from your self-hosted instance to a RudderStack-hosted setup.
Control plane migration
If you are self-hosting your control plane using the Control Plane Lite utility, follow these steps to migrate to cloud:
- Sign up for RudderStack.
- Set up your sources and destinations in your RudderStack dashboard. See the Dashboard Guides for walkthroughs on setting up sources and destinations.
If you’re using the RudderStack-hosted control plane for your source-destination configurations, skip to Data plane migration.
While you can export your source-destination configurations in your self-hosted control plane, there is no way to import them in your RudderStack dashboard. Hence, you will have to set up the configurations manually.
Data plane migration
Follow these steps to switch from a self-hosted to RudderStack-hosted data plane:
- Update the
dataPlaneUrlparameter in all your SDK configurations to point to the RudderStack-hosted data plane URL. - Verify that the self-hosted data plane is no longer getting any requests. One way to do this is to check your load balancer metrics to verify if any requests are still received on your data plane.
- Ensure that all events received in the self-hosted data plane are delivered.
Keep the self-hosted data plane running for a day or two to ensure that all events are delivered.
- Shut down the self-hosted data plane depending on your deployment method. For example, if you have deployed the data plane using Helm, run the following command:
helm delete <rudderstack-release-name>Replace the rudderstack-release-name with the release name of the Helm chart you want to delete.
Best practices
- For mobile SDKs, your customers need to update their mobile applications. You can keep the self-hosted data plane online until a satisfactory number of customers have updated their mobile application or there are no more events coming in to the self-hosted data plane. Alternatively, you can run an API Gateway or Cloudflare workers to proxy the requests from your self-hosted data plane URL to the RudderStack-hosted data plane URL.
- With mobile SDKs, if you are using Firebase to serve values like
writeKeyanddataPlaneUrl, there is no need to update the mobile application to point to the RudderStack-hosted data plane. - The process of switching the data plane can hamper the order of events as events are sent both from the RudderStack-hosted and self-hosted data plane at the same time for a while. Hence, choose a low-traffic time slot to carry out this activity.