top of page

Embracing Containerisation: Lifting and Shifting Applications the Smart Way with AWS ECS

Swaroop Anand, Senior Application Consultant

Embracing Containerisation: Lifting and Shifting Applications the Smart Way with AWS ECS

Key Takeaways

    1. Containerisation is fundamental to our cloud-native approach for building and deploying apps — they bring speed, consistency, and reliability across environments.

    2. AWS ECS + ECR simplifies container orchestration, allowing teams to focus on what to deploy, while AWS handles how it runs.

    3. Secure secret management is essential — ECS with AWS Secrets Manager keeps credentials safe and supports compliance.

In today’s fast-paced development world, agility is everything. Whether you’re a startup or an enterprise, one common goal persists — delivering software faster, more reliably, and with consistent environments from development to production. That’s where containerisation comes into play. As a Senior Application Consultant working hands-on with cloud-native architecture, I’ve come to believe that containers aren’t just a good-to-have anymore — they’re the new default.

Why Containerisation Matters

Containerisation enables developers to package applications — along with all their dependencies — into a single unit that can run reliably across environments. Unlike traditional Virtual Machines (“VMs”) containers are lightweight, fast to spin up, and offer true parity across development, staging, and production.

Think of it as bundling your app with everything it needs: runtime, libraries, environment variables, and configuration files — all locked inside a self-contained box.

From Code to Cloud: The Power of AWS ECS

When it comes to running containers at scale, AWS Elastic Container Service (“ECS”) is my go-to orchestration platform. It simplifies container deployment by abstracting away the complexities of cluster management. You define the “what” (your Docker image and resources) and ECS takes care of the “how” (scheduling, scaling, networking).

At Activate, containerisation is a fundamental part of our cloud-native approach. We’ve built internal platforms and client solutions using ECS as the orchestration backbone, providing scalability, speed, and consistency across environments.


We follow a consistent pattern using:

· Elastic Container Registry (“ECR”) to store Docker images

· ECS Task Definitions to define runtime parameters

· ECS Services for service discovery and autoscaling

· AWS Application Load Balancer (“ALB”) to route traffic to containers

Here’s a simple Dockerised sample I’ve created: 👉 https://github.com/swaroop325/hello-aws It contains both frontend and backend apps within a single container — yes, it’s totally possible when structured right!

Secrets: A First-Class Citizen in Modern Cloud Architectures

One often-overlooked best practice is how you manage sensitive configurations like API keys, DB credentials, or tokens. Hardcoding them or baking them into images is a red flag.

With AWS Secrets Manager, ECS makes it seamless. Using the secrets block inside your Task Definition, you can inject secrets securely into your containers at runtime, without exposing them in code or version control. This not only enhances security but also simplifies secret rotation and compliance.

Within Activate, this has become a baseline practice. All environments — from local development to production — use ECS’s native secrets integration to enforce separation of secrets from code, aiding compliance and reducing risk.

Monolith? Microservice? Docker Doesn’t Judge.

While microservices dominate modern architecture conversations, the truth is Docker is just as effective for monolithic apps. For smaller-scale systems, we sometimes bundle both frontend and backend into one image — simplifying deployments and speeding up testing.

In our Activate workflows, this flexibility allows teams to choose what fits the problem — whether it’s shipping a quick internal tool or deploying microservices to serve millions. Docker scales with us, and so do our task definitions and services.

As projects grow, we easily break these containers into separate microservices — thanks to ECS’s support for service-level scaling, independent health checks, and secure networking.

Lift, Shift, and Iterate

Containerisation, especially with ECS, offers a clean path for lift-and-shift migrations. You can take legacy workloads, dockerise them, and immediately enjoy the benefits of cloud-native infrastructure — auto-scaling, centralised logging, Identity and Access Management based (“IAM-based”) access, and secure secret management.

The modular nature of ECS services also allows you to gradually modernise your app — one service at a time — without downtime.

Final Thoughts

Currently, using Docker isn’t just a trend — it’s a thumb rule. From simplifying CI/CD pipelines to unlocking cloud scalability, containers have fundamentally changed how we build and deploy software.

At Activate, containers aren’t just part of the toolchain — they’re built into how we architect, deploy, and scale applications. From microservices to internal tools and legacy migrations, ECS and ECR power our delivery pipelines and enable agility across teams.

If you’re still deploying apps the traditional way, now’s the time to shift gears. Whether it’s a monolith, a full-stack app, or a distributed microservices architecture, containerisation via ECS and ECR is a powerful combo every application engineer should master. And the best part? You don’t need to start big. Start simple — just like I did with hello-aws — and scale confidently with AWS.

Activate Interactive is a leading technology consultant in Singapore that fuses strategy consulting, creativity, and engineering to drive digital innovations. 

HEADQUARTERS

Singapore

Living Technology. Changing Lives.

FOLLOW US

  • Facebook
  • Instagram
  • LinkedIn
  • TikTok

10 Eunos Road 8, #13-08

SingPost Centre,

Singapore 408600

+65 6837 0366

Copyright © 2025 by Activate Interactive Pte Ltd. All Rights Reserved.

bottom of page