TypeStrong / typedoc-auto-docs

An idea from TS Discord to automatically render docs for the ecosystem, similar to docs.rs and doc.deno.land
MIT License
10 stars 4 forks source link

Hosting: Gh Pages, netlify, S3 + CloudFront, etc #2

Open cspotcode opened 2 years ago

cspotcode commented 2 years ago

MVP can be hosted on GH Pages. Eventually it may be necessary to host elsewhere. This issue exists to discuss non-gh-pages hosting options.

cspotcode commented 2 years ago

Today I learned Amazon's Free Tier includes a number of products free forever. It's an option for handling the compute workload. https://aws.amazon.com/free/?all-free-tier.sort-by=item.additionalFields.SortRank&all-free-tier.sort-order=asc&awsf.Free%20Tier%20Types=tier%23always-free&awsf.Free%20Tier%20Categories=*all&awsm.page-all-free-tier=2

Products that are free forever (with monthly usage limits): DynamoDB - could be used as database SQS - message queue, could be used for work queue Lambda - could be used as render worker

keithlayne commented 2 years ago

Hmmm. AWS is the only cloud provider I've really used for the last 10 years and I didn't realize there were "always free" products in the free tier vs. only 12 months.

Notably, ec2 and cloudfront are in the 12 month category. I feel like s3 and data transfer would be the biggest hits with AWS evenutally.

I could imagine architecting a very AWS-centric setup designed around minimizing costs. But, things are really hard to predict. If this project got popular, with daily use by a lot of people, costs might not be very predictable.

Mainly, I'd like to squeeze as much compute out of GH Actions as is reasonable without violating the spirit of their policy for open-source projects. My preference for lambda is to only use it for bursty workloads that have non-small (whatever that means) resource requirements. I'm pretty sure that upping the memory or compute allocation would change or violate the free tier conditions, but I'm not sure. They say "Up to 3.2 million seconds of compute time per month" but that might be misleading, and I would expect typedoc or the compiler API to potentially use a lot of memory.

I could also image using GH to crank out JSON from typedoc and then rendering to html in lambda maybe. My point being that optimizing in this way can easily lead you into designs that you wouldn't otherwise use.

Obviously this is a way-too-early assessment on my part, but I'm tossing in my 2 cents while I'm thinking about it.

keithlayne commented 2 years ago

I also think Fastly's Compute@Edge thing looks really cool.

Fastly supports client SDKs for several languages that can compile to Compute@Edge compatible Wasm packages.

You can use any one of "several" languages, as long as it's rust or AssemblyScript. :)

cspotcode commented 2 years ago

Adding CloudFlare to the list. I don't remember if they have any free options for OSS.