boilerplate-lambda-container/notes/decisions.md

1.0 KiB

Architecture Decision Record

A powerful stack for building APIs that is flexible, performant, and easy to reason about.

  • Cloud: AWS - status quo for QOS (we're not locked into it)
  • CI/CD: Gitlab - multi-cloud, versatile, FOSS (ENA is already using it)
  • Deployment: Terraform - declarative, IaC, multi-cloud
  • Containers: Docker - consistency between environments, rootless in dev
  • TypeScript: type-safety, anyone with JS experience can contribute (ServiceNow uses JS)
  • Runtime: Deno - secure-by-default, URL-based module resolution, dependency locking, built-in toolchain
  • API Layer: hono - portable, fast, simple, automatic OpenAPI w/ @hono/zod-openapi
  • OpenAPI UI: scalar/hono-api-reference - offline-first, code generation

The strong alternative would be Python with FastAPI, which might be more suitable for smaller projects.