cloudparts

Encore

A backend framework for TypeScript and Go in which services declare the databases, topics, buckets and cron jobs they need as typed objects in code; Encore reads those declarations and runs them locally or provisions them in your AWS or GCP account.

Type
Open source
Made by
Encoretivity AB
License
MPL-2.0 (Encore Cloud is a paid service)
Facts checked
24 October 2026

What it is

In Encore, infrastructure is declared in the application code. new SQLDatabase("todo", { migrations: "./migrations" }) asks for a Postgres database, new Topic<SignupEvent>("signups", …) for a Pub/Sub topic, and there are similar objects for buckets, caches, cron jobs and secrets. API endpoints are typed functions wrapped in api(), and calling another service is a normal function call. Encore parses the code into an application model: which services exist, which endpoints they expose, and which resources each one uses. From that model it wires services to resources and grants each one only the permissions it needs.

encore run starts the app with local versions of everything: Postgres in Docker, in-memory Pub/Sub, and a development dashboard for calling APIs, browsing databases and following distributed traces. Deploying means pushing to Git. Encore Cloud, the paid platform, then provisions the same app in your own AWS account (ECS on Fargate or EKS, RDS or Aurora, SQS and SNS, S3, ElastiCache) or GCP account (Cloud Run or GKE, Cloud SQL, Pub/Sub, GCS, Memorystore). Without the platform, encore build docker produces a container image that you point at infrastructure you created yourself through a JSON config file.

Encore.ts runs on its own runtime: about 67,000 lines of Rust that handle HTTP routing, request validation, database pooling, Pub/Sub and tracing on a multi-threaded event loop, and call into Node.js (or Bun) only for your handlers. The framework and CLI are open source under MPL-2.0 and are made by Encoretivity AB in Stockholm; the latest release is 1.58.8, from October 2026. Python and Rust versions were announced as early access in September 2026.

Why teams pick it

  • No separate infrastructure files: the code that uses a database or topic is also what creates it, so the two can’t drift apart
  • Least-privilege IAM and service wiring are generated from what each service actually uses
  • A full local environment with tracing and an API explorer from one command
  • Request schemas come from TypeScript types and are validated in Rust before your handler runs; Encore’s own benchmark claimed 7x Node.js’s request throughput at the 2024 launch

Watch out for

  • Only the resource types Encore models (SQL databases, Pub/Sub, buckets, caches, cron, secrets) are declared in code; anything else is managed separately
  • Code must follow Encore’s conventions so its parser can read it, which ties the app to the framework
  • Self-hosting gives you an image but not provisioning: you create the infrastructure, run migrations and trigger cron endpoints yourself
  • Automatic provisioning targets only AWS and GCP, and Encore Cloud’s Pro plan costs $49 per team member plus $99 per cloud environment a month

Alternatives

What all infrastructure as code have in common →Compare side by side →

How it fits with other technologies

todo/todo.ts: a database and a public endpoint, declared in code · ts

import { api } from "encore.dev/api";
import { SQLDatabase } from "encore.dev/storage/sqldb";

// Postgres in Docker under `encore run`; RDS or Cloud SQL in the cloud
const db = new SQLDatabase("todo", { migrations: "./migrations" });

export const get = api(
  { expose: true, method: "GET", path: "/todo/:id" },
  async ({ id }: { id: number }): Promise<{ title: string }> => {
    const row = await db.queryRow`SELECT title FROM todo_item WHERE id = ${id}`;
    return { title: row?.title ?? "" };
  },
);

// $ encore run                    local app, database and dashboard
// $ encore build docker todo:v1   image for self-hosting

See it in a real stack

No architecture uses Encore yet. Drop it into the playground and wire it up yourself.Open playground →
Where it came from2021–2026

André Eriksson started Encore after working on payments at Spotify, where, he wrote, “the complexity of cloud infrastructure started to dominate my work”. His conclusion was that existing tools “have no idea what we’re trying to do”: Terraform knows about resources and the application knows about business logic, but nothing connects the two. Encore was meant to understand how an application’s parts fit together and handle the infrastructure from that.

The first version was a Go framework. Encore v1.0 shipped in April 2022 together with a $3 million seed round led by Crane Venture Partners. In May 2024 the company launched Encore.ts for TypeScript, whose open-source framework runs on a runtime written in Rust; at launch Encore reported 7x the request throughput of plain Node.js and 85% lower latency.

The paid platform, Encore Cloud, deploys into customers’ own AWS and GCP accounts, while the framework stayed open source with a self-hosting path through Docker images. In 2026 Encore wrote up the runtime it had built over two years, and announced early-access support for Python and Rust.

Why it’s built this way

Infrastructure declared as typed objects in application code
If the code that publishes to a topic also declares it, the framework can see every resource and every user of it, and generate the wiring and permissions instead of a developer keeping separate config in step.
Static analysis into an application model
Reading the code before it runs gives Encore a graph of services, endpoints and resources that drives local environments, API docs, tracing and cloud provisioning alike.
A Rust runtime under TypeScript instead of a sidecar
A Go sidecar prototype added 2 to 4 ms per request in serialisation and context switches; running in-process through napi-rs avoided that and let infrastructure code use all CPU cores while Node.js stays single-threaded.
Deploy into the customer’s own cloud account
Teams keep their data, bills and resources in AWS or GCP, and can leave Encore Cloud without migrating off the infrastructure it created.

Timeline

  1. 2021

    Encore’s open-source repository is published

  2. 2022

    Encore v1.0 and a $3 million seed round led by Crane Venture Partners

  3. 2024

    Encore.ts launches in May on a Rust runtime

  4. 2026

    Early access for Encore.py and Encore.rs in September; v1.58.8 in October

Sources14 · facts checked 24 October 2026

Improve this page on GitHub