Upgrading Instances on Hosted Dolt
Hosted Dolt is for running online, production Dolt databases. Last year we added support for read replicas. You can choose up to 8 read replicas and every write to the primary server is replicated to the read replicas. Since then, we've incrementally been making replication improvements.
Cluster replication is now reliable enough to support more advanced workflows. Until recently, if you wanted to add or remove replicas from your deployment you either needed to start a new deployment or get help from the Dolt team. Hosted Dolt now supports adding and removing replicas from the web UI. This comes with a few new user capabilities:
- Change the number of read replicas without creating a new deployment
- Upgrade your deployment to a bigger instance
- Restart a stopped deployment from a backup
- Have replicas of different sizes
How it works
Hosted Dolt's control plane works by monitoring the current state of the instances being run in your cloud of choice, and comparing that with what should be running. If there are any differences, it will automatically reconcile the state of the instances to match the desired state.
The control plane handles adding and removing instances from a deployment by automatically updating the state of the instances and reconfiguring replication to account for the changes. If you delete your primary server it will make sure that replicas are up-to-date before promoting a new primary and deleting the instance. This is all done without any downtime to your application.
Resizing your deployment
Every deployment now has an Instances tab where you can view information about each instance and add, change, or remove your instances.
You can use the trash button to remove an instance:
Or the "Add Instance" button to add an additional read replicas. You can choose to add an instance of any size within the deployment's zone.
Upgrade your deployment
Sometimes you originally choose an instance of a certain size and end up outgrowing it. You can now upgrade to a larger instance from the UI without starting a new deployment.
First, add a new instance in the larger size. You will be able to see the new hourly and monthly costs when instance information is selected.
Make sure the instance has started. Then use the Change primary
button to make the
larger instance your primary.
Then remove the original instance.
Restart your deployment
Previously when you stopped a deployment it was not possible to restart it. You needed to start a new deployment from a backup and choose a new name.
Now you can restart a stopped deployment by adding a new instance to the deployment. You can choose to start fresh or use a backup.
Conclusion
We're excited that cluster replication is reliable enough to support Hosted Dolt features to make it easier for you to better manage replicas and instance upgrades. If you have any questions or comments please join our Discord or file a GitHub issue and let us know what you think.