How to Migrate from Self-hosted (Open Source) to RudderStack-hosted Setup

Migrate from self-hosted RudderStack control plane and data plane to the RudderStack-hosted setup.

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:

  1. Sign up for RudderStack.
  2. 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.

info
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:

  1. Update the dataPlaneUrl parameter in all your SDK configurations to point to the RudderStack-hosted data plane URL.
  2. 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.
  3. Ensure that all events received in the self-hosted data plane are delivered.
tip
Tip: Keep the self-hosted data plane running for a day or two to ensure that all events are delivered.
  1. 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 writeKey and dataPlaneUrl, 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.

Questions? We're here to help.

Join the RudderStack Slack community or email us for support