What is AWS? Core services and concepts
TL;DR
- AWS (Amazon Web Services) is the oldest and largest cloud platform, with the widest catalog of services of the three major providers.
- Resource organization: the account is AWS's primary billing and isolation boundary, similar to an Azure subscription or a GCP project. AWS Organizations groups multiple accounts under central billing and policy control. Resources are deployed to regions, each made up of multiple Availability Zones (AZs).
- Core compute: EC2 for IaaS virtual machines, Elastic Beanstalk/App Runner for managed app hosting, EKS for managed Kubernetes, Lambda for serverless functions, and ECS/Fargate for containers without running a full Kubernetes cluster.
- Core storage: S3 for object storage, EFS for managed file shares, and EBS for block storage attached to EC2 instances.
- Core databases: RDS for managed relational databases (MySQL, PostgreSQL, SQL Server, and more) and DynamoDB for a fully managed NoSQL key-value/document store.
- Identity: IAM (Identity and Access Management) controls who and what can do what, via users, groups, roles, and JSON-based policies.
- Management: deployments are typically managed as code via CloudFormation, the AWS CDK, or Terraform, rather than clicked through the AWS Console.
Amazon Web Services (AWS) was the first major public cloud platform and remains the largest by both revenue and the sheer breadth of its service catalog. It's often the default choice for greenfield projects without a strong existing vendor relationship, and the platform most other providers' services get compared against.
How AWS organizes resources
AWS's resource hierarchy is account-centric, which is one of the clearer differences from Azure's subscription/resource-group model and GCP's project model.
- Account: the primary billing and access boundary. Many teams run separate accounts per environment (dev, staging, prod) or per team, rather than separating everything with resource groups inside one account.
- AWS Organizations: a service for managing multiple accounts centrally, with consolidated billing and Service Control Policies (SCPs) that set permission guardrails across every account in the organization.
- Organizational Unit (OU): an optional grouping layer inside AWS Organizations, nestable into a tree, so SCPs and other guardrails can apply to a whole branch of accounts rather than the entire organization or one account at a time.
- Region: a geographic area, such as
us-east-1oreu-west-1, containing multiple data centers. - Availability Zone (AZ): one or more discrete data centers within a region, each with independent power and networking. Spreading resources across AZs protects against a single data-center failure.
- Tags / Resource Groups: AWS's lighter-weight, optional way to group resources for cost tracking or management, closer to labels than to Azure's mandatory resource-group container.
Core compute services
- EC2 (Elastic Compute Cloud): infrastructure-as-a-service virtual machines. You choose an AMI (Amazon Machine Image) and an instance type (a combination of vCPU, memory, and sometimes GPU), and AWS manages the underlying hardware.
- Elastic Beanstalk / App Runner: managed platforms for deploying web apps and APIs without managing servers directly, handling scaling and load balancing for you.
- Elastic Kubernetes Service (EKS): a managed Kubernetes offering. AWS runs and patches the control plane; you manage the worker nodes and workloads, the same Kubernetes that runs anywhere else.
- Lambda: a serverless compute service that runs code in response to triggers (an HTTP request via API Gateway, a queue message, a scheduled event) without provisioning any servers, billed by invocation and execution time.
- Elastic Container Service (ECS) / Fargate: a managed container orchestration service. ECS handles scheduling and orchestration; Fargate removes the need to manage the underlying EC2 instances entirely, aimed at simpler container workloads than a full EKS cluster.
Core storage services
- Simple Storage Service (S3): object storage for unstructured data such as images, backups, and logs. Data is organized into buckets, with storage classes (Standard, Infrequent Access, Glacier) for balancing access speed against cost.
- Elastic File System (EFS): fully managed file storage accessible over NFS, useful when an application expects a traditional file system rather than an object store.
- Elastic Block Store (EBS): block storage volumes attached to EC2 instances, available in different performance tiers (from HDD-backed to provisioned-IOPS SSD).
Core database services
- Relational Database Service (RDS): a managed relational database supporting MySQL, PostgreSQL, SQL Server, MariaDB, and Oracle, handling patching, backups, and scaling automatically.
- Aurora: AWS's own MySQL/PostgreSQL-compatible database engine, built for higher throughput and availability than standard RDS.
- DynamoDB: a fully managed NoSQL key-value and document database, built for consistent low-latency access at scale.
Identity and access
Identity and Access Management (IAM) is AWS's identity and permissions system. Access is controlled through policies, JSON documents that grant or deny specific actions on specific resources, attached to users, groups, or roles. Roles are how AWS resources and services are granted permissions to act on your behalf, without embedding long-lived credentials.
For organizations managing many accounts, IAM Identity Center (formerly AWS SSO) provides centralized login and access assignment across the whole AWS Organization, closer to what a single Azure AD/Entra ID tenant provides natively.
Managing AWS as code
The AWS Console is useful for exploration, but production environments are typically managed as code:
- CloudFormation: AWS's native JSON/YAML-based Infrastructure as Code format.
- AWS CDK (Cloud Development Kit): a code-first alternative that lets you define infrastructure in TypeScript, Python, or other supported languages, which compiles down to CloudFormation.
- Terraform: a cloud-agnostic alternative to CloudFormation/CDK, using the AWS provider to manage the same resources through the same HCL workflow used for Azure, GCP, or other providers.
AWS vs. Azure and GCP: rough service equivalents
| Category | AWS | Azure | GCP |
|---|---|---|---|
| Virtual machines | EC2 | Virtual Machines | Compute Engine |
| Managed Kubernetes | EKS | AKS | GKE |
| Serverless functions | Lambda | Azure Functions | Cloud Functions |
| Object storage | S3 | Blob Storage | Cloud Storage |
| Managed relational DB | RDS | Azure SQL Database | Cloud SQL |
| Identity | IAM | Microsoft Entra ID | Cloud IAM |
The underlying concepts are similar across all three; the main practical differences are in naming, the account/subscription/project boundary each platform defaults to, and how deeply each integrates with services outside the cloud platform itself.