Files
grocery-management-obsidian/Cloud Infra.md

1.5 KiB

Cloud Run

  • Docker/k8s based
  • Billed by nearest 100ms of runtime
  • First 240000 vCPU-seconds free/mo
    • 0.00001800/vCPU-second after
  • First 450000 GiB-seconds free/mo
  • Has CPU allocated only during request option
    • 2M free requests/mo
    • $0.40 per million requests after
  • Can't find in pricing calculator?
  • Seems to be fully managed k8s

App Engine

  • Standard environment has free tier
  • Allocated managed machine

Cloud Functions

  • Still can't find information on performance for .NET runtime performance/cold start
  • Pricing affected by:
    • Function run time
      • Affected by memory and vCPU allocation
    • Function invocation count
  • Free tier:
    • 2M invocations
    • 400000 GB-seconds
    • 200000 GHz-seconds
    • 5GB outbound (non-Google outbound)
  • 1M requests/mo @ 600ms runtime = $6.15/mo

Decisions

5/3/2024 - This blog post has a good analysis of Cloud Run vs. Cloud Functions. App Engine seems a bit more restrictive than I would want, since it has to be in one of their more supported runtimes. With the operations the app needs to make, Cloud Functions/Lambdas seems to be a good first step. Parts of the code should be written to be modular enough to convert from Cloud Functions to Cloud Run (i.e. logic in business layer, called from different entrypoints). It could even turn out that some stuff is good to leave in Cloud Functions while other more frequent things should be moved to Cloud Run/some other framework.