Description
In order to save the project costs, we're moving the GraphQL portion of the API off of Cloudflare Workers, and onto a Virtual Machine. This is due to two compounding factors. The first of which is the end of Stellate's generous open source tier of caching. The second is changes to Cloudflare Workers' pricing model. The end result is significantly higher CPU time in workers, and an increased cost for that CPU time. By moving the highest CPU time to a virtual machine, we can hopefully cut total costs back to similar levels before these factors came into play.
API requests will still go through Cloudflare Workers, however that is primarily to seamlessly transition our current settings like our WAF settings. When an API request is received to the workers, they will check the cache machine for an already-processed result, and fall back to requesting a new result from the API Virtual Machine.
- Setup express based server for GraphQL API
- Create Dockerfile and updated CI/CD workflows for deployment
- Create separate repository to move Cloudflare Worker code to
- Simplify Cloudflare Worker code to check cache machine, and fall back to Virtual Machine for compute
- Update environment secrets
- Automate Virtual Machine initial setup