AWS Platform Overview
AWS is the largest public cloud platform, offering compute, storage, database and networking services on demand. Learn regions, availability zones, the core service families, the management plane (console, CLI, SDKs), and how billing and the free tier work so you can navigate any account.
What is this?
Amazon Web Services (AWS) is a public cloud platform that offers more than 200 services — compute, storage, databases, networking, machine learning and more — over the internet with pay-as-you-go pricing. Infrastructure is organized by regions (geographic clusters of data centers) and availability zones (isolated data centers within a region). You manage everything through a shared control plane: the web console, the AWS CLI, SDKs, or infrastructure-as-code tools.
Why do you need it?
- AWS is the market leader in cloud computing, so most DevOps job postings mention it explicitly.
- Every other concept in this module (EC2, S3, VPC, EKS) is a specific AWS service — you need the map before the services.
- Regions and availability zones drive latency, cost and high-availability decisions on every AWS project.
- The management plane (console, CLI, SDK) is how you will deploy and operate everything, so fluency with it matters.
- Billing awareness — free tier limits, on-demand versus reserved pricing, data transfer costs — is part of being a good DevOps engineer.
Mental model
A self-service hardware warehouse
AWS
Walk in with a request, grab a server, database or storage rack from the shelves, pay for exactly what you used, and walk out. The warehouse is split into wings (regions) and each wing has aisles that keep working even if one aisle floods (availability zones). The checkout desk (console or CLI) is the only place you touch; you never visit the warehouse floor.
How it works
- AWS builds and operates data centers worldwide, grouped into regions; each region has multiple availability zones connected by low-latency links.
- You create resources through the control plane — console, AWS CLI, SDKs or IaC tools like Terraform and CloudFormation — and the service provisions them in seconds.
- Resources live in a specific region and often a specific availability zone; a service not present in your region cannot be used there.
- Identity is enforced by IAM: every console user or CLI call is authenticated as a user, role or service principal with attached policies.
- Usage is metered — instance-hours, GB stored, requests, data transfer — and billed monthly; the free tier lets you experiment within limits.
How an AWS resource is requested, run and billed.
Key commands
aws sts get-caller-identityVerify which account and user the CLI is authenticated as.
aws ec2 describe-regionsList the regions where the account can provision compute.
aws s3 lsList the buckets in your account (empty on a fresh account).
aws iam list-usersEnumerate IAM users; you will see only yourself on a new account.
curl -s https://status.aws.amazon.com/rss/all.rssCheck live AWS service health before blaming your config.
Examples
Inspect your AWS identity and available regions
$ aws sts get-caller-identity{ "UserId": "AIDAEXAMPLEUSERID", "Account": "123456789012", "Arn": "arn:aws:iam::123456789012:user/devops-admin"} $ aws ec2 describe-regions --query "Regions[].RegionName" --output texteu-north-1 ap-south-1 eu-west-3 us-east-1 us-east-2aws sts get-caller-identity tells you exactly which identity the CLI is acting as — the account and the user. describe-regions lists where you can actually create resources. Every AWS command you run starts with the same pattern: aws <service> <action>, authenticated by credentials the CLI reads from ~/.aws.
In production
- Choose regions close to your users to minimize latency, and spread workloads across availability zones for high availability.
- Tag every resource (environment, owner, cost-center) so the monthly bill can be split across teams.
- Use CloudFormation or Terraform to provision everything from code instead of clicking through the console.
- Set up AWS Budgets and billing alarms so surprise spend is caught in hours, not weeks.
- Adopt the free tier for learning environments, but always review limits before running production-sized workloads.
Best practices
- Always create resources in the region you intend — 'it works in us-east-1' fails if the team is on ap-south-1.
- Use IAM roles and short-lived credentials over long-lived access keys where possible.
- Tag resources from day one; retro-tagging is painful and easy to miss.
- Write down your AWS account ID and root email somewhere safe, and enable MFA on the root account.
- Prefer infrastructure as code so every environment is reproducible and reviewable.
Common mistakes
- Accidentally leaving resources running in the wrong region, then wondering why the bill is high.
- Sharing the root account credentials with teammates instead of creating IAM users.
- Forgetting that data transfer out of AWS is billed, which surprises data-heavy workloads.
- Running dev workloads 24/7 on on-demand pricing when schedules or spot instances would cut costs.
- Assuming every service exists in every region — some newer services are regional only.
Common issues
Unable to locate credentialsThe CLI has no access keys configured, or ~/.aws/credentials is missing.
Run aws configure or set AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY, then retry.
AccessDenied when calling the ListBuckets operationThe identity lacks an IAM policy that allows s3:ListBucket or s3:ListAllMyBuckets.
Attach a least-privilege policy to the user or role, or use an identity that already has it.
The instance type t3.micro is not supported in this regionSome instance families are not offered in every region.
Query aws ec2 describe-instance-type-offerings for the region and switch to a supported type.
Debugging tips
- Start every debugging session with aws sts get-caller-identity to confirm which identity you are.
- Check the region you are targeting; many 'permission denied' errors are actually wrong-region requests.
- Use the AWS Status page and Service Health Dashboard to separate provider incidents from your own config.
- Inspect the actual API error code (AccessDenied, NoSuchBucket...) before guessing at the cause.
- Enable CloudTrail to see who did what in your account when something changes unexpectedly.
Interview checkpoint
Hands-on lab
- Identify the host, OS and user as a cloud instance would
- Verify outbound internet and DNS from the sandbox
- Inspect environment variables and resource limits
- Practice reading the same signals a provisioning script would
Tour Your First AWS Sandbox
20 min · beginner
Quick quiz
Which AWS construct is an isolated data center or group of data centers within a region?
Every AWS service is available in every region.
A teammate created a test EC2 instance in us-west-2 while your team works in ap-south-1. What is the most likely problem you will hit?
Cheat sheet
EC2Virtual servers — computeS3Object storage — files, backups, static assetsVPCPrivate network with subnets and routingRDS / DynamoDBRelational and NoSQL databasesIAMUsers, roles, policies and access keysRegione.g. us-east-1, ap-south-1 — geographic clusterAvailability zoneIsolated data center within a regionEdge locationCloudFront cache point for the CDNControl planeConsole, CLI, SDKs, IaC