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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions