DEV Community

adedokun damilare
adedokun damilare

Posted on

EC2, ECS, EKS, and Lambda: How I Finally Made Sense of Them

EC2(Elastic Compute Cloud), ECS(Elastic Container Service), EKS(Elastic Kubernetes Service), and Lambda: How I Finally Made Sense of Them

When I started learning AWS, one thing that really slowed me down was understanding EC2, ECS, EKS, and Lambda. They all sounded like different ways to “run apps,” and most explanations assumed I already knew what I was doing.

I didn’t.

What finally helped me wasn’t memorizing features, but changing how I thought about responsibility.

The Mental Model That Clicked for Me

Instead of asking “Which one is better?”, I started asking:

How much work am I responsible for, and how much does AWS handle for me?

Once I saw these services as different levels of abstraction, everything became clearer.

EC2: Full Control, Full Responsibility

EC2 was the easiest for me to understand at first because it’s basically a virtual server.

You choose the OS, install software, handle updates, and think about scaling and availability. It feels familiar, but it also made me realize how much work “managing servers” actually involves.

EC2 taught me the fundamentals of cloud infrastructure.

ECS: Containers Without the Headache

ECS was my introduction to running containers on AWS without diving into Kubernetes.

What helped me understand ECS was this thought:

“I want to run Docker containers, but I don’t want to manage Kubernetes.”

AWS handles a lot of the orchestration, and I just focus on how my containers should run.

EKS: Kubernetes, With All Its Power (and Complexity)

EKS confused me the longest because it felt similar to ECS.

What finally made it click was realizing that EKS is for Kubernetes users, not beginners trying to avoid it. AWS manages the control plane, but I still need to understand pods, services, and deployments.

Powerful, but definitely not where I’d start.

Lambda: No Servers at All

Lambda forced a complete mindset shift.

There are no servers or containers to manage. You just write code, and AWS runs it when something happens. Once I stopped thinking of Lambda as “an app server” and started seeing it as event-driven code, it made much more sense.

The One-Line Comparison That Helped Me Most

EC2: I manage the server

ECS: I manage containers

EKS: I manage Kubernetes

Lambda: I manage only my code.

What I learned is that these services aren’t competing. They exist to solve different problems at different levels of responsibility.

If you’re new to AWS and feel confused by these names, you’re not alone. I was too. Sometimes understanding AWS isn’t about learning more, it’s about finding the right mental model.

Top comments (0)