Encore vs

AWS Amplify Gen 2 deploys a GraphQL and DynamoDB backend to your AWS account from TypeScript resource files. Encore lets you build your own backend, with services, Postgres, and Pub/Sub provisioned automatically in your AWS or GCP account. Keep the cloud ownership, with a backend shaped by your application code.

“What used to take days or weeks of back-and-forth between developers and infra teams is now automated and completed in minutes.”
Josef Sima, Engineering Director at Groupon
3xfaster development speed
90%shorter time to market
See case study
// POWERING DEVELOPMENT AT
GrouponPave BankBookshop.orgCoinbasePalletGradient Labs

Feature Comparison

See how Encore and AWS Amplify differ across key capabilities.

EncoreAWS Amplify
InfrastructureYour AWS or GCP accountYour AWS account
Cloud ProvidersAWS and GCPAWS only
Backend DefinitionServices and APIs in application codeTypeScript resource files
API StyleType-safe APIsAppSync GraphQL plus Lambda functions
DatabasesRDS / Cloud SQL (Postgres)DynamoDB via AppSync
Pub/Sub & QueuesSNS/SQS or GCP Pub/SubAdd with AWS CDK
Local DevelopmentAutomatic (DBs, queues included)Per-developer cloud sandbox
ObservabilityBuilt-in tracing & metricsPer underlying AWS service
Preview EnvironmentsAutomatic per PRBranch environments and PR previews
What you get to skip

You don't need to become an infrastructure expert to run on AWS or GCP

Encore sets all of this up from your application code. It's real infrastructure in your own cloud account, so you can always open the console and look. You just never have to build it by hand.

  • Terraform modules
  • IAM policies
  • VPC and subnets
  • Security groups
  • Kubernetes
  • Helm charts
  • CI/CD pipelines
  • Load balancers
  • Secrets per environment
  • Staging environments
  • Tracing setup
  • Database networking

How They Work

AWS Amplify

Amplify Gen 2 defines backend resources in TypeScript files such as amplify/data/resource.ts and amplify/auth/resource.ts. Data is served through AWS AppSync and DynamoDB, auth through Amazon Cognito, and functions through AWS Lambda, all layered on AWS CDK.

This is useful for frontend and mobile apps that want auth and data quickly. Resources run in your AWS account, shaped around the Amplify data model.

Encore

Encore provisions infrastructure in your cloud account based on your application code. You define databases, Pub/Sub, and other resources in your application code. When you deploy, Encore creates the corresponding AWS or GCP resources using sensible defaults for each provider, which you can configure when you need more control.

This is useful when you want infrastructure ownership, need native cloud services (RDS, SQS, S3), or want built-in observability. Resources run in your own AWS or GCP account.

Infrastructure Ownership

Both tools deploy into a cloud account you own, but Amplify centers on GraphQL over DynamoDB, while Encore provisions services, Postgres databases, Pub/Sub, cron jobs, and object storage from your application code.

With Encore, you can see your databases in the AWS Console, set up VPC peering, configure IAM policies, and use any AWS/GCP service alongside your Encore resources. Your data stays in accounts you own.

With Amplify, anything outside the built-in categories, such as queues, means writing AWS CDK code yourself. Encore also supports GCP from the same application code.

Learn more about infrastructure ownership →

Local Development

Amplify Gen 2 gives each developer a cloud sandbox, so the local loop runs against real AWS resources that deploy on every change. That needs AWS credentials and network access during development.

Encore runs encore run and automatically provisions local PostgreSQL, Pub/Sub emulation, and cron scheduling. A local dashboard shows distributed tracing and architecture diagrams.

Integrated local development means faster iteration cycles and the same environment locally as in production.

Learn more about local development →

Automatic Infrastructure

Amplify covers data, auth, storage, and functions. For queues, topics, or a relational database model, you extend the backend with AWS CDK and wire up permissions and connection configuration yourself.

Encore provisions infrastructure from your code. Declare a database in your application code, and Encore creates RDS or Cloud SQL when you deploy. Same for Pub/Sub, cron jobs, and object storage.

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

const db = new SQLDatabase("users", {
  migrations: "./migrations",
});

// Encore provisions RDS/Cloud SQL automatically

Databases, Pub/Sub, Cron Jobs, Object Storage, and more. See all primitives →

Built-in Observability

Amplify relies on the logging and metrics of the underlying AWS services. Following one request across AppSync, Lambda, and DynamoDB means setting up tracing yourself.

Encore includes distributed tracing, metrics, and structured logging out of the box. Every request is traced across services automatically. No instrumentation code needed.

This works locally too. Run your app and get full tracing in the local development dashboard.

See observability docs →

AI-Assisted Development

With Amplify, much of the backend lives in resource files and CDK code, separate from your business logic. AI agents like Cursor and Claude Code lack context about how these relate to your application code, leading to drift, hallucinations, and configs that are hard to review.

Encore defines infrastructure in your application code. AI agents see everything in one context: your APIs, databases, queues, and how they connect. This makes AI-generated code accurate and easy to review before you deploy it.

Because the infrastructure comes from the Encore defaults rather than hand-written config, you can let an AI agent build features and trust the result is provisioned correctly. Built-in guardrails, auto-generated docs, and observability keep what it produces maintainable as your system grows.

Learn about AI-assisted development →

Migrating from AWS Amplify

You can keep Amplify Hosting for your frontend and move backend logic to Encore services one piece at a time, in the same AWS account.

The PaaS migration guide covers how hosting and managed services map to Encore, moving data and platform services, and planning the migration. For a wider look at your options, read AWS Amplify alternatives.

Read the PaaS migration guide
AWS AmplifyEncore
Amplify app and branch environmentEncore app and environment
Lambda functionAPI endpoint in an Encore service
Amplify Data (AppSync and DynamoDB)SQL database with type-safe APIs
Amplify Storage (S3)Object storage bucket
SecretsPer-environment secrets

Top rated on G2

See how we stack up in the market.

Read G2 reviews →
G2 User LoveG2 High Performer Summer 2025G2 High Performer Fall 2025G2 High Performer Winter 2026

Frequently asked questions

Common questions about Encore vs AWS Amplify.

Both deploy to your own AWS account. Amplify Gen 2 is built around AppSync GraphQL, DynamoDB, Cognito, and Lambda functions defined in TypeScript resource files. Encore is an open source infrastructure SDK where you define services, APIs, Postgres databases, Pub/Sub, and cron jobs in your application code, and it provisions them in AWS or GCP.

Yes. Encore provisions infrastructure in your AWS or GCP account from the same application code. AWS Amplify deploys to AWS.

Amplify Gen 2 gives each developer a cloud sandbox, so local development talks to real AWS resources. Encore runs your whole backend locally with a single command, including local Postgres databases, Pub/Sub emulation, cron jobs, and tracing, without needing cloud resources.

Amplify Data is powered by AWS AppSync and Amazon DynamoDB. Encore SQL databases are PostgreSQL, provisioned as RDS on AWS or Cloud SQL on GCP, and run in Docker locally.

You can keep Amplify Hosting for your frontend and move backend logic to Encore services over time. Lambda functions become API endpoints, and Amplify Data models become SQL tables behind type-safe APIs.

Start building with Encore

Deploy to your own AWS or GCP account, with infrastructure provisioned automatically.