codeforboston / codeforboston/maple

Migrate to Typesense Cloud

Open
#1,609 1 comment 0 reactions 0 assignees View on GitHub
backend tech debt
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.