AWS Introduction

Beginner
⏱️ ~15 min
📚 Updated: Aug 2026
🎯 5 Examples
🚀 5 Try-it labs
cloud · EC2 · S3

What You’ll Learn

This page is a self-contained introduction to AWS (Amazon Web Services)—the cloud platform behind EC2, S3, and dozens of other on-demand services. You will understand what AWS is, the core cloud concepts, the handful of services CodeToFun’s guides cover, and where to go next in the topic index.

What is AWS

Cloud basics

Learn how on-demand, pay-as-you-go cloud infrastructure replaces buying hardware.

Regions & AZs

Where things run

Understand Regions, Availability Zones, and why placement affects latency and uptime.

Compute (EC2)

Virtual servers

Meet EC2 instances—the virtual machines that run your code.

Storage (S3)

Object storage

Store and serve files at scale with Amazon S3 buckets.

Networking

ALB · Route 53 · CloudFront

Route traffic, resolve DNS, and cache content at the edge.

Topic Index

Full roadmap

Jump from launching EC2 to load balancing, CDN, storage, and TLS.

Introduction

Amazon Web Services (AWS) is a cloud computing platform that rents compute, storage, database, and networking capacity over the internet, billed by usage instead of a flat monthly fee. It launched in 2006 and remains the most widely used cloud provider, with data centers organized into Regions and Availability Zones around the world.

Instead of buying physical servers, you provision an EC2 virtual machine in minutes, store files in an S3 bucket, and let a load balancer or CDN route traffic—all through the AWS console, the AWS CLI, or infrastructure-as-code tools.

Because every resource is an API call, you can script deployments, scale up for a traffic spike, and scale back down afterward—something much harder to do with a single rented server.

Why it matters?

Most production websites, APIs, and startups run at least part of their infrastructure on a cloud provider. AWS gives you global reach, managed services that would take a team to build in-house, and pricing that scales with your actual traffic—so a side project and a growing product can share the same building blocks.

Key Highlights

Global Scale

Dozens of Regions worldwide, so you can place resources close to your users.

Pay-as-you-go

Billed for what you use—by the second or hour—no large upfront hardware spend.

Managed Services

Offload databases, load balancing, and DNS instead of running them yourself.

Security with IAM

Fine-grained permissions via IAM users, roles, and policies—least privilege by design.

In short: AWS rents cloud infrastructure by the second. Pick a Region, launch services like EC2 and S3, secure them with IAM, and pay only for what you use.

📝 Getting Started with the AWS CLI

Once the AWS CLI is installed and configured with credentials, the first thing worth running is an identity check—it confirms your setup works before you touch any real resources:

terminal
aws sts get-caller-identity
Try It Yourself

Explanation

TermMeaning
AWS CLIOfficial command-line tool; installs on Windows, macOS, and Linux and talks to every AWS API.
credentialsAn access key ID and secret, stored via aws configure in ~/.aws/credentials—never hard-code these in source.
STSSecurity Token Service—the API group behind get-caller-identity and temporary session credentials.
Account / ARNYour 12-digit account ID and the full Amazon Resource Name identifying exactly who (or what) made the call.

⚙️ Core AWS Services

CodeToFun’s AWS guides focus on this small set of services—enough to run and secure a real web app. Each links to its dedicated tutorial:

ServiceDescriptionTutorial
EC2Resizable virtual machines that run your application codeLaunch an EC2 instance
Elastic IPA static public IP address you attach to an EC2 instanceElastic IP for EC2
Target GroupsNamed sets of instances that a load balancer routes traffic toTarget groups
Application Load BalancerLayer 7 load balancer that spreads HTTP(S) traffic across targetsApplication Load Balancer
Route 53Managed DNS—domains, hosted zones, and recordsRoute 53
CloudFrontContent delivery network (CDN) that caches content at edge locationsCloudFront
S3Durable object storage for files, backups, and static assetsAmazon S3
ACMFree managed TLS/SSL certificates for load balancers and CloudFrontAWS Certificate Manager
HTTP → HTTPSListener rule pattern that redirects plain HTTP to encrypted HTTPSRedirect HTTP to HTTPS

Start with Launch an EC2 instance—the recommended first hands-on guide—then explore the rest.

⚡ Quick Reference

TaskExample
Configure credentialsaws configure
Check identityaws sts get-caller-identity
List S3 bucketsaws s3 ls
Upload a file to S3aws s3 cp file.txt s3://my-bucket/
List running EC2 instancesaws ec2 describe-instances --filters "Name=instance-state-name,Values=running"
SSH into an instancessh -i key.pem ubuntu@<public-ip>
Switch default Regionaws configure set region us-east-1

📋 AWS vs VPS vs PaaS

All three run your app on someone else’s hardware—but they trade control for convenience differently.

AWS
granular services

Fine-grained building blocks (EC2, S3, ALB, Route 53…). Most control and scalability, more setup and IAM to manage.

VPS
single server

One rented box (DigitalOcean/Linode-style) with a flat monthly price. Simple, but you patch, scale, and secure it yourself.

PaaS
git push deploy

Heroku-style platforms manage the infrastructure entirely. Fastest to ship, least infrastructure control, often pricier at scale.

Learn the AWS building blocks here, then decide per-project whether the extra control is worth the extra setup.

Context

When to Use AWS

Reach for AWS when your project needs more than one server can comfortably give you.

  1. Variable or growing traffic

    Scale compute up for a launch or sale, then back down—instead of buying hardware for peak load.

  2. Global audience

    Put content close to users with CloudFront edge locations and Regions on multiple continents.

  3. Need managed services

    Offload databases, queues, and storage instead of running and patching them yourself.

  4. Learning cloud skills

    AWS remains the most widely used cloud platform in job postings and production stacks.

  5. Not for a single static page

    For one small hobby site, a $5 VPS or a free static host is often simpler—grow into AWS as needs multiply.

Key benefit: pay only for the exact compute, storage, and network you use—while keeping the option to add a service the moment you need it.

📚 AWS Topic Index

Browse every AWS tutorial on CodeToFun, grouped by learning path. Start with Launch an EC2 instance.

Load Balancing

Node on EC2

CDN & Routing

Storage & TLS

Examples Gallery

Five starter snippets. Use View Output to preview here, or open Try It Yourself to run a self-contained HTML page with a mock terminal (?tryit=1 through 5).

📚 Getting Started

Verify your identity, then list what already exists in the account.

Example 1 — Check Your AWS Identity

Run this before anything else—if it returns your account and ARN, the CLI is configured correctly.

terminal
aws sts get-caller-identity
Try It Yourself

How It Works

sts get-caller-identity asks AWS’s Security Token Service who the current credentials belong to. It returns your Account ID and the full Arn of the IAM user or role—no permissions on other services required.

Example 2 — List Your S3 Buckets

List every bucket in the account, with its creation date.

terminal
aws s3 ls
Try It Yourself

How It Works

aws s3 ls with no path lists every bucket owned by the account, oldest listing shown by creation timestamp. Add a bucket path (aws s3 ls s3://codetofun-assets/) to list the objects inside it.

📈 Practical Patterns

Inspect running compute, visualize the request path, and reason about IAM policies.

Example 3 — List Running EC2 Instances

Filter to running instances only, and trim the JSON response down to the fields that matter with --query.

terminal
aws ec2 describe-instances \
  --filters "Name=instance-state-name,Values=running" \
  --query "Reservations[].Instances[].[InstanceId,InstanceType,PublicIpAddress]" \
  --output table
Try It Yourself

How It Works

--filters narrows the API response to running instances only, --query applies a JMESPath expression to keep just the ID, type, and public IP, and --output table pretty-prints the result for the terminal instead of raw JSON.

Example 4 — A Minimal Request Path

A simplified diagram of how a request reaches your app once CloudFront, an ALB, and EC2 are wired together.

diagram.html
<div class="flow">
  <div class="node">User</div>
  <div class="arrow">&rarr;</div>
  <div class="node">CloudFront</div>
  <div class="arrow">&rarr;</div>
  <div class="node">ALB</div>
  <div class="arrow">&rarr;</div>
  <div class="node">EC2</div>
</div>
Try It Yourself

How It Works

CloudFront caches static content at the edge and forwards misses toward the origin; the Application Load Balancer receives the request and picks a healthy target; EC2 runs the code that returns the response. Learn each hop in the CloudFront and Application Load Balancer tutorials.

Example 5 — A Least-Privilege S3 Bucket Policy

Grant public read access to one prefix only—not the whole bucket—a common, safer starting point for static assets.

bucket-policy.json
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "PublicReadOnlyForAssets",
      "Effect": "Allow",
      "Principal": "*",
      "Action": "s3:GetObject",
      "Resource": "arn:aws:s3:::codetofun-assets/public/*"
    }
  ]
}
Try It Yourself

How It Works

Principal: "*" means anyone can call the action, but Action is limited to reads and Resource is scoped to a single prefix—so the rest of the bucket, and every other action, stays denied by default. This is the least-privilege pattern: grant exactly what is needed, nothing more.

Use Cases

Real-world places AWS shows up behind everyday products.

1. Hosting Web Apps

EC2 instances run Node.js, Express, Next.js, React, and WordPress sites.

Example: a Node.js API behind an Application Load Balancer.

2. Static Assets & Backups

S3 stores images, downloads, logs, and database backups durably.

Example: a bucket serving public product images.

3. Global Content Delivery

CloudFront caches pages and assets close to visitors on every continent.

Example: a CDN in front of an ALB for a marketing site.

4. High Availability

Load balancers spread traffic across instances in multiple AZs.

Example: two EC2 instances behind one Application Load Balancer.

5. Secure TLS Everywhere

ACM issues free certificates so every listener serves HTTPS.

Example: redirecting all HTTP traffic to HTTPS at the ALB.

6. Learning & Portfolio Projects

Free Tier limits make AWS a practical sandbox for cloud skills.

Example: deploying a personal project end-to-end on EC2 and S3.

Pro Tip: if your project only needs one always-on server with predictable traffic, weigh AWS against a simpler VPS before committing to the extra moving parts.

Advantages

Why AWS is a strong default choice for hosting production workloads.

  1. 1. Elastic Scale

    Add or remove EC2 instances and let a load balancer route around the change.

  2. 2. Pay for What You Use

    No large upfront hardware purchase; stop paying the moment you stop a resource.

  3. 3. Deep Managed Service Catalog

    DNS, CDN, load balancing, and certificates are all handled without extra servers.

  4. 4. Everything Is Scriptable

    The console, CLI, and SDKs all hit the same APIs—automate what you can click.

  5. 5. Fine-Grained Security

    IAM policies scope permissions down to a single action on a single resource.

Pro Tip: set a billing alarm in the first five minutes of a new account—it is the cheapest insurance you will ever configure.

Usage Tips

Follow these practices from your very first account.

  1. 1. Create an IAM user on day one

    Sign in with root only to create your first IAM admin user, then stop using root for daily work.

  2. 2. Pick a Region and stick with it while learning

    Resources in one Region are invisible from another—consistency avoids “where did my instance go?” confusion.

  3. 3. Set a billing alarm before experimenting

    A simple CloudWatch billing alarm catches a forgotten instance before it becomes a surprise invoice.

  4. 4. Scope security groups tightly

    Open SSH (port 22) only to your IP, not 0.0.0.0/0; open web ports only where the app actually listens.

  5. 5. Tag everything you create

    A Project or Owner tag makes cleanup and cost tracking far easier later.

Pro Tip: know basic Node.js first—most of CodeToFun’s EC2 deployment guides assume a small Node.js, Express, or Next.js app to deploy.

Common Pitfalls

Avoid these mistakes that cause most beginner AWS security and cost surprises.

  1. 1. SSH open to 0.0.0.0/0 forever

    Leaving port 22 open to the whole internet invites constant brute-force scanning.

    → Restrict the security group rule to your own IP, or use Session Manager instead of a public SSH port.

  2. 2. Using the root account daily

    Root has unlimited access and no permission boundaries—risky for everyday tasks.

    → Create an IAM admin user immediately and lock the root credentials away with MFA.

  3. 3. Leaving EC2 instances running

    A forgotten test instance bills 24/7 even when nobody is using it.

    → Stop or terminate instances you are not actively using, and set a billing alarm as a backstop.

  4. 4. Public S3 buckets by accident

    A misconfigured bucket policy or disabled “Block Public Access” setting can expose private files.

    → Keep Block Public Access on by default; open only specific prefixes when you truly need public reads.

  5. 5. Hard-coded access keys

    Long-lived access keys committed to a repo or baked into client-side code get scraped and abused.

    → Use IAM roles for EC2 and CI/CD wherever possible, and rotate any key that ever leaked.

Pro Tip: if a bill looks wrong or a security group looks too open, check Cost Explorer and the security group rules first—those two catch most beginner surprises.

🧠 How You Get From Sign-Up to a Running Service

1

Sign up

Create an AWS account with a payment method and enable MFA on the root user.

Account
2

Create an IAM user

Stop using root for daily work; create an admin IAM user (or role) instead.

IAM
3

Pick a Region

Choose a Region close to your users; every resource you launch lives inside it.

Region
4

Launch your first service

Start with EC2—pick an AMI, instance type, key pair, and security group.

EC2
=

Secure & monitor continuously

Tighten security groups, set a billing alarm, and review IAM permissions as you grow.

Important Notes

  • AWS bills by the second or hour for most services—stopping is not the same as terminating; stopped EC2 instances still cost for attached storage.
  • Resources are scoped to a Region; a resource created in one Region will not appear in another.
  • IAM policies are deny-by-default—anything not explicitly allowed is denied, even for otherwise-broad users.
  • The Free Tier covers limited monthly usage for new accounts; always confirm current terms before assuming something is free.
  • Security groups act as a firewall attached to instances—review inbound rules before exposing anything publicly.
  • Next step: launch your first virtual machine in the Launch an EC2 instance tutorial.

Quick Takeaway: pick a Region, create an IAM user before you do anything else, launch EC2 or S3 for your first resource, and set a billing alarm on day one.

Console &amp; CLI Access

The AWS Management Console runs entirely in the browser—no separate app to install—while the AWS CLI is a small download for Windows, macOS, and Linux that talks to the same underlying APIs.

AWS Console

AWS Console &amp; CLI

Manage every service from the browser-based console on any modern browser, or automate the same actions with the AWS CLI (or SDKs) on Windows, macOS, and Linux—no vendor lock-in on the client side.

100% Modern browsers
Google Chrome All versions · Desktop & Mobile
Full support
Mozilla Firefox All versions · Desktop & Mobile
Full support
Apple Safari All versions · macOS & iOS
Full support
Microsoft Edge All versions · Chromium & Legacy
Full support
Internet Explorer IE 6+ · Legacy environments
Full support
Opera All modern versions
Full support
AWS Console Universal

Bottom line: Safe to explore, but remember the Free Tier has monthly limits, not unlimited free usage—set a billing alarm before you start clicking around.

Wrap Up

🎉 Conclusion

AWS turns servers, storage, and networking into API calls you can script, scale, and pay for by the second. Its Free Tier makes it approachable for learning, and its managed services (S3, ALB, Route 53, CloudFront, ACM) save you from running that infrastructure yourself.

By understanding Regions, IAM, and the handful of services above, you can launch a real, secured web app—from a single EC2 instance to a load-balanced, CDN-fronted deployment.

Practice the five examples above, then continue to Launch an EC2 instance—the recommended first hands-on guide.

Pick a Region, create an IAM user, launch EC2 or S3, and set a billing alarm. Everything else in the topic index builds on those basics.

💡 Best Practices

✅ Do

  • Create an IAM admin user and stop signing in as root for daily work
  • Enable MFA on the root account and on privileged IAM users
  • Set a billing alarm before you launch anything experimental
  • Scope security group rules to the exact ports and IPs that need access
  • Tag resources with a project or owner so cleanup stays easy
  • Use IAM roles instead of long-lived access keys wherever possible

❌ Don’t

  • Leave SSH open to 0.0.0.0/0 indefinitely
  • Hard-code access keys in source code or client-side JavaScript
  • Leave test EC2 instances running after you finish with them
  • Disable “Block Public Access” on S3 buckets without a specific reason
  • Grant * permissions on * resources out of convenience
  • Assume the Free Tier means unlimited free usage—check current limits

Key Takeaways

Knowledge Unlocked

Five things to remember about AWS

Start renting cloud infrastructure the safe way.

5
Core concepts
🌐 02

Regions & AZs

Where resources live

Placement
🖥️ 03

EC2 & S3

Compute and storage basics

Services
🔒 04

IAM

Least-privilege security

Security
05

Next: Launch EC2

Your first running instance

Action

❓ Frequently Asked Questions

AWS (Amazon Web Services) is a cloud computing platform offering on-demand compute, storage, networking, and managed services over the internet. Instead of buying and racking physical servers, you rent capacity by the second or hour and pay only for what you use.
Traditional shared or VPS hosting gives you a fixed slice of one server for a flat monthly fee. AWS gives you individual building blocks&mdash;compute (EC2), storage (S3), networking (ALB, Route 53, CloudFront)&mdash;that you combine and scale independently, with usage-based billing instead of a single flat plan.
A Region is a geographic area (like us-east-1 or ap-south-1) containing multiple isolated data centers called Availability Zones (AZs). Pick a Region close to your users for lower latency, and spread critical resources across AZs so a single data center outage does not take your app down.
AWS offers a Free Tier with limited monthly usage on services like EC2 and S3 for new accounts, which is useful for learning. This page is educational, not a guarantee of specific pricing or eligibility&mdash;always check the current AWS Free Tier terms and set a billing alarm before experimenting.
IAM (Identity and Access Management) controls who and what can do what in your account. Using the root account for daily work, sharing long-lived access keys, or granting overly broad permissions are common causes of AWS security incidents. Least-privilege IAM users and roles are the single biggest security lever you control.
Start with Launch an EC2 instance at /aws/ec2-instance-launch-guide, then Elastic IP for EC2, connect over SSH (PuTTY or FileZilla), and deploy a Node.js app. After compute basics, move on to load balancing, Route 53, S3, and ACM for TLS certificates.

Did you Know? 🔊

AWS runs in Regions made of multiple Availability Zones. Prefer the closest Region for latency, keep backups cross-AZ, and use IAM least privilege—never put long-lived access keys in client-side code. AWS launched in 2006 starting with S3 and EC2—two of the very same services this page teaches today, nearly two decades later.

Continue to Launch an EC2 instance

Open the AWS console, pick an AMI and instance type, and get a Ubuntu server running in minutes.

EC2 launch guide →

About the author

Mari Selvan M P
Mari Selvan M P 🔗

Developer, cloud engineer, and technical writer

  • Experience 12 years building web and cloud systems
  • Focus Full Stack Development, AWS, and Developer Education

I write practical tutorials so students and working developers can learn by doing—from databases and APIs to deployment on AWS.

9 people found this page helpful