What is Encore?
Encore combines an open source SDK, CLI, and cloud platform into one workflow for building and deploying apps.
Import what you need from the SDK directly into your application to define services and infrastructure. Run your app and infrastructure locally with the CLI to test changes end to end. Then push to your repo, and the platform sets up the matching resources in your cloud and deploys your app.
Infrastructure from your code
Encore's SDK is available in multiple languages. In TypeScript, import SQLDatabase from encore.dev/storage/sqldb to query your database. Encore provides PostgreSQL locally during development. When you deploy, the Encore platform provisions a managed database based on your cloud and environment settings: Amazon RDS or Aurora on AWS, Cloud SQL on Google Cloud, or Neon.
The SDK also provides Pub/Sub, object storage, caches, cron jobs, and secrets. Encore automatically sets up access for each service. Configure capacity, regions, and backups for each environment in the platform. See Understanding Encore.
From local development to production
Run encore run to start your application and its local infrastructure. The development dashboard lets you call APIs, inspect database contents, and follow requests through distributed traces.
For cloud deployment, you can start with a hosted development environment, then connect your own AWS or GCP account for production. See Deployment.
You can also deploy without using the platform: build a Docker image, provision your infrastructure, and supply its connection details through an infrastructure configuration file.
Next steps
- Quickstart: Build and deploy your first app.
- Understanding Encore: How code becomes infrastructure.
- Encore.ts and Encore.go SDKs: APIs, databases, messaging, and other building blocks.
- Platform overview: How the platform manages infrastructure, environments, and deployments.
- Deployment: Environments, cloud accounts, and CI/CD.