Skip to content

AWS

An Alchemy app on AWS is one runtime — usually a Lambda Function — plus the resources it talks to: tables, buckets, queues, streams. You wire them together with typed bindings: call S3.PutObject(bucket) in your code and Alchemy attaches the matching least-privilege IAM statement to the function’s role. The code is the policy.

New here? Set up credentials first, then deploy your first Lambda.

  • Lambda — serverless, event-driven functions with public Function URLs. The primary documented path: every resource and event source in this section is shown running on Lambda.
  • ECS — long-running containers on Fargate. Alchemy bundles your Effect program into a Docker image and runs it as a Cluster + Service + Task.
  • EKS — managed Kubernetes (Auto Mode). Deployments, Jobs, raw manifests, and Helm charts in the same TypeScript program as the cluster — no YAML, no kubectl.
  • EC2 — full-control virtual machines, with the complete VPC networking toolkit around them.

Not sure which? See Choosing a runtime.

  • DynamoDB — key/value tables with GetItem/PutItem bindings and change-data-capture Streams.
  • S3 — object storage with GetObject/PutObject bindings and bucket event notifications.
  • RDS & Aurora — managed Postgres/MySQL: the Aurora helper stands up the whole cluster in one call, with a Connect binding or the Data API at runtime.
  • SQS — queues with a SendMessage binding and a Stream-shaped Lambda consumer.
  • SNS — pub/sub topics with a Publish binding and fan-out to queues and functions.
  • EventBridge & Scheduler — event buses, rules, and cron/rate schedules that invoke your functions.
  • Kinesis — ordered, sharded data streams with a PutRecord binding and the same Stream consumer surface.
  • Sending & managing email — verify an SES identity, send from a Lambda with the SendEmail binding, and manage identity policies, contact lists, dedicated IP pools, tenants, account settings, and deliverability insights.
  • Receiving inbound email — SES receipt rule sets and rules that store mail in S3, fan out to SNS, invoke a Lambda, or bounce it. Region-limited to us-east-1, us-west-2, and eu-west-1.
  • Secrets & env — .env values via Config, Secrets Manager when the secret is shared, generated, or rotated.
  • CloudWatch — dashboards and metric alarms, declared in the same Stack as the resources they watch.
  • Websites — the frontend block: static sites and built Vite apps on S3 + CloudFront as a single StaticSite resource.
  • VPC & networking — the Network helper and the VPC primitives, for when ECS, EKS, or EC2 needs explicit networking.
You’re building Reach for
An HTTP API Lambda + Function URL + DynamoDB
A typed HTTP API Effect HTTP API on Lambda
A typed API for external clients Effect RPC on Lambda
Drive a MicroVM from a Lambda (internal RPC) MicroVMs + Schemaless RPC
An ML training fleet HyperPod — Slurm or EKS orchestrated, with task governance
A REST API with stages/custom domains API Gateway
Your own domain on a site or API Custom domains with Route53 + ACM
A static site Deploy a static site on S3 + CloudFront
An event pipeline Kinesis → Lambda
Background jobs SQS + Lambda
Scheduled jobs EventBridge Scheduler → Lambda
A Postgres database RDS & Aurora
Kubernetes workloads or Helm charts EKS
Object processing S3 events
Sending transactional email SES sending — identity + SendEmail binding
Inbound email pipelines SES email receiving → S3 / SNS / Lambda
Change data capture DynamoDB Streams
API keys or credentials for a function Secrets & env