Back to blogs

Stop Learning Every AWS Service - Start With These 20

5 min read
AWSCloud ArchitectureLearning PathDevOps

Summary

AWS has hundreds of services, but you don't need to know them all. Learn which 20 services actually matter for real projects and how to think about AWS architecture like a pro.

The AWS Learning Trap

You've probably felt it: opening the AWS console and seeing a massive list of services that makes your head spin. EC2, S3, Lambda, DynamoDB, RDS, CloudFormation, AppSync, Amplify... it never ends.

Here's the truth: You don't need to know all of them.

In fact, worrying about every service is the fastest way to burn out on AWS. Most real-world projects use a small set of core services that work together. The game isn't memorizing 300+ services - it's understanding how the key ones fit together.

The 20 Services That Actually Matter

AWS services fall into clear categories. Here's what you actually need to know:

Where Does Your Code Run?

Pick one:

  • EC2 - Run apps on virtual servers (like a computer in the cloud)
  • Lambda - Run code without managing servers (you just upload code, AWS handles everything else)
  • ECS - Run Docker containers (good if you like containerization)
  • EKS - Run Kubernetes (for teams that live and breathe Kubernetes)

Real talk: Most new projects should start with Lambda or ECS. EC2 is the "I need total control" option.

Where Do You Store Data?

For databases, pick based on what you're building:

  • RDS - Traditional databases like MySQL, PostgreSQL (for structured data)
  • DynamoDB - NoSQL database (for fast, flexible data without complex queries)

For files and objects:

  • S3 - Store anything: images, backups, logs, videos (it's basically "the internet's filing cabinet")
  • EBS - Attach storage to EC2 servers (if you're using EC2)

How Does Internet Traffic Reach Your App?

  • Route 53 - Make your domain point to your app (DNS)
  • CloudFront - Speed up your app by serving content from locations near your users (CDN)
  • Load Balancer - Spread traffic across multiple servers so one server doesn't get overwhelmed

How Do You Control Access?

  • IAM - Tell AWS "who can do what" (security foundation)
  • Security Groups - Tell AWS which internet traffic is allowed in/out (like a firewall)
  • Secrets Manager - Store passwords and API keys safely

How Do You Keep Things Secure?

  • KMS - Encrypt data (make it unreadable to anyone without the key)

How Do You See What's Happening?

  • CloudWatch - Watch your app's health (logs, metrics, alerts)
  • CloudTrail - Track who did what in your AWS account (compliance and debugging)

How Do Components Talk to Each Other?

  • SQS - Queue system (one app puts a message in, another app picks it up later)
  • SNS - Send notifications and events to multiple places

For Docker Users

  • ECR - Store Docker images (like GitHub, but for containers)
  • ECS - Run those containers

For Automation & Deployment

  • CodePipeline - Automate: code → test → deploy (CI/CD)
  • CodeBuild - Build and test your code automatically

What Actually Gets Asked in Interviews and Real Work

Nobody will ask you to list all AWS services. They'll ask you this:

"Can you look at this architecture and explain what's happening?"

If you can answer these questions, you're already ahead of most people:

  • Where does the code run? → Which compute service? (EC2, Lambda, ECS, EKS)
  • Where is the data? → Which database? (RDS, DynamoDB)
  • Where are files? → S3
  • How does traffic reach it? → Route 53, Load Balancer, CloudFront
  • Who can access what? → IAM, Security Groups
  • Is everything working? → CloudWatch
  • What changed? → CloudTrail
  • How do services talk? → SQS, SNS

That's it. Master those 8 questions, and you can understand any AWS architecture.


The Right Way to Learn AWS

Here's how experienced AWS engineers actually learn:

  1. Pick a project (even a small one)
  2. Find out which services that project needs (usually 3-5 services)
  3. Learn those services deeply - understand how they work together
  4. Expand when you need to - learn new services only when your current project requires them

Do NOT do this:

  • Don't memorize service names
  • Don't try to "learn AWS" as a whole
  • Don't worry about services you don't use yet

Do this instead:

  • Learn your current project's services really well
  • Understand how they connect
  • Then when you hit a new problem, learn the service that solves it

A Real Example

Let's say you're building a photo-sharing app:

You'll need:

  • EC2 or Lambda - Run the backend API
  • S3 - Store the photos
  • RDS - Store user accounts and metadata
  • CloudFront - Serve photos fast to users worldwide
  • Route 53 - Make your domain work
  • IAM - Control who can access what
  • CloudWatch - See if things break
  • CodePipeline - Deploy new code automatically

That's 8 services. You don't need AppSync, SageMaker, Kinesis, or any of the fancy stuff yet.

Master these 8 first. Then, only if you need more, learn the next layer.


The AWS Mindset That Actually Works

Think of AWS like building with LEGO:

  • You don't need to understand every LEGO piece made
  • You just need to know: "What pieces do I need to build what I want?"
  • Once you know your pieces, you learn how they snap together
  • Then you build something cool

Here's your mental model:

┌─────────────────────────────────────┐
│  User visits yourapp.com            │
└──────────────┬──────────────────────┘


    ┌──────────────────────┐
    │    Route 53 (DNS)    │
    │  (where does it go?) │
    └──────────┬───────────┘


    ┌──────────────────────┐
    │  CloudFront (CDN)    │
    │ (speed it up first)  │
    └──────────┬───────────┘


    ┌──────────────────────┐
    │ Load Balancer or API │
    │  (spread traffic)    │
    └──────────┬───────────┘


    ┌──────────────────────┐
    │ Lambda/EC2/ECS       │
    │ (run the code)       │
    └──────────┬───────────┘


    ┌──────────────────────┐
    │ RDS / DynamoDB       │
    │ (get the data)       │
    └──────────────────────┘

That diagram is 80% of AWS. Everything else is optimization or specialized use cases.


Your Action Plan

This week:

  1. Pick one of the 20 services above
  2. Read its 5-minute overview on AWS docs
  3. Try it out (AWS free tier is generous)

This month:

  1. Understand which 5-10 services your project uses
  2. Read about how they connect
  3. Practice deploying something small

This year:

  1. You'll naturally learn new services as your projects need them
  2. You'll understand AWS architecture better than 90% of developers

Final Thought

The best AWS engineers aren't the ones who memorized the most services.

They're the ones who can look at a problem and say: "Here's the right tool for this, and here's why it fits together with everything else."

You're on your way to being that engineer. Don't memorize. Understand. Then build.

Start small. Think big. Learn when you need to.