deptagency / algomart

Algorand NFT Storefront platform
https://demo.algomart.dev/
MIT License
183 stars 79 forks source link

Switch from Cloud Run to an alternative (Compute Engine/Kubernetes/??) #20

Open smonn opened 3 years ago

smonn commented 3 years ago

Overview

As Cloud Run imposes some limitations that are proving hard to workaround, let's switch to Compute Engine (or some other non-serverless GCP option).

kevlarr commented 3 years ago

Before committing to the overhaul, I'd like to at least verify that using GCS as a backing store for the CMS isn't also an issue. That is, we should make sure that we can use Directus locally but point to GCS rather than local disk storage.

brandonaaskov commented 3 years ago

If we find that this is a pain, we can also lean on Google Cloud Storage for this stuff. Asking a customer to encode video for the previews isn't asking too much IMO, especially if they're already selling a source video asset that they likely edited/created/exported.

kevlarr commented 3 years ago

@brandonaaskov Are you suggesting that they only upload the smaller preview through Directus and only link to the real one in the asset URL or something?

tylrw commented 3 years ago

Hey, I just discovered this project. GKE Autopilot might be a reasonable option depending on the Cloud Run limitations you're having. Autopilot comes with some limitations as well.

There is an enable_autopilot argument on the Terraform cluster resource.

kevlarr commented 3 years ago

Welcome @rtwall! Thanks for the suggestion - any particular limitations with Autopilot that come to mind?

tylrw commented 3 years ago

Thanks @kevlarr! Happy to help where I can. An issue I previously worked around was for cert-manager:

Looks like a new Autopilot release addresses the above.

There could also be challenges with 3rd party metrics:

Google provides a list of limitations here:

kevlarr commented 3 years ago

Awesome, thanks @rtwall! It's really helpful to get context like this before just diving in

theothermattm commented 2 years ago

I'm not sure that pursuing GCP specific options is the best idea if you're aiming for wide adoption in an open source project. Though it might be heavy handed, I would consider just moving to a Kubernetes based setup which could be implemented on any cloud provider. @smonn and @juttayaya your thoughts.

smonn commented 2 years ago

I'm not sure that pursuing GCP specific options is the best idea if you're aiming for wide adoption in an open source project. Though it might be heavy handed, I would consider just moving to a Kubernetes based setup which could be implemented on any cloud provider. @smonn and @juttayaya your thoughts.

@theothermattm Good point! We'll be going for Kubernetes to avoid vendor lock-in. The Terraform setup will be different no matter what, but as long as it can run in a Kubernetes environment I think we'll be in a good place.