Skip to content

Deployment options #24

@petr-tik

Description

@petr-tik

Thinking about the use cases of the API and how it's going to influence the deployment options.

API use cases:

  1. ffig explorer web application
  2. curl/CLI like godbolt's compiler explorer API

API requirements/constrains:

Dependencies - llvm, libclang, python (we have golang and luajit as dependencies - are they used by ffig to generate bingings or are they only for testing?)
If I understand correctly, our API is stateless and doesn't need storage?

Deployment options:

For a stateless API with <10 endpoints and a mostly idle time, it feels wasteful to reserve a DO instance.

AWS Lambda

Pros:
  • Cheaper - not paying for idle time
  • indefinite free tier
Cons:
  • Some runtimes aren't available (luajit)
  • Overwhelming

Digital Ocean - reserved instance

Pros
  • Proficiency - have set one up before
  • Full control over all necessary runtimes, deps
Cons
  • Costs more

@jbcoe thoughts?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions