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

Moving to GCP #157

Open
wants to merge 36 commits into
base: master
Choose a base branch
from
Open

Moving to GCP #157

wants to merge 36 commits into from

Conversation

lipis
Copy link
Member

@lipis lipis commented Jan 18, 2021

We are keep getting more and more errors from Heroku, so in general we are investigating to move away.

Rationale for moving to GCP

We are already using the following services from Google:

  • Google domains
  • Storage Server (GAE)
  • Persistent rooms (Firebase)
  • Google Search Central (former Webmasters)
  • Tracking (Google Analytics)
  • Our own stats (Google Analytics API)
  • Google Workspaces (soon)

So instead of getting yet another service like DO or AWS, why not continuing adding to GCP, since we already have bunch of things there and one active billing account.

Pros

  • Same Google account to access dashboards & deploy
  • Auto scaling by Google :)
  • Faster responce times than Heroku (source: https://status.excalidraw.com)
  • Migration is basically done with this PR

Cons

  • The only issue is that it might be pricey. We still need to investigate that, and we potentially could get some free credits from Google for our tests.

Either case we shouldn't reject something just because it's a bit more expensive, especially if it offers benefits and we should never care about the performance and downtimes.


To test this PR on GCP

Useful links

@lipis lipis marked this pull request as ready for review January 19, 2021 00:57
@lipis lipis changed the title Testing GCP Moving to GCP Jan 19, 2021
* master:
  Update readme and prettier
  Test and build
* 'master' of github.com:excalidraw/excalidraw-room:
  Revert "Bump socket.io from 2.3.0 to 2.4.0" (#163)
  Bump socket.io from 2.3.0 to 2.4.0 (#162)
  Bump @types/node from 14.14.21 to 14.14.22 (#160)
* 'master' of github.com:excalidraw/excalidraw-room:
  Add test images (#165)
* 'master' of github.com:excalidraw/excalidraw-room:
  const
@kbariotis
Copy link
Contributor

kbariotis commented Feb 8, 2021

@lipis we can't have multiple instances of this app unless we configure them to be able to talk to each other socket.io servers right? Am I missing something?

There is more information here.

@dwelle
Copy link
Member

dwelle commented Feb 8, 2021

@kbariotis The goal is to replace the heroku server, not to add another server on top.

That said, while we can move to GCP temporarily to improve perf, we'll want to use a different host because the pricing of GCP App Engine is criminal (unless we put the instances to sleep if unused, but long-term (even short-term) that's not gonna be a solution because the traffic will be unyielding).

But, mid-term we'll want to use several instances for sure.

@kbariotis
Copy link
Contributor

@dwelle sorry I should have link to the code. I meant this horizontal scaling. I'm personally not sure how the app will handle multiple instances.

@lipis
Copy link
Member Author

lipis commented Feb 9, 2021

I have some updates about GCP.. it might be a bit cheaper than we think :)

* 'master' of github.com:excalidraw/excalidraw-room:
  Bump @types/node from 14.14.22 to 14.14.25 (#168)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants