On most teams, adding a database or a queue means filing a ticket and waiting on the platform team. With Encore, developers declare what a feature needs in application code and get it provisioned automatically, while platform teams keep the cloud accounts, environments, and production approvals under their control.
Infrastructure is defined alongside the code that uses it. When a feature needs a queue, database, or bucket, the developer adds a declaration and keeps building, without updating Terraform, opening a provisioning ticket, or handing work off to the platform team.
import { SQLDatabase } from "encore.dev/storage/sqldb";
const db = new SQLDatabase("todo", {
migrations: "./migrations",
});Managed PostgreSQL with migrations, pooling and IAM auth
Platform teams configure cloud accounts, regions, networking, scaling, resource sizes, and approval requirements for each environment. Developers can then provision what their features need within those controls, while security and production oversight remain centralized.
Your code says which resources exist and how services use them. Everything environment-specific — instance sizing, connection limits, secret values, which cloud and region — is set in the platform, so the same code runs everywhere without a rebuild.
Encore reads the first and applies the second — so nothing environment-specific ends up hardcoded.
Every pull request gets its own environment with its own databases and queues, provisioned on merge-request and torn down when it closes. Developers stop sharing one contested staging environment.Nobody schedules time on staging, and nobody asks the platform team to reset it.
“What used to take days or weeks of back-and-forth between developers and infra teams is now automated and completed in minutes.”
Install Encore, then use your AI agent to build, run, and deploy an app with real infrastructure in minutes.
Paste into your coding agent to install Encore and scaffold an app.