AWS for DevOps: Which Services to Learn First
By Branko Petric - Updated - About 6 weeks at 10 hours a week
The short answer
For DevOps, you need a small part of AWS: IAM, VPC, EC2, a load balancer, RDS, S3 and CloudWatch. That is enough to run a real app and explain its bill. Skip the other services for now, and set a billing alarm on day one. Plan on about 6 weeks at 10 hours a week.
Why AWS comes after CI/CD
You have already run your app on one server. So you know what it needs: a machine, a network, a database and backups. That makes AWS easier to learn, because each service answers a problem you have already met. EC2 is your virtual machine. RDS is the Postgres you restored by hand at step 5.
Why AWS and not another cloud? It leads the sources we checked. In the Stack Overflow 2026 survey, 41.8% of those who answered the cloud and infrastructure question chose AWS. Virtualization Review describes that as extensive work over the past year. Azure had 25.1% and Google Cloud 24.5%. Those are developers, not job postings, and your local market may differ. If Azure leads near you, swap it in.
Read this first: AWS can bill you
AWS is the first step on this roadmap where a mistake can cost real money. Here is how to limit that.
Know your plan. These are the terms AWS listed on 31 October 2026. Check them yourself before you sign up.
- New accounts get $100 in credits and can earn up to $100 more.
- On the free plan, AWS says you are not charged unless you upgrade or turn on paid-only services.
- The free plan ends after 6 months or when your credits run out, whichever comes first. Then the account closes.
- The free plan covers select services. That list includes everything on this page, such as EC2, RDS and Elastic Load Balancing.
- On the paid plan, you pay for anything beyond your credits.
So open the account when you start this step, not before. By our estimates, this step and the later ones that use AWS take about six months in total, so the plan may end before you finish. Upgrade to the paid plan before then if you still need the account. Keep good notes too, because a closed account takes your setup with it.
Set a billing alarm on day one, before you create anything else. Follow the CloudWatch billing alarm guide:
- In Billing preferences, turn on CloudWatch billing alerts. Data can take about 15 minutes to appear.
- Switch to the US East (N. Virginia) Region, because billing data is stored only there.
- Create an alarm on
EstimatedChargeswith a low limit, such as $10. - Open the email from AWS and confirm the subscription. If you skip this, the alarm goes nowhere.
An alarm tells you about money already spent. It does not stop anything. Users also report that EstimatedCharges stays at 0 while credits cover their usage. So this alarm may stay quiet until your credits are gone. AWS Budgets is another option, but it updates only up to three times a day. Check your credit balance each week as well.
Know what quietly costs money. Some things charge by the hour even with no traffic. As listed on the VPC pricing page on 31 October 2026:
- A NAT gateway (lets private servers reach the internet) costs $0.045 an hour in the US East (Ohio) example, plus $0.045 per GB. That is about $33 a month before any data.
- Each public IPv4 address costs $0.005 an hour, about $3.65 a month, even when idle.
Load balancers and RDS databases also charge while they run. Delete everything when you finish a study session, until you can do it with Terraform.
If you ever see a charge you cannot explain, or you think a key has leaked, contact AWS Support right away.
What to learn, in order
- IAM. IAM (Identity and Access Management) controls who can do what. Learn it first, since every action in AWS passes through it. Protect the root user (the account owner) with MFA, then stop using it for daily work.
- VPC. A VPC is your private network in AWS. Learn subnets, route tables and security groups (firewall rules for a resource). This is where step 2 pays off.
- EC2. EC2 gives you virtual servers. Run your app on one, then attach an IAM role, so the server gets short-lived access with no keys in a file.
- A load balancer. It sends traffic to healthy servers. Allow traffic to the server only from the load balancer, so nobody can skip past it.
- RDS. RDS is a database that AWS runs for you. Put it in a private subnet and restore it from a snapshot once. A backup you never restored is only a hope.
- S3. S3 stores files. Send your backups there and keep Block Public Access on.
- CloudWatch. It collects metrics and logs. Make one alarm for your app. You will build on this at step 10.
- Your bill. Read the billing page line by line. Being able to explain the bill is a job skill, not only a way to save money.
To avoid a NAT gateway while you learn, keep the app server in a public subnet with a tight security group. Keep only the database in a private subnet.
What to skip for now
- Most of the other AWS services. If your app does not need it, leave it.
- Lambda beyond knowing what it does (runs a function with no server to manage).
- EKS, the AWS Kubernetes service. You will use a local cluster first because it costs nothing to run.
- Multiple AWS accounts, AWS Organizations and landing zones.
- A second cloud.
Common mistakes
- Putting access keys on a server. Keys in a config file can leak and never expire by themselves. Use an IAM role.
- Attaching
AdministratorAccessto make an error go away. It is the AWS version ofchmod 777. Read the error, then grant the one action that is missing. - Opening port 22 or 5432 to
0.0.0.0/0. That means the whole internet. Allow only the addresses or security groups that need access. - Leaving things running over a weekend. Stopping an EC2 instance does not delete its disk or its other resources. Check every Region you used.
- Learning from the console only, with no notes. You will need those steps at the next stage. Write them down as you click.
Your project
Move your app to AWS by hand, in the console: network, server, load balancer, database and backups to S3. Write down every step and every setting you chose. Then delete all of it and rebuild it from your notes. The second run shows you what your notes left out, and those notes become the plan for Terraform.
You are done when
You can do all of this with no notes. If you already can, skip this step.
- A billing alarm exists in the
us-east-1Region, and you confirmed its email subscription before you built anything else. - Your root user has MFA and is not used for daily work. You do your work as a separate identity with only the access it needs.
- Your app runs on EC2 behind a load balancer. The server has no access keys on it, and uses an IAM role instead.
- Your RDS database is in a private subnet, and
nc -zv <db-endpoint> 5432(a port check) from your laptop fails. - You delete everything, rebuild it from your notes, then use the billing page to explain what each line of the bill was for.
Learn it and test it
Free guides
- AWS Fundamentals for DevOps
- AWS IAM: Users, Roles, and Policies
- AWS VPC and Networking Basics
- AWS EC2 Explained
- AWS Databases: RDS and DynamoDB
- AWS S3: Object Storage Explained
- Monitoring and Logging with CloudWatch
- AWS Cost Optimization for DevOps
Practice scenarios
- Access Keys Are Hardcoded on the EC2 Box. Just Rotate Them?
An app on EC2 authenticates to AWS with long-lived IAM user keys in a config file. One leaked. Defend the real fix.
- Your S3 Website Returns 403. Make the Bucket Public?
Objects in S3 return 403 and a teammate wants to turn off Block Public Access to fix it fast. Defend the right way to grant access.
- The t3 Instance Got Slow. Just Size It Up?
An app on a t3 instance crawls under steady load and a teammate wants a bigger instance. Defend what is actually throttling it.
- The NAT Gateway Bill Exploded. Add More Gateways?
NAT Gateway data processing is now your biggest line item. A teammate thinks it is just bandwidth. Defend where the cost really comes from.
Common questions
Which AWS services should I learn first for DevOps?
Start with IAM, because every other service depends on it. Then learn VPC, EC2, a load balancer, RDS, S3 and CloudWatch, in that order. Together they cover what your app needs: access, a network, compute, a database, file storage and monitoring.
AWS, Azure or GCP: which cloud should I learn?
Learn AWS unless the jobs near you say otherwise. Search 20 local job posts and count the clouds they name. If most say Azure, learn Azure instead. Pick one and stay with it. The ideas of access, networks and servers carry over when you later need a second cloud.
Can I learn AWS for free?
Partly. As of October 2026, the AWS Free Tier gives new accounts up to $200 in credits on a free plan. That plan ends after 6 months or when the credits run out, whichever comes first. Check the current terms before you sign up, because they have changed before.
Do I need an AWS certification for DevOps?
No. We found no solid data on how much a certification helps with hiring, and forum opinions conflict. If you want one, consider Solutions Architect Associate after you finish the project on this page. It should come after the project, not replace it.
Practice defending your decisions
DevOps Ledger is a scenario-based DevOps and SRE interview practice platform: you pick a real production incident, defend your decision in a chat against a senior-engineer AI that pushes back, and get scored against an answer key written before you started.
One payment. 12 months of access. No subscription, nothing renews.
Get full access - $19