Options:
- [[Elasticsearch]]: Using [[AWS]]'s managed [[AWS Elasticsearch Service]] service. Not fully serverless though, requires provisioning of right instance size.
- [[Algolia]]
- #TODO any other options to consider?
## Comparing pricing of AWS Elasticsearch Service and Algolia
This is really hard to do a like-for-like comparsion, mainly due the fact that AWS ES pricing isn't [[A serverless service offers pay-per-use pricing|pay-per-use]] and due to all the complex variables involved in [Sizing an AWS ES Domain](https://docs.aws.amazon.com/elasticsearch-service/latest/developerguide/sizing-domains.html).
To do a very simplistic comparison, I'll use 2 different instance sizes (the default and the smallest), both in a minimal 2-node cluster configuration, and show what the equivalent number of Algolia searches would be:
1. Using the default ES instance size of `r5.large.elasticsearch` (2 vCPU + 16 GiB memory) = $0.186/hr. 2 instances = $268/mo. Equivalent number of Algolia searches = 189,000/mo (including 10k free)
2. Using `t2.small.elasticsearch` (1 vCPU + 2 GiB memory) = 0.036/hr. 2 instances = $52, but only $26 since 1 instance will be covered by free tier. Equivalent number of Algolia searches = 27,333/mo (including 10k free).
---
## References
- [Twitter convo on "what is THE serverless solution for full text search ?"](https://twitter.com/brianleroux/status/1361438298497945600) by [[@Brian LeRoux]]
- [The Elasticsearch sideshow and why Algolia is the better bet](https://searchcloudcomputing.techtarget.com/opinion/The-Elasticsearch-sideshow-and-why-Algolia-is-the-better-bet) by [[@Joe Emison]]
---
tags: #Serverless #Search