AWS has 200+ services.
Let that sink in. Two. Hundred. Plus. Services.
Each with its own acronym. EC2. S3. RDS. Lambda. ECS. EKS. EMR. SQS. SNS. DynamoDB. And that's just scratching the surface.
For beginners, AWS feels like walking into a hardware store where everything is labeled in a language you don't speak. You need a simple screwdriver, but you're staring at 47 types of torque-adjusted hex drivers with ergonomic grips.
Today, we're cutting through the noise. I'm going to show you the AWS services you actually need to know, explain them in plain English, and help you not feel like an idiot when someone mentions "spinning up an EC2 instance."
What Is AWS (For the Three People Living Under a Rock)
AWS = Amazon Web Services. It's Amazon's cloud computing platform. Remember how we talked about cloud being someone else's computer? AWS is the biggest "someone else" in the game.
They own massive data centers around the world. You rent computing power, storage, databases, and other services from them. Pay only for what you use.
It's like renting space at a market instead of building your own store. Cheaper, faster, and someone else deals with the plumbing.
Want a simple explanation of cloud computing first? Read cloud computing explained Matatu-style.
Why AWS? (And Why It's Everywhere)
AWS launched in 2006. They had a 7-year head start on everyone else.
By the time Google Cloud and Microsoft Azure showed up, AWS was already massive. More services. More integrations. Bigger ecosystem.
Today, AWS runs approximately half the internet. Netflix, Airbnb, Spotify, Reddit... all on AWS.
It's not always the cheapest. It's not always the easiest. But it's the most mature, most flexible, and has the most stuff.
The Core AWS Services (The Ones You'll Actually Use)
Let me break down the essential services in categories that make sense to humans.
Computing (Running Your Code)
EC2 (Elastic Compute Cloud)
This is a virtual server. A computer in the cloud.
You pick the specs (CPU, RAM, storage), Amazon gives you a server, and you install whatever you want on it.
It's like renting a laptop that lives in Amazon's data center. You have full control.
Use it for: Traditional server needs. Web servers, databases, custom applications.
For detailed comparison of EC2, ECS, and Fargate, see the complete AWS compute guide.
Lambda (Serverless Functions)
We talked about serverless earlier. Lambda is AWS's version.
You upload code. It runs when triggered. You don't manage servers at all.
Use it for: Event-driven tasks. API endpoints. Scheduled jobs. Quick scripts.
Deep dive into AWS Lambda and serverless functions.
ECS/EKS (Container Services)
If you use Docker, these services run your containers at scale.
ECS = Elastic Container Service (AWS's own system) EKS = Elastic Kubernetes Service (runs Kubernetes)
Use it for: Modern microservices architecture. Scalable containerized apps.
Storage (Keeping Your Stuff)
S3 (Simple Storage Service)
Cloud storage for files. Upload anything — images, videos, backups, documents.
It's like Google Drive, but for developers and with way more features.
Cheap, reliable, scales infinitely. Probably the most-used AWS service.
Use it for: Static website hosting. File uploads. Backups. Media storage.
Learn advanced S3 storage patterns and best practices.
EBS (Elastic Block Storage)
Hard drives for your EC2 instances. Like the storage on your laptop, but in the cloud.
Use it for: Database storage. Application data that needs persistent storage.
EFS (Elastic File System)
Shared file storage that multiple servers can access at once.
Think shared network drive, but cloud-based.
Use it for: Shared data between multiple servers. Content management systems.
Databases
RDS (Relational Database Service)
Managed databases. AWS handles backups, updates, scaling. You just use it.
Supports MySQL, PostgreSQL, Oracle, SQL Server, MariaDB.
Use it for: Traditional SQL databases without the operational headache.
DynamoDB
NoSQL database. Key-value and document storage. Blazing fast. Scales infinitely.
Use it for: Apps needing low-latency database access at massive scale.
Aurora
AWS's own database. MySQL and PostgreSQL compatible, but faster and more scalable.
Use it for: When you need serious database performance.
Networking
VPC (Virtual Private Cloud)
Your own private section of AWS. Isolated network where your resources live.
It's like having your own compound in a shared neighborhood. Your stuff is separate from everyone else's.
CloudFront
Content Delivery Network (CDN). Caches your content globally so users get it faster.
User in Nairobi accessing your US-hosted site? CloudFront serves it from a nearby server.
Use it for: Fast content delivery. Reducing latency.
Route 53
DNS service. Manages domain names and routes traffic.
Use it for: Connecting your domain name to your AWS resources.
Security and Access
IAM (Identity and Access Management)
Controls who can access what in your AWS account.
Create users, assign permissions, manage access keys.
Critical: Get this right or you'll accidentally expose your database to the entire internet (happens more often than you think).
Monitoring and Management
CloudWatch
Monitoring and logging. See what's happening with your resources. Set alarms for issues.
Use it for: Tracking performance. Getting alerts when things go wrong.
CloudFormation
Infrastructure as code. Define your entire AWS setup in a template. Deploy it anywhere.
Use it for: Reproducible infrastructure. Version-controlled setup.
The AWS Free Tier (Try Before You Cry Over the Bill)
AWS offers a free tier. Some services free for 12 months. Some free forever (with limits).
Free tier includes:
- 750 hours/month of EC2 (basically one small server running all month)
- 5GB of S3 storage
- 1 million Lambda requests per month
- Lots of other stuff
Perfect for learning and small projects.
Warning: It's easy to accidentally exceed free tier limits. Set up billing alerts IMMEDIATELY.
How AWS Pricing Works (And Why It's Confusing)
AWS pricing is pay-as-you-go. You're billed for:
- Compute time (how long servers run)
- Storage used (how much data you store)
- Data transfer (moving data in/out of AWS)
- Requests (API calls, database queries, etc.)
Sounds simple. In practice, it gets complicated fast because different services have different pricing models.
Pro tips:
- Use the AWS Pricing Calculator to estimate costs
- Set up billing alerts
- Regularly review your bill
- Turn off stuff you're not using
Common AWS Beginner Mistakes (Learn From Others' Pain)
1. Not Setting Up Billing Alerts
You experiment. Forget to turn something off. Get a 500 dollar bill. Cry.
Set billing alerts from day one.
2. Leaving Resources Running
That EC2 instance you spun up for testing? Still running. Still charging you.
AWS doesn't auto-stop anything. If you leave it on, you pay.
3. Misunderstanding Free Tier Limits
"Free tier" doesn't mean unlimited. It means free UP TO certain limits. Exceed them, you pay.
Read the fine print.
4. Public S3 Buckets
You make an S3 bucket public to test something. Forget to lock it down. Someone finds it. Now your data is public.
Or worse: someone uses it to host pirated movies and you get the bandwidth bill.
Always secure your S3 buckets.
5. Not Using IAM Properly
Using your root account for everything. Creating overly permissive policies. Hardcoding access keys in code.
All security nightmares. Learn IAM basics before you deploy anything serious.
6. Picking the Wrong Instance Type
AWS has dozens of EC2 instance types. Each optimized for different workloads.
Beginners pick randomly. Then wonder why their app is slow or their bill is high.
Start small. Monitor performance. Adjust as needed.
How to Actually Get Started (A Simple Path)
Week 1: The Basics
- Create an AWS account
- Set up billing alerts
- Launch a free-tier EC2 instance
- Deploy a simple web server
Week 2: Storage
- Create an S3 bucket
- Upload files
- Host a static website on S3
Week 3: Databases
- Set up a free-tier RDS database
- Connect it to your app
Week 4: Serverless
- Create a Lambda function
- Trigger it with an API Gateway
- Build a simple API
Build a real project: create a serverless API with Lambda and Node.js.
By month two, you'll understand the core services. Everything else builds on these fundamentals.
Resources for Learning AWS
Official:
- AWS Free Tier (hands-on practice)
- AWS Documentation (surprisingly readable)
- AWS Training and Certification (free courses)
Unofficial:
- YouTube tutorials (tons of great content)
- freeCodeCamp AWS courses
- A Cloud Guru / Linux Academy
- This blog
Pro tip: Build something real. Tutorials are fine, but you learn by doing. Deploy an actual project.
Do You Even Need AWS? (Honest Answer)
Not always.
If you're building:
- A simple website → Vercel, Netlify, or basic hosting is easier
- A side project → Heroku or Railway might be less confusing
- A quick prototype → Firebase or Supabase are faster to set up
AWS is powerful but complex. It's overkill for many projects.
But if you need:
- Serious scalability
- Full control and customization
- Enterprise features
- A platform that does literally everything
Then AWS is worth learning.
The Bottom Line
AWS is massive, complex, and can be intimidating. But you don't need to learn all 200 services.
Start with the core:
- EC2 for servers
- S3 for storage
- RDS for databases
- Lambda for serverless functions
Master these. Everything else is either specialized or builds on these foundations.
Take advantage of the free tier. Experiment. Break things (in your dev environment). Learn from mistakes.
And for the love of God, set up billing alerts.
Takeaway: AWS is the biggest cloud provider with 200+ services, but beginners only need to know a handful: EC2 (virtual servers), S3 (storage), RDS (databases), and Lambda (serverless functions). Use the free tier to learn, set billing alerts immediately, and don't get overwhelmed by the acronyms. Start simple, build real projects, and expand your knowledge as needed. AWS is powerful but complex — only use it if you actually need that power.