People Keep Asking Me "What Exactly Does AWS Do?" So Here's the Real Answer

I've been building on AWS since 2016. Started at a startup that burned $40K/month on EC2 because nobody understood what they were buying. Now I run SIVARO, w...

people keep asking what exactly does do heres
By Nishaant Dixit
People Keep Asking Me "What Exactly Does AWS Do?" So Here's the Real Answer

People Keep Asking Me "What Exactly Does AWS Do?" So Here's the Real Answer

People Keep Asking Me "What Exactly Does AWS Do?" So Here's the Real Answer

I've been building on AWS since 2016. Started at a startup that burned $40K/month on EC2 because nobody understood what they were buying. Now I run SIVARO, where we design data infrastructure for companies processing 200K events per second. I've seen the good, the bad, and the "who approved this bill" ugly.

Here's the honest answer: AWS is a rental warehouse for computing. Except the warehouse has 200+ specialized tools, charges by the second, and if you misconfigure one thing, you'll get a $50K surprise.

What exactly does AWS do? It sells you access to infrastructure that would cost millions to build yourself. Servers, storage, databases, AI models, networking. You pay for what you use. That's the simple story.

The real story is messier.


The Core: AWS Is a Utility Company Pretending to Be a Cloud

Most people think AWS is "the cloud." They're wrong.

The cloud is a concept. AWS is a utility provider — like your electric company, but for compute and storage. You don't build a power plant. You don't maintain generators. You plug into the grid and pay the meter.

AWS does the same for servers, databases, AI training, and content delivery.

Here's what they actually own and operate:

  • 105 Availability Zones across 33 geographic regions (as of early 2025)
  • Each zone is one or more data centers with redundant power, networking, and cooling
  • They handle hardware failures, network upgrades, security patches, and capacity planning
  • You get an API to provision resources in minutes instead of weeks

That's the pitch. But "what exactly does AWS do?" gets complicated when you realize they're not just renting servers — they're building an operating system for the internet.


The Real Answer: AWS Gives You Control Without Ownership

I've consulted for 14 companies migrating workloads to AWS. The pattern is always the same:

  1. Someone says "we need to move to the cloud"
  2. They spin up EC2 instances and call it done
  3. The bill arrives
  4. They panic
  5. They hire someone like me

The problem isn't understanding what AWS does. It's understanding when to use which service and how to pay for it correctly.

AWS has ~200 services. You need maybe 10. The rest are traps for people who think "more services = more capable."

Let me break down what actually matters.

Compute: EC2, Lambda, and the Serverless Lie

EC2 is the original AWS service. Launched in 2006. Still the backbone of most production systems. You rent virtual machines — called instances — and pay by the hour (or second for newer instances).

Here's what nobody tells you: EC2 pricing is intentionally confusing.

On-demand: pay full price, no commitment. Reserved: 1-3 year contract, save 40-60%. Spot: bid for spare capacity, save 90%, but your instance can be terminated with 2 minutes warning.

We tested all three for a client's batch processing pipeline. Spot instances cut their monthly compute bill from $47,000 to $4,800. But they had to rewrite their job scheduler to handle interruptions. Took 3 weeks. Worth it.

Lambda is AWS's "serverless" compute. You upload code, set a trigger, and AWS runs it. No servers to manage. The catch: cold starts, 15-minute execution limit, and costs that explode if you don't monitor them.

Most people think Lambda is cheaper than EC2. They're wrong for any workload running more than 10 minutes/day continuously. Lambda is cheap only for spiky, unpredictable traffic. For steady load, EC2 with reserved pricing wins every time.

python
# Example: Simple Lambda handler to process events
import json

def lambda_handler(event, context):
    # Process incoming event
    records = event.get('Records', [])
    for record in records:
        body = json.loads(record['body'])
        process_data(body)

    return {'statusCode': 200, 'body': json.dumps('Processed')}

def process_data(data):
    # Your business logic here
    pass

Storage: S3 Changed Everything

S3 (Simple Storage Service) launched in 2006. It's object storage. You put files in buckets. You retrieve them via API. That's it.

But the durability claims are insane: 99.999999999% (11 9's). AWS calculates this as losing one object out of 10,000,000,000 per year. In practice, S3 hasn't lost customer data since launch. Not once.

We store 3 petabytes for a financial client. Cost: ~$60K/month using S3 Standard + Intelligent-Tiering. Migrating from NetApp on-premises saved them $280K/month in hardware and admin salaries.

S3 tiers:

  • S3 Standard: frequent access, $0.023/GB/month
  • S3 Intelligent-Tiering: auto-moves between tiers based on access patterns
  • S3 Glacier: for archival, retrieval takes minutes to hours
  • S3 Glacier Deep Archive: $0.001/GB/month, retrieval takes 12+ hours

The trick: never use S3 Standard for everything. We saved a client 40% by setting lifecycle policies to move old logs to Glacier after 30 days.

python
# Example: Uploading to S3 with lifecycle policy
import boto3

s3 = boto3.client('s3')
bucket_name = 'my-production-data'

# Create bucket with lifecycle rules
s3.create_bucket(Bucket=bucket_name, CreateBucketConfiguration={
    'LocationConstraint': 'us-west-2'
})

# Set lifecycle policy to transition to Glacier after 30 days
s3.put_bucket_lifecycle_configuration(
    Bucket=bucket_name,
    LifecycleConfiguration={
        'Rules': [{
            'ID': 'Transition-to-Glacier',
            'Status': 'Enabled',
            'Prefix': '',
            'Transitions': [{
                'Days': 30,
                'StorageClass': 'GLACIER'
            }]
        }]
    }
)

Databases: RDS vs DynamoDB vs Aurora

This is where most projects fail.

Relational databases (RDS): MySQL, PostgreSQL, MariaDB, Oracle, SQL Server. AWS manages the instance. You manage the schema, queries, indexes. Good for: complex joins, transactions, ACID compliance.

DynamoDB: NoSQL, key-value. Serverless. Auto-scales. Pay per request. Good for: high-throughput, low-latency, simple access patterns. Bad for: complex queries, joins, transactions across multiple items.

Aurora: AWS's custom MySQL/PostgreSQL-compatible database. Claims 5x throughput over standard MySQL. We tested this: for our workload, Aurora was 3.2x faster and cost 40% less due to auto-scaling.

Here's the mistake I see constantly: teams pick DynamoDB because "it's serverless and scales" then spend months rebuilding joins in application code. If you need relational queries, use a relational database. DynamoDB won't save you from bad data modeling.

python
# Example: DynamoDB query with proper partition key design
import boto3
from boto3.dynamodb.conditions import Key

dynamodb = boto3.resource('dynamodb')
table = dynamodb.Table('UserOrders')

# Query by user_id (partition key) and sort by order_date
response = table.query(
    KeyConditionExpression=Key('user_id').eq('user_12345') &
                          Key('order_date').between('2024-01-01', '2024-12-31')
)

for item in response['Items']:
    print(f"Order: {item['order_id']}, Amount: {item['total']}")

The Services Nobody Mentions (But Should)

VPC and Networking

Most developers never touch VPC configuration. They use default settings. This is dangerous.

A Virtual Private Cloud (VPC) is your isolated network on AWS. You define IP ranges, subnets, route tables, and internet gateways. Without proper VPC design, you can:

  • Accidentally expose databases to the internet
  • Create bandwidth bottlenecks between services
  • Security group rules that allow everything inbound

We audit every project's VPC. 80% have at least one "allow all" security group rule. Fixing this isn't hard:

json
{
    "IpPermissions": [
        {
            "IpProtocol": "tcp",
            "FromPort": 443,
            "ToPort": 443,
            "IpRanges": [
                {"CidrIp": "10.0.0.0/16"}  // Only internal traffic
            ]
        }
    ]
}

IAM: The Permission System Everyone Hates

Identity and Access Management (IAM) controls who can do what. It's powerful. It's also the source of 90% of AWS security breaches.

The rule: grant least privilege. Not "everything for convenience."

I've seen S3 buckets with public read access because someone wanted "easy file sharing." That's an incident waiting to happen.

We use AWS Organizations with Service Control Policies (SCPs) to enforce guardrails. For example, prevent any user from disabling CloudTrail (audit logging) or making S3 buckets public.

json
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Deny",
            "Action": "s3:PutBucketPublicAccessBlock",
            "Resource": "*"
        }
    ]
}

The Pricing Trap: How AWS Makes Money

AWS revenue in 2024: ~$90 billion. They didn't get there by accident.

The pricing model is designed to make you think you're saving money while spending more:

  • Compute: pay per hour/second
  • Storage: pay per GB/month
  • Data transfer: pay per GB out (but inbound is free)
  • API calls: pay per request

The trap? Data transfer costs. AWS charges $0.09/GB for most outbound traffic. If you move 10TB/month, that's $900 in transfer fees alone. We've seen companies with $2K in compute costs and $8K in data transfer.

The fix: use CloudFront (CDN) for static assets, or peer directly via Direct Connect. One client saved $14K/month by putting CloudFront in front of their API for a 60% cache hit rate.

Another trap: NAT Gateways. They cost $0.045/hour plus data processing fees. A single NAT Gateway can cost $385/month minimum. We replaced NAT Gateways with VPC endpoints for internal services — saved a client $12K/year.


Real Use Cases: What Exactly Does AWS Do for Different Companies?

Real Use Cases: What Exactly Does AWS Do for Different Companies?

Netflix (the canonical example)

Netflix runs on AWS. Almost entirely. They use:

  • EC2 for streaming servers
  • S3 for storing video content
  • CloudFront for CDN delivery
  • DynamoDB for user viewing history
  • Redshift for analytics

Scale: 247 million subscribers, 1 billion hours streamed per month. They moved on-premises in 2008 because their own data centers couldn't handle growth. Now their AWS bill is estimated at $50 million/month.

Airbnb

Airbnb migrated to AWS in 2016. They use:

  • EC2 for application servers
  • RDS for MySQL databases
  • ElastiCache for Redis caching
  • S3 for user photos

They saved 30% on infrastructure costs by moving off physical servers. But they also had to hire 5 people just to manage AWS.

Small SaaS (our client, name redacted)

A 50-person company processing invoices. We moved them from a colocated server to AWS. Infrastructure cost went from $12K/month to $8K. But they got: auto-scaling, database backups every 5 minutes, and zero downtime during maintenance. That was worth more than the cost savings.


The Honest Problems with AWS

I've said the good stuff. Now the bad.

  1. Complexity is a feature, not a bug. AWS makes money when you can't figure out the cheapest option. They don't simplify pricing because complexity drives spending.

  2. Vendor lock-in is real. Once you use DynamoDB, SQS, and Lambda, moving to GCP or Azure requires rewriting everything. That's intentional.

  3. Support is awful unless you pay. Basic support is forums and docs. Business support ($100/month) gives you 1-hour response for critical issues. Enterprise support ($15K+/month) actually works.

  4. Outages happen. In December 2024, us-east-1 had a 4-hour outage affecting Netflix, Disney+, and 1Password. AWS's response: "we're investigating."

  5. Cost management is a full-time job. We've seen companies with 50 AWS accounts, each with different cost centers. Without proper tagging and governance, you can't track who spent what.


How to Actually Use AWS (My Advice)

Start with three services: EC2 (or Lambda for simple stuff), S3, and RDS. That's 80% of what you'll need. Don't touch DynamoDB, Redshift, or EMR until you have a concrete reason.

Set budgets and alerts immediately. Configure AWS Budgets to send alerts when spend exceeds $X. We set hard limits: if monthly spend hits 90% of budget, auto-terminate non-production resources.

Use AWS Organizations even if you're a small team. It gives you centralized billing, easier cost tracking, and guardrails via SCPs.

Don't use the web console for production changes. Everything should be Infrastructure as Code (CloudFormation, Terraform, or CDK). Manual changes cause "who made this change" problems.

yaml
# Terraform example to prevent manual changes
resource "aws_instance" "web_server" {
  ami           = "ami-0c55b159cbfafe1f0"
  instance_type = "t3.micro"

  tags = {
    Name = "web-server-production"
    Environment = "production"
    ManagedBy = "terraform"
  }
}

FAQ: What Exactly Does AWS Do?

Is AWS just virtual servers?

No. AWS is 200+ services. But 90% of what people use falls into compute (EC2), storage (S3), databases (RDS/DynamoDB), and networking (VPC/CloudFront). Everything else is specialized.

Can I use AWS for one website?

Yes. For a basic website, you need: an S3 bucket for static files, CloudFront for CDN, and Route 53 for DNS. Total cost: $2-5/month. No servers needed.

Is AWS cheaper than on-premises?

For most companies, yes. But not always. If you have predictable, steady-state workloads, buying your own servers with a 3-year depreciation is cheaper. AWS wins on flexibility, not raw cost.

What's the most expensive AWS service?

Data transfer out of AWS. Compute and storage costs are peanuts compared to moving data. A 10TB/month transfer can cost $900+. Always check your data transfer costs before optimizing compute.

How do I learn AWS without spending money?

AWS Free Tier gives you 750 hours/month of EC2 (t2.micro), 5GB of S3 Standard, and 25GB of DynamoDB for 12 months. Build something small. Break it. Learn from the bills.

Can AWS replace my entire infrastructure?

Yes. Companies like Netflix, Airbnb, and Pinterest run entirely on AWS. But you need skilled people to manage it. AWS doesn't eliminate the need for engineers — it changes what they do.

What happens if AWS goes down?

Your services go down too. Multi-region deployment reduces risk but increases complexity and cost. For most companies, a single-region outage is acceptable (1-2 hours/year). For critical systems, you need multi-region or multi-cloud.


The Bottom Line

The Bottom Line

What exactly does AWS do? It gives you access to the world's largest distributed computing platform without building data centers. You pay for what you use, scale instantly, and avoid capital expenditure.

But it's not magic. It's a tool. Like any tool, it can be misused. I've seen teams spend $100K/month on AWS when a $2K/month dedicated server would work better. And I've seen startups scale to millions of users on $5K/month because they understood the cost model.

AWS makes the most sense when:

  • Your workload is variable or growing
  • You can't predict capacity needs
  • You want to focus on software, not hardware
  • You have the engineering talent to manage cloud infrastructure

If you're a solo developer with a blog, use a $5 VPS. If you're a startup with 50 users, AWS is overkill. But if you're building for scale — or you don't know what scale looks like — AWS gives you room to grow.

The key is understanding what exactly does AWS do for your specific situation. Not what the marketing says. Not what your friend's startup does. What you actually need.

I've built systems processing 200K events per second on AWS. I've also watched companies waste $300K on services they never used. The difference is knowing when to use a service and when to walk away.

Start small. Monitor everything. Control costs. And never trust a "free tier" without reading the fine print.


Nishaant Dixit — Founder of SIVARO. Building data infrastructure and production AI systems since 2018. Built systems processing 200K events/sec.

Free · No Commitment · 48-Hour Delivery

Get a free infrastructure audit

2-hour remote session. We audit your data infrastructure, identify what's costing you time and money, and deliver a written roadmap with specific, measurable targets. No pitch.

Book Your Free Audit
N
Nishaant Dixit
Founder & Lead Engineer at SIVARO

Building data-intensive systems since 2018. 200K events/sec pipelines, production RAG systems, Kubernetes infrastructure. LinkedIn →

Start a Project
Need help with your infrastructure?

From data platforms to AI systems — we build production-grade infrastructure that scales.

Explore Our Services