codeforboston / codeforboston/maple
Migrate to Typesense Cloud
- Dominant language
- TypeScript
- Stars
- 56
- Forks
- 175
- Avg merge
- 2d 5h
- Merged PRs (30d)
- 13
Description
## Problems
We've dealt with a number of issues due to the complexities of our Typesense setup, namely:
* Bugs in updating collection definitions
* Lack of expertise in Typesense
* Most unique/complicated part of our stack
* Highest ongoing cost
In order to simplify our Typesense setup and reduce the operation cost of the search server, we should migrate from our custom Typesense setup to Typesense Cloud.
## Success Criteria
* Create Typesense Cloud account
* Set up a search server with specs (1 GB RAM; 2 vCPUs, 4 hr burst per day; NO high availability; NO search delivery network; region of North Virginia)
* This roughly mirrors the current configuration of our privately run Typesense server
* Typesense Cloud's pricing estimate is that this will cost ~$30/month for a cluster - given that we run a DEV and PROD server, this is still a significant cost saving with a clear upgrade/scaling path should we get the funding for it.
* Reconfigure the Typesense Client to point to the new cloud cluster
* The new configuration should be behind a toggleable flag for the initial rollout
* Re-index the existing search collections into Typesense Cloud
* Should just be able to run the existing indexer job with the new client configuration
* Spin down the older cluster
* Update Typesense documentation on the MAPLE Github wiki
## Additional Links
* Typesense Cloud Pricing: https://cloud.typesense.org/pricing/calculator?memory=1_gb&vcpu=2_vcpus_2_hr_burst_per_day&gpu=no&high_perf_disk=no&typesense_server_version=26.0&ha=no&sdn=off®ions=n_virginia
* Typesense Docs: https://typesense.org/docs/
This may end up being enough work to split into multiple tickets - this is a bit of a brain dump.
Contributor guide
Assessment
This issue has not been assessed yet.