Encore vs Simple Container + Simple Forge

Infrastructure Automation for AI Coding Agents — Deep Comparative Analysis
Prepared by Kate Jones · Research date: 2026-10-07 · Primary sources: encore.dev/docs · docs.simple-container.com · github.com/encoredev/encore · SC org repositories (simple-container-com)
Jump to: Executive Summary The Claim Verified Encore Deep-Dive SC + Forge Deep-Dive Feature Matrix End-to-End Scenarios Executive Verdict Threats & Opportunities Recommendations Sources

1. Executive Summary

Key Finding: Encore's claim that "AI agents can set up infrastructure without Terraform" is substantially true for its specific scope — TypeScript or Go backends targeting AWS or GCP — but carries important qualifications that marketing language obscures. It is a deep, opinionated, code-first framework, not a general-purpose IaC replacement. Simple Container (SC) + Simple Forge take a different approach: YAML-driven, Docker/Kubernetes-centric, multi-cloud including Kubernetes self-hosting, with Forge as an AI agent layer on top. The two products serve overlapping but distinct segments.

Encore has significant advantages in developer experience for greenfield TypeScript/Go backends — its code-first infrastructure inference, local-to-cloud consistency, preview environments, MCP tooling, and AI agent integration are polished and production-proven. Its core limitation is lock-in: the framework requires rewriting application code to use Encore SDKs, and "without Terraform" actually means Encore replaces Terraform internally using AWS/GCP cloud APIs — you never write Terraform, but Encore's provisioning engine does equivalent work under the hood.

Simple Container + Forge is better suited for language-agnostic, container-native, multi-cloud, or Kubernetes self-hosted workloads. It is less opinionated about application code structure, but requires more explicit YAML configuration from DevOps teams. Forge agents operate at the deployment/workflow orchestration level rather than infra-inference level. SC does not yet offer the same depth of per-PR preview environment automation or local-to-cloud development symmetry.

2. Encore's "No Terraform" Claim — Verified with Primary Sources

The Precise Claim

Encore's homepage (October 2026) states: "Automated infrastructure from development to production" and "Declare infrastructure in your TypeScript or Go code and Encore provisions it on AWS or GCP." The pricing page says: "Declarative Infrastructure as Code (No Terraform, no YAML)." The docs explicitly state the goal is that AI agents can declare what a feature needs and Encore provisions it without Terraform.

Source: encore.dev/docs/understanding-encore (fetched 2026-10-07): "Infrastructure that would normally be described in Terraform can instead be derived from the application, with Encore using static analysis to work out service dependencies, IAM, and how resources connect."

What "Without Terraform" Actually Means

Layer What Happens Terraform Equivalent
Developer / Agent writes const db = new SQLDatabase("orders", ...) in TypeScript Would write aws_db_instance resource block
Encore parser (open source, runs locally) Builds Application Model via static analysis of source code Terraform plan
Encore Cloud Platform (SaaS, Pro tier) Calls AWS/GCP APIs directly to provision RDS, Cloud SQL, SNS+SQS, etc. Terraform apply (but done by Encore, not you)
State management Encore tracks provisioned resources; drift-aware updates; PATCH-style (not full sync) Terraform state file
IAM Least-privilege, auto-derived from which service calls which resource aws_iam_policy written manually
Verdict on the claim: Encore legitimately eliminates the need for developers and AI agents to write Terraform. The provisioning engine does the equivalent internally via cloud APIs. This is a real, shipped capability — not marketing. However, it requires using the Encore framework SDK (code rewrite), and only works for AWS/GCP (not Azure, Kubernetes self-host, etc.). The "agent can set everything up" is accurate within these constraints.

Open Source vs. Encore Cloud Platform

Component Open Source / Free Requires Pro/Enterprise ($49+/member/mo)
Encore.ts / Encore.go SDKs ✓ Open Source
CLI, parser, compiler ✓ Open Source
Local infra (Docker Postgres, in-mem Pub/Sub) ✓ Free
Encore Cloud hosting (dev envs, free tier) ✓ Free (Fair Use)
Provision to your own AWS/GCP Pro required
Preview Environments per PR Pro required
Least-privilege IAM management Enterprise only
Self-hosted Preview Environments Enterprise only
Self-host (build Docker image, run anywhere) ✓ Free via encore build docker

Source: encore.dev/pricing, fetched 2026-10-07. Encore v1.58.6, released 2026-10-01.

3. Encore — Deep-Dive Analysis

How Infrastructure Inference Works

Encore uses a static-analysis parser that reads TypeScript or Go source at build time (not at runtime). When you write new SQLDatabase("orders", { migrations: "./migrations" }), the parser records the resource name and migration path without executing the code. This builds the Application Model — a graph of services, APIs, databases, Pub/Sub topics, caches, object storage, cron jobs, and secrets, plus inter-service dependencies and access patterns.

Key constraint: Resource names must be string literals (not template strings or variables) and declarations must be at module scope. Dynamic resource creation (e.g., inside loops or conditionals) is not supported and causes build errors. This is intentional — it enables deterministic static analysis.

Supported Languages & Frameworks

LanguageStatusNotes
TypeScript (Node.js)ProductionEncore.ts — full SDK, primary target
GoProductionEncore.go — full SDK, original language
PythonBeta/previewEncore.py — announced, limited support
RustEarly previewEncore.rs — announced on blog
Other languagesNot supportedNo Java, .NET, Ruby, PHP, etc.

Supported Cloud Targets

TargetStatusNotes
AWS (ECS Fargate, EKS)ProductionRDS, S3, SNS+SQS, ElastiCache, Secrets Manager
GCP (Cloud Run, GKE)ProductionCloudSQL, GCS, Pub/Sub, Memorystore, Secret Manager
AzureNot supportedNo Azure support listed anywhere in docs
Self-hosted KubernetesPartialencore build docker + manual infra config; no auto-provisioning
On-premPartialSelf-host path exists but requires manual infra config JSON

Infrastructure Primitives Supported

Encore's Application Model supports a fixed set of resource types:

Notable gaps: Elasticsearch/OpenSearch, Kafka, Redis Cluster (only single-node cache), custom VPC networking rules, static frontends/CDN, MongoDB, DynamoDB/Firestore — all must be provisioned externally and connected via secrets.

Agent Setup Interface

CLI

MCP Server (Shipped, v1.58.x)

Encore provides a local MCP server (SSE or stdio) that gives AI agents structured access to the running application. Tools exposed:

A Cloud MCP Server also exists at https://api.encore.dev/mcp for accessing deployed cloud environments (production traces, deployment status, etc.).

Encore Skills Package

An npm package (npx add-skill encoredev/skills) installs repeatable agent workflows for Cursor, Claude Code, GitHub Copilot: creating APIs, databases, topics, testing, migration. Source: github.com/encoredev/skills.

Preview Environments

Secrets / IAM / Security

State / Drift / Import

Rollback / Destroy

Observability

Portability / Self-Host / Anti-Lock-In

Pricing (Encore Cloud Platform)

Resources = Encore primitives (services, DBs, cron jobs, caches, buckets, topics, subscriptions, secrets). Underlying cloud primitives not counted separately.

4. Simple Container + Simple Forge — Deep-Dive Analysis

Simple Container (SC) — What It Is

SC is an open-source, MIT-licensed CLI tool (sc) for cloud-agnostic deployment of containerised microservices. It uses YAML configuration files (server.yaml / client.yaml) to define infrastructure resources and deployment targets, without requiring developers to write Terraform or Pulumi directly.

Source: SC README (github.com/simple-container-com/api): "Define infrastructure with lightweight YAML configurations, no need for Terraform or Pulumi." Installation: curl -s "https://dist.simple-container.com/sc.sh" | bash

Architecture Model

SC uses a stack model:

Supported Cloud Targets

TargetStatusNotes
AWS ECS FargateProductionContainerised services on Fargate
AWS LambdaProductionServerless Lambda deployment (forge itself deployed here)
GCP Cloud RunProductionServerless containers
Kubernetes (generic)ProductionAny Kubernetes cluster (EKS, GKE, K3s, on-prem, Rancher)
GKE AutopilotProductionSpecific GKE support verified in testdata
Self-hosted / on-prem K8sProductionAnsible+K3s deployment supported in testdata
AzureUnknownNot explicitly listed in docs/testdata; [to be verified]

Supported Infrastructure Resources (server.yaml)

From testdata and docs (docs.simple-container.com/reference/supported-resources):

Important distinction: SC does NOT infer infrastructure from application code. A DevOps engineer must explicitly declare every resource in server.yaml. The developer writes a much simpler client.yaml (service config) that references parent resources. This is explicit YAML declaration, not code-first inference.

Agent Setup Interface (Simple Forge)

Simple Forge is an AI agent orchestration layer running as AWS Lambda + MongoDB Atlas, deployed via SC itself:

Secrets Management

State / Drift / Import

Observability

Preview / Ephemeral Environments

Portability / Anti-Lock-In

Pricing

5. Feature Comparison Matrix

Dimension Encore (Cloud Platform, Pro) Simple Container + Forge
Infra declaration method Code-first (TypeScript/Go typed SDK calls) YAML-first (server.yaml + client.yaml)
Infra inference (no-write) ✓ Auto-inferred via static analysis ✗ Explicit YAML declaration required
Languages supported TypeScript, Go (production); Python, Rust (preview) Any (container-based; language-agnostic)
AWS support ✓ Full (ECS Fargate, EKS, RDS, S3, etc.) ✓ Full (Fargate, Lambda, RDS, etc.)
GCP support ✓ Full (Cloud Run, GKE, CloudSQL, etc.) ✓ Full (Cloud Run, GKE Autopilot, CloudSQL)
Azure support ✗ Not supported Unknown (not confirmed in docs)
Kubernetes self-host Partial (build Docker, manual infra config) ✓ Full (K3s, GKE Autopilot, any K8s cluster)
On-prem deployment Partial (self-host Docker, manual config) ✓ Full (Ansible+K3s, any Kubernetes)
Preview environments (per PR) ✓ Built-in (Pro; Encore Cloud or own VPC Enterprise) ✗ Not built-in; manual scripting required
Local dev parity with cloud ✓ Strong (Docker Postgres, in-mem Pub/Sub, local tracing) Partial (docker-compose for local; env parity not automatic)
MCP server for AI agents ✓ Shipped (local + cloud MCP servers) ✗ Not available
AI agent integration depth Deep (MCP tools, skills package, project rules, build-time validation) Workflow-level (GitHub issue→Claude→PR pipeline; no infra inspection)
Auto IAM least-privilege ✓ Auto-derived from code (Enterprise for full feature) Manual (DevOps configures in server.yaml / cloud console)
Secrets management ✓ Built-in (name references in code; cloud-native secret managers) ✓ Built-in (encrypted YAML + cloud secret managers + KMS)
Distributed tracing ✓ Built-in (no agent code; cross-service spans) External (CloudWatch metrics; no cross-service trace built-in)
Service catalog / arch diagram ✓ Built-in (auto-generated from Application Model) ✗ Not available
Drift detection ✓ Built-in (PATCH-style, drift-aware before any update) Partial (depends on provisioner; Pulumi has state reconciliation)
State management Encore internal state (not Terraform state) YAML + provisioner state (Pulumi state where applicable)
Rollback ✓ Dashboard re-deploy to previous version ✓ sc deploy to previous image/version
Infra destroy safety ✓ Manual approval required in dashboard Standard per-provisioner behavior
Vendor lock-in risk Medium (SDK rewrite required; AWS/GCP only; escape hatch via Docker) Low (any container; any cloud; MIT open source)
Application code changes required Yes — must use Encore SDK primitives No — any Dockerfile/docker-compose works
Open source SDK + CLI open source; cloud platform is SaaS SC CLI: MIT open source; Forge: proprietary internal tooling
Pricing model $49/member/mo + $99/env + $2.50/resource (Pro); Enterprise custom SC CLI free; SC Cloud: undisclosed; cloud infra direct to provider
Latest release v1.58.6 (2026-10-01) SC API continuously deployed; version stamped at build

6. Concrete End-to-End Scenarios

Scenario A: Greenfield TypeScript backend — AI agent sets up from scratch

With Encore:

  1. Run encore app create → choose AI tool → CLAUDE.md and MCP config auto-generated
  2. Agent (Claude Code, Cursor) uses encore mcp run to inspect the application model in real-time
  3. Agent writes new SQLDatabase(...), new Topic(...), etc. in TypeScript — Encore validates at build time
  4. Push to GitHub → Encore Cloud provisions RDS + SNS+SQS in developer's AWS account; per-PR preview env created
  5. Agent calls API via MCP call_endpoint, verifies traces via get_traces, iterates

Result: Fully automated, zero Terraform, real AWS infra in minutes. Lock-in cost: application is now Encore-specific.

With SC + Forge:

  1. DevOps writes server.yaml defining the stack (Postgres RDS, Kubernetes cluster, secrets backend)
  2. Developer writes client.yaml + Dockerfile for the service
  3. Forge agent (triggered by GitHub issue) generates application code, commits to branch, opens PR
  4. SC deploys the PR branch to staging (sc deploy -s myservice -e staging)
  5. Agent cannot inspect live infra state; must rely on logs and test endpoints manually

Result: Partially automated. More DevOps YAML setup upfront. No automatic per-PR preview environments. No application code changes. Lock-in cost: minimal.

Scenario B: Existing microservices on Kubernetes — adopting AI agent infra management

With Encore: Requires rewriting services to use Encore SDK primitives. Partial adoption possible (self-host path), but full automation requires SDK adoption. High migration cost. Not recommended for large existing codebases.

With SC + Forge: Add .sc/stacks/myservice/client.yaml to existing repos. Zero application code changes. Forge agents work on any codebase. More natural fit. Better fit here.

Scenario C: Multi-cloud or hybrid (AWS + on-prem Kubernetes)

With Encore: AWS and GCP supported; no Azure; on-prem requires manual Docker + infra config. Limited automation for hybrid scenarios.

With SC + Forge: Native support for AWS + GCP + any Kubernetes (including on-prem K3s). Same client.yaml can target different environments. Better fit here.

Scenario D: Real-time AI agent validation loop (agent writes code → tests infra → iterates)

With Encore: Full real-time validation loop via MCP server. Agent can: inspect schema → write code → run → call endpoint via MCP → inspect trace → iterate. Build-time guardrails catch invalid declarations before deployment. Strong advantage for Encore.

With SC + Forge: Agent writes code → commits → SC deploys → agent must parse logs or call HTTP endpoints externally to validate. No structured MCP-style inspection of live infra state. Loop is slower and less reliable.

7. Executive Verdict

🔍 Proven Advantages — Encore over SC + Forge

🛡️ Proven Advantages — SC + Forge over Encore

⚖️ Parity

  • AWS + GCP production deployment
  • Secrets injection at runtime
  • Rollback mechanisms
  • CI/CD via GitHub Actions
  • Infra deletion safety gates
  • Open source core tooling

❓ Unknowns / Unverified

  • SC Cloud pricing (not published)
  • Azure support for SC (not confirmed)
  • Forge roadmap for MCP/agent-infra inspection
  • Encore Python/Rust production readiness
  • SC's vertical pod autoscaler maturity
  • Encore cost monitoring for AWS (listed as "in progress")
Roadmap-Only Features (do not treat as shipped):

8. Strategic Threats & Opportunities

Threats from Encore to SC + Forge

SC + Forge Opportunities vs. Encore

9. Prioritised Recommendations

Research only — no code or roadmap modifications made in this run.

1

Add an MCP server to SC + Forge that exposes stack state to AI agents. This is the single highest-leverage action to close the AI agent experience gap. The server should expose: deployed service status, recent deployment history, resource configuration, secrets metadata (not values), and deployment logs. This would allow agents to inspect, validate, and iterate on infra changes without application code changes.

2

Build native per-PR preview environment automation. Add a sc preview-env create --pr=72 workflow that provisions an ephemeral environment from a PR, registers it as a GitHub deployment, and tears it down on PR close. Even a lightweight version (reusing existing stack templates) would address a critical feature gap vs. Encore.

3

Publish SC Cloud pricing and positioning. The absence of public pricing creates evaluation friction. Even a "contact us" tier + a clear free tier description would help teams comparing SC to Encore's well-documented pricing.

4

Develop "Encore migration" or "Encore parity" documentation for SC. A doc showing how SC handles each of Encore's core features (preview envs, secrets, IAM, local dev) would help teams currently evaluating Encore discover SC as an alternative — especially for teams with existing codebases they cannot rewrite.

5

Add local dev infrastructure parity (docker-compose-first DX). SC should document and streamline the local development story — ideally with a sc dev up command that starts all declared resources from server.yaml locally in Docker, matching the env your service expects. This directly addresses one of Encore's strongest differentiators.

6

Confirm and publicise Azure support. If Azure is supported (or can be added), this is a market segment Encore entirely misses. Clear documentation would attract enterprise teams in Azure-heavy environments.

7

Add built-in distributed tracing support or a first-class Forge workflow for trace correlation. Even an OpenTelemetry collector integration in the Forge agent would close the observability gap. Encore's built-in tracing (no agent code required) is a meaningful DX win that SC currently lacks.

10. Source List

SourceURLDate RetrievedCredibility
Encore Docs — Overviewencore.dev/docs.md2026-10-07Primary — official docs
Encore — Understanding Encoreencore.dev/docs/understanding-encore.md2026-10-07Primary — official docs
Encore — AI Integrationencore.dev/docs/ai-integration.md2026-10-07Primary — official docs
Encore — Platform Introductionencore.dev/docs/platform/introduction.md2026-10-07Primary — official docs
Encore — Infrastructure Provisioningencore.dev/docs/platform/infrastructure/infra.md2026-10-07Primary — official docs
Encore — Infrastructure Configurationencore.dev/docs/platform/infrastructure/configuration.md2026-10-07Primary — official docs
Encore — Preview Environmentsencore.dev/docs/platform/deploy/preview-environments.md2026-10-07Primary — official docs
Encore — Own Cloud Setupencore.dev/docs/platform/deploy/own-cloud.md2026-10-07Primary — official docs
Encore — Securityencore.dev/docs/platform/deploy/security.md2026-10-07Primary — official docs
Encore — Self-Hosting / Build Dockerencore.dev/docs/self-host/build.md2026-10-07Primary — official docs
Encore — Local MCP Serverencore.dev/docs/mcp.md2026-10-07Primary — official docs
Encore — Platform AI Integrationencore.dev/docs/platform/ai-integration.md2026-10-07Primary — official docs
Encore — Pricingencore.dev/pricing2026-10-07Primary — official pricing page
Encore GitHub — Latest Release v1.58.6github.com/encoredev/encore releases2026-10-07Primary — GitHub API, released 2026-10-01
SC API READMEgithub.com/simple-container-com/api (private)2026-10-07Primary — org source code
SC API — welder.yamlgithub.com/simple-container-com/api/welder.yaml (private)2026-10-07Primary — org source code
SC API — testdata/stacks/refapp/server.yamlgithub.com/simple-container-com/api (private)2026-10-07Primary — org source code
SC Forge READMEgithub.com/simple-container-com/forge (private)2026-10-07Primary — org source code
SC Docs — Supported Resourcesdocs.simple-container.com2026-10-07Primary — official docs

Key Quotes

Report generated by Kate Jones (Research Agent) · Simple Forge Workflow Run 628440cf · 2026-10-07 UTC · All facts verified against primary sources. Pricing, versions, and feature availability as of retrieval date.