Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MyMeta]: Create instances of the backend services for individual pull requests #823

Closed
dysbulic opened this issue Sep 15, 2021 · 0 comments · Fixed by #841
Closed

[MyMeta]: Create instances of the backend services for individual pull requests #823

dysbulic opened this issue Sep 15, 2021 · 0 comments · Fixed by #841
Assignees
Labels
backend Backend related issues

Comments

@dysbulic
Copy link
Member

Currently, the only way to test changes to the backend are to merge them into develop and use test.metagame.wtf. For frontend changes, an individual instance is created in Vercel for each pull request. We would like that functionality optionally for the backend.

The backend is currently deployed to render.com where production and staging instances are running.

A significant portion of our requests are frontend only, so do not really need this functionality.

Ideally, this would be an optional step where a user could run a command and change the Vercel test instance for a pull request from running against the staging backend to running against an a custom instance with that request's code. Or, at least, choose whether or not to use the staging backend when creating the pull request.

The instances should also be automatically destroyed when the pull request is merged to develop.

My slight concern is cost. The backend consists of Hasura, Express, and Postgres instances. The cost per server per month is $7 on Render ($21 per site). At any given time there are, perhaps, 15 pull requests open (though half of those are generally dependabot). An additional, say, seven instances running would significantly increase maintenance costs.

I'd really like to be able to put a number to the cost per month of having backend testing instances.

I have repeatedly looked into Kubernetes hoping to use Google's free tier as much as possible to reduce costs. Unfortunately, the learning curve for K8s is pretty steep and I've not yet been able to deploy everything.

@Blairv started the process of creating the test servers using Docker Swarm to avoid the complexity of K8s, but after one pairing session we have not pursued it further. In fairness, my interest in Docker Swarm isn't as great as Kubernetes, which I keep hearing about.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
backend Backend related issues
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants