Introduction

Cloud computing means renting computing resources — servers, storage, databases, networking — from someone else's data center instead of buying and maintaining your own hardware. AWS is the largest provider of that, and understanding how it's organized is the first step before touching any individual service.

Regions and availability zones

AWS runs data centers all over the world, grouped into regions (like us-east-1 in Virginia, or ap-south-1 in Mumbai). Each region is split into multiple availability zones — physically separate data centers within that region, connected by fast, low-latency links. Spreading resources across availability zones is how you survive one data center having a bad day without your whole application going down.

Note: most resources you create live in exactly one region unless you explicitly replicate them. Picking a region close to your users reduces latency, and some regions are cheaper than others for the exact same service — it's worth checking before you build anything real.

The console vs. the CLI

The AWS Management Console is the web dashboard — good for exploring and learning, but slow and error-prone for anything you'll repeat. The AWS CLI lets you run the exact same operations from a terminal, which makes your work scriptable and reviewable:

bash terminal
aws sts get-caller-identity
Output
{
    "UserId": "AIDACKCEVSQ6C2EXAMPLE",
    "Account": "123456789012",
    "Arn": "arn:aws:iam::123456789012:user/piyush"
}

aws sts get-caller-identity is the "who am I" command — a good first thing to run after configuring credentials, since it confirms which AWS account and identity your CLI is actually authenticated as before you run anything that changes real infrastructure.

What "serverless" and "managed" actually mean

You'll see these two words throughout this course. Managed means AWS operates the underlying software for you (patching, backups, scaling) — you configure it, you don't administer it. Serverless goes further: there's no server for you to think about at all, even conceptually — you provide code or configuration, and AWS runs it on demand. Both trade some control for a lot less operational work.