deniz.in

Markets

Weather

Loading weather

· via dev.to (home feed)

Hands-on Terraform comparison tests AWS ECS Express Mode against traditional ECS

A dev.to walkthrough deploys the same Flask app through traditional ECS and the new Express Mode, comparing setup effort, deploy time and the production features each path includes.

Hands-on Terraform comparison tests AWS ECS Express Mode against traditional ECS

AWS introduced ECS Express Mode on 21 November 2025 as a faster route to running containerised applications on Fargate, and a hands-on comparison published on dev.to measures how the new deployment path stacks up against a conventional ECS build when both are driven by Terraform.

What Express Mode creates for you

According to the dev.to walkthrough, Express Mode needs only a container image and an infrastructure role to produce a full ECS Fargate deployment. In the background it provisions a VPC, subnets, security groups, an Application Load Balancer with listener rules, HTTPS configuration, auto-scaling policies, metrics, alarms and health checks — exactly the components a traditional ECS project has to define manually.

There is no separate charge for Express Mode itself; you pay only for the resources it provisions. A single Application Load Balancer can also be shared by up to 25 Express Mode services, which the author highlights as a way to trim costs when running several workloads.

The traditional baseline

To keep the comparison fair, the same Flask portfolio application — published in three versions labelled Foundation, Advanced and Production — was deployed through both approaches using Terraform code kept in two directories of a single repository.

The traditional configuration covers provider setup, default VPC and subnet lookups, a security group exposing port 5000, and the ECS cluster with its IAM roles, policy attachments, task definition and service. A shell script fetches the public IP of the running task's network interface to assemble the application URL.

The author's verdict on the result is telling: despite all that code, the deployment still lacks a load balancer, HTTPS, metrics, alarms and scaling policies. Reaching parity with what Express Mode produces by default would require substantially more Terraform.

Deploying through Express Mode

The Express variant concentrates most of its configuration in a single aws_ecs_express_gateway_service resource, supported by files for variables, the execution and infrastructure roles the feature requires, and outputs that include the live application URL.

Speed is the trade-off. The traditional stack was running within a minute or two, while the Express deployment took roughly eight to ten minutes in the author's test — the extra time covering creation of the load balancing, TLS and autoscaling layers.

Updating versions either way

Application updates behave similarly in both paths: change the Docker image tag in the Terraform configuration and apply again. The author stepped the Flask app from v1 through v2 to v3 this way without touching the surrounding infrastructure.

An accidental rollback while capturing screenshots demonstrated a further point: Terraform is indifferent to direction. After deploying v2, switching the image tag back to v1 deployed the older version without complaint.

Caveats from the exercise

The demo images were built for AMD64, and the author cautions that ARM64 images — such as those built natively on Apple Silicon machines — require matching ECS task configuration, and that getting ARM64 working under Express Mode can be more fiddly depending on the setup. The walkthrough also used an IAM account with AdministratorAccess purely for convenience, something the author explicitly advises against outside a demo environment.

Why it matters

Express Mode appears aimed at teams that want production-shaped defaults — TLS termination, health checks, autoscaling, alarms — without maintaining the long Terraform modules those usually demand. The comparison suggests the choice is not simply new versus old: the traditional path still comes up faster and gives full control over every resource, while Express Mode trades a slower initial apply for a far smaller configuration surface and a shared load balancer that can host many services. For organisations weighing a move of existing ECS estates, the practical questions this exercise surfaces are how much hand-rolled networking and scaling code Express Mode could replace, and whether edge requirements such as ARM64 images fit within its current constraints.

  • #aws
  • #ecs
  • #terraform
  • #containers
  • #infrastructure-as-code

Related posts