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

Document proposed architecture #1

Open
rviscomi opened this issue Mar 21, 2023 · 5 comments
Open

Document proposed architecture #1

rviscomi opened this issue Mar 21, 2023 · 5 comments
Assignees

Comments

@rviscomi
Copy link
Member

Describe how we'd serve data from the API endpoint, extracting from BigQuery and updating at the end of each monthly crawl

@rviscomi
Copy link
Member Author

rviscomi commented Sep 1, 2023

httparchive.core_web_vitals.technologies is the source of truth and there will be one script for each of the API endpoints that query the data from the table

@rviscomi
Copy link
Member Author

rviscomi commented Sep 1, 2023

Hook into the automated pipeline to update API data on Firestore on a monthly basis: https://github.com/HTTPArchive/data-pipeline/blob/main/data-pipeline.workflows.yaml

Changing the API code itself will require a manual deployment script

@rviscomi
Copy link
Member Author

rviscomi commented Sep 1, 2023

API security: as needed implement CORS and/or API keys

@rviscomi
Copy link
Member Author

rviscomi commented Sep 8, 2023

Firestore

  • global instance?
  • lives in the project, serverless service
  • not like a VM instance
  • data stored in us-east
  • possible to put a CDN in front of API gateway

@maceto
Copy link
Collaborator

maceto commented Sep 16, 2023

@rviscomi @tunetheweb I changed the region for the project to us-east4, which is the default for the project. Now Firestore database, API gateway, and cloud functions are all in the same region. It should work with the performance.

And looking for information about CDN in front of the API, I found this documentation https://cloud.google.com/api-gateway/docs/multi-region-deployment

I tried to test it but I don't have permission to create all necessary resources.

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

No branches or pull requests

3 participants