Encore vs

Appwrite gives you auth, databases, storage, and functions behind one API. Encore lets you build your own backend, with infrastructure provisioned automatically in your AWS or GCP account. Ship quickly, with control over how your backend works and where it runs.

“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 Appwrite differ across key capabilities.

EncoreAppwrite
InfrastructureYour AWS or GCP accountAppwrite Cloud or self-hosted
API ApproachCode-first, type-safe APIsAppwrite SDKs and REST API
Custom LogicFull backend servicesAppwrite Functions (30 seconds sync, 15 minutes async)
DatabasesRDS / Cloud SQL (in your account)TablesDB, DocumentsDB, PostgreSQL, MySQL
Pub/Sub & QueuesSNS/SQS or GCP Pub/SubEvent-triggered functions
Cron JobsBuilt-in, declarativeScheduled functions
Local DevelopmentAutomatic (DBs, queues included)CLI runs functions in Docker
ObservabilityBuilt-in tracing & metricsExecution logs, 24 hours to 7 days

Your options for running a backend

Hosted platforms get you started fast. Encore gets you there just as fast, in your own cloud account, without the migration later.

Do it yourself
Terraform, IAM, VPCs
Hire DevOps
One senior engineer
Hosted platform
Appwrite, Supabase, Firebase
Encore
Automated, in your cloud
Time to first production deployWeeksMonths, after the hiring searchMinutesMinutes
Ongoing costYour best engineer's evenings$150k to $250k a year, fully loadedGrows fast with usageFrom $49 per member a month
Every new database or queueAnother day of configA ticket in their queueLimited to what they offerOne line of code
Runs in your AWS or GCP accountYesYesNoYes
Your cloud credits applyYesYesNoYes
Answers "where is our data?" in security reviewsIf set up rightYesTheir answer, not yoursYour account, your VPC
When you growRewrite what you hacked togetherHire a second oneMigrate off, usually at the worst timeNothing changes
If the key person leavesNobody knows how it worksSame problemNot your problemNot your problem
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

Appwrite

Appwrite is an open source backend-as-a-service. Auth, databases, storage, realtime, messaging, and web hosting sit behind one API, with SDKs for web, mobile, and server code. Permissions are role strings attached to tables and rows.

For custom backend logic, you write Appwrite Functions in one of 13+ runtimes. They run on HTTP calls, platform events, or a schedule. Synchronous and HTTP executions time out after 30 seconds, and asynchronous executions can run for up to 15 minutes. You can use Appwrite Cloud or self-host it with Docker.

Encore

Encore is an open source infrastructure SDK where you write full backend services in your application code. You define APIs, databases, Pub/Sub, and other resources as code. When you deploy, Encore provisions the corresponding AWS or GCP resources in your account.

This gives you complete control over your API design and business logic, with infrastructure ownership, built-in observability, and support for microservices architectures.

Infrastructure Ownership

Appwrite runs your backend on Appwrite Cloud, or on servers you operate when you self-host. In both cases your data and functions live inside the Appwrite platform and its APIs.

With Encore, resources are provisioned in your own AWS or GCP account. You can see your databases in the cloud console, set up VPC peering, and use any cloud service alongside Encore resources.

For compliance requirements or teams that need direct cloud access, Encore provides full ownership. For apps that fit the Appwrite APIs, the backend-as-a-service approach works well.

Learn more about infrastructure ownership →

Local Development

The Appwrite CLI runs functions locally in Docker with hot reload. Permissions, events, cron schedules, and timeouts do not apply when running locally, and the function still talks to your Appwrite project.

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

Encore gives you a lightweight local environment with observability tools that work identically to production.

Learn more about local development →

Automatic Infrastructure

Appwrite provides a fixed set of services: Auth, Databases, Storage, Functions, Messaging, Realtime, and Sites. You work within these boundaries. For message queues or other infrastructure, you integrate external services.

Encore provisions infrastructure from your code. Declare a database, Pub/Sub topic, cron job, or object storage in your application code, and Encore creates the corresponding cloud resources when you deploy using sensible defaults for each provider. When you need more control, those defaults are yours to configure.

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

Appwrite logs each function execution in the Console when execution logs are enabled. Request and response bodies are not logged, and logs are kept for 24 hours on the Free plan.

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

This matters more as your backend grows beyond simple CRUD operations into multi-service architectures.

See observability docs →

AI-Assisted Development

With Appwrite, your data model and permissions live in the Appwrite Console and configuration, while business logic lives in separate functions. AI agents like Cursor and Claude Code lack full context about how these pieces connect, leading to inconsistencies.

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, reviewable, and safe to deploy.

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-documentation, and observability keep what it produces maintainable, even when AI writes most of the code.

Learn about AI-assisted development →

Migrating from Appwrite

You can move an Appwrite project one workload at a time. Your Encore backend can call Appwrite through its server SDKs while you move functions and data, and Appwrite Auth can stay as an external service.

The guide covers moving data, files, auth, and functions to AWS. Running on GCP instead? Read how to migrate from Appwrite to GCP, or compare your options in Appwrite alternatives.

Read the Appwrite to AWS migration guide
AppwriteEncore
Tables and rowsSQL database and migration files
Appwrite SDK and REST callsType-safe API endpoints
Table and row permissionsAuthorization in API handlers
Storage bucketsObject storage buckets
FunctionsAPI endpoints, Pub/Sub subscribers, or cron jobs
Function variablesEncore secrets per environment

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 Appwrite.

Appwrite is an open source backend-as-a-service with auth, databases, storage, functions, messaging, realtime, and web hosting behind one API, run on Appwrite Cloud or self-hosted with Docker. Encore is an open source infrastructure SDK where you write your own backend services, and it provisions databases, Pub/Sub, cron jobs, and object storage in your own AWS or GCP account.

In Appwrite, custom logic runs in Appwrite Functions, triggered by HTTP, platform events, or a schedule. Synchronous and HTTP executions time out after 30 seconds, and asynchronous executions can run for up to 15 minutes. With Encore, your business logic is the backend itself: type-safe API endpoints, Pub/Sub subscribers, and cron jobs in regular services.

You can self-host Appwrite with Docker on servers you run, or use Appwrite Cloud. Either way, you run the Appwrite platform. Encore deploys to your own AWS or GCP account using native services like RDS or Cloud SQL, SQS or GCP Pub/Sub, and S3 or Cloud Storage.

Appwrite offers TablesDB, DocumentsDB, and VectorsDB through its SDKs, plus managed PostgreSQL and MySQL on dedicated compute. Encore SQL databases are PostgreSQL, provisioned as RDS on AWS or Cloud SQL on GCP, and run in Docker locally.

You can move one workload at a time. Functions become API endpoints, Pub/Sub subscribers, or cron jobs, tables move to an Encore SQL database, and buckets move to object storage. Appwrite Auth can stay as an external service while you migrate.

Start building with Encore

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