Oct 27, 20265 min read

AWS Copilot Alternatives After End of Support

AWS Copilot CLI reached end of support in June 2026. Comparing ECS Express Mode, the AWS CDK, Encore, OpenTofu and SST for teams with Copilot-managed ECS services.

AWS Copilot gave teams a short path to ECS on Fargate: copilot init for a load balanced service, a worker on a queue or a scheduled job, plus environments and pipelines. It reached end of support on June 12, 2026, and the repository is archived.

Existing services keep running, since they are CloudFormation stacks. The question is what manages the next deploy, the next environment and the next worker.

What you need to decide:

  • Whether you want to keep thinking in containers and manifests, or move to code-defined infrastructure.
  • How you will take over or replace the existing stacks.
  • Where workers, queues and scheduled jobs are defined.
  • How developers run the system locally.

AWS Copilot alternatives at a glance

CapabilityEncoreECS Express ModeAWS CDKOpenTofuSST
Defined inApplication codeConsole or CLITypeScript, Python and moreHCLTypeScript config
Runs onECS in your AWS accountECS on FargateAnything on AWSAnythingLambda, ECS and more
Workers and queuesPub/Sub subscriptions in codeSet up separatelyConstructs you composeModules you writeComponents
Scheduled jobsCron jobs in codeSet up separatelyEventBridge constructsResources you writeCron component
Local developmentencore run with local infraDockerDockerDockerLive dev mode
ECS Express Mode

ECS Express Mode creates a Fargate service with a load balancer, HTTPS and scaling from a container image, and is what AWS recommends for Copilot's simple web services.

Key features

  • Image to HTTPS endpoint in one step.
  • Standard ECS resources you can manage later.
  • Part of ECS, with no separate CLI.

Good to know

It covers the load balanced service. Workers, queues, schedules and environments are set up separately, which were the parts Copilot packaged.

AWS CDK: constructs for full control

AWS CDK

The CDK's ECS patterns, such as ApplicationLoadBalancedFargateService and QueueProcessingFargateService, are close to Copilot's service types, written in TypeScript or Python.

Key features

  • L3 constructs for load balanced and queue processing services.
  • Full access to every AWS resource.
  • CDK Pipelines for deploys.

Good to know

You own the stacks, environments and pipelines that Copilot generated, and local development is still Docker plus a cloud account.

Encore: services, queues and jobs from application code

Encore

Encore is an open source infrastructure SDK for TypeScript, Python, Go and Rust that declares infrastructure in code, deploying services to ECS in your own AWS account along with the databases, SNS and SQS queues and schedules they declare. The Copilot service types map directly: a load balanced service is an API, a worker is a Pub/Sub subscription and a scheduled job is a cron job.

import { api } from "encore.dev/api"; import { Topic, Subscription } from "encore.dev/pubsub"; import { CronJob } from "encore.dev/cron"; interface Job { id: string; } // The Copilot "worker service" queue: SNS and SQS on AWS. export const jobs = new Topic<Job>("jobs", { deliveryGuarantee: "at-least-once" }); // The "load balanced web service". export const submit = api( { expose: true, method: "POST", path: "/jobs" }, async (job: Job): Promise<Job> => { await jobs.publish(job); return job; }, ); const done = new Set<string>(); // Stand-in for a table with a unique key. // The "worker service": at-least-once delivery, so skip ids already handled. const _ = new Subscription(jobs, "run-job", { handler: async (job) => { if (done.has(job.id)) return; done.add(job.id); }, }); // The "scheduled job". export const cleanup = api({ expose: false }, async () => { done.clear(); }); const __ = new CronJob("nightly-cleanup", { schedule: "0 2 * * *", endpoint: cleanup });

encore run runs the API and delivers Pub/Sub messages locally, and cron jobs do not fire locally. Copilot environments become Encore environments, each deployed to AWS in your account, and Encore provisions an IAM role for the service. Preview environments replace per-branch Copilot environments.

An agent asked to add a worker writes a subscription in the same change as the code that publishes to it.

Key features

  • APIs, Pub/Sub, cron jobs, databases and buckets declared in code.
  • ECS deploys to your own AWS account.
  • Distributed tracing locally and in the cloud.

Good to know

Copilot deployed any container, while Encore apps are written with its SDK, so services are ported rather than redeployed as images. See the migration guide for moving off existing infrastructure.

Try Encore →

OpenTofu: HCL across clouds

OpenTofu is an open source infrastructure as code tool compatible with Terraform configurations, with community modules for ECS services.

Key features

  • Plans and state for every resource.
  • Works across clouds and providers.
  • Large module ecosystem.

Good to know

Everything Copilot generated becomes HCL you write and review, and importing existing Copilot stacks takes care.

SST: TypeScript config for AWS

SST

SST defines AWS resources in a TypeScript config file, with components for services, queues and cron.

Key features

  • Cluster and service components on ECS.
  • Live development mode.
  • Components for queues and cron.

Good to know

It is centered on serverless, and ECS support is newer than its Lambda support.

How to choose

  • ECS Express Mode for a single web service with no workers or schedules.
  • AWS CDK for full control in TypeScript or Python.
  • Encore if you want Copilot's service, worker and job types defined in application code and deployed to ECS in your own AWS account.
  • OpenTofu if you want HCL and multi-cloud.
  • SST for TypeScript config with a serverless lean.

The AWS docs for installing and deploying with Copilot remain useful for understanding what the existing stacks contain before you migrate.

You can deploy your first Encore app to try the workflow before moving any services.

Frequently asked questions

Is AWS Copilot deprecated?

Yes. AWS Copilot CLI reached end of support on June 12, 2026, and its GitHub repository is archived. Existing CloudFormation stacks it created keep running, but the CLI receives no fixes or updates.

What should I use instead of AWS Copilot?

AWS recommends ECS Express Mode for simple container services and CDK constructs for more control. Encore is an alternative that defines the services, databases, queues and cron jobs in application code and deploys them to ECS in your own AWS account, which covers the load balanced services, workers and scheduled jobs Copilot handled.

What happens to my Copilot-deployed services?

They are ordinary CloudFormation stacks with ECS services, so they keep running. Moving off Copilot means taking over those stacks with another tool, or deploying new ones and switching traffic.

Can I keep using Copilot after end of support?

The last release still works against the AWS APIs it was built for, but new AWS features and security fixes will not arrive, so plan a migration rather than relying on it.

Deploy to your cloud on AWS and Google Cloud
without managing infrastructure

Encore lets developers and agents define application infrastructure directly in code, then automatically provisions it from local development to production in your AWS or GCP account.

~/orders — claude
Claude Code
Claude Code v2.1.180Opus 5.5~/orders