Skip to content

AWS Overview

Amazon Web Services (AWS) is the world's most comprehensive and broadly adopted cloud platform, offering over 200 fully featured services from data centers globally. This overview helps you understand when to use AWS and how to navigate its extensive service catalog.

When to Choose AWS

Ideal Scenarios for AWS

ScenarioWhy AWSKey Services
StartupsBroadest service catalog, first-to-market innovationLambda, API Gateway, Cognito
EnterpriseMature ecosystem, compliance, global presenceAWS Organizations, Config, Security Hub
Machine LearningComprehensive ML/AI servicesSageMaker, Bedrock, Rekognition
Data AnalyticsIntegrated data lake and analytics servicesS3, Redshift, Athena, Glue
MicroservicesContainer-first approach, extensive toolingECS, EKS, App Runner

AWS vs Azure vs GCP

FeatureAWSAzureGCP
Market Share32%23%10%
StrengthsService breadth, maturity, innovationMicrosoft integration, hybridData/ML, K8s expertise
Service CatalogLargestLargeFocused
PricingCompetitiveCompetitiveCompetitive
Learning CurveSteepSteepModerate
CommunityLargestLargeGrowing

AWS Core Services

Compute Services

ServiceDescriptionWhen to Use
Amazon EC2Virtual servers in the cloudFull OS control, custom instances
AWS LambdaServerless compute functionsEvent-driven, sporadic workloads
Amazon ECSContainer orchestration (Docker)Containerized applications
Amazon EKSManaged KubernetesKubernetes deployments
AWS FargateServerless containersContainers without managing infrastructure
AWS BatchBatch computing jobsHPC, batch processing

Storage Services

ServiceDescriptionUse Case
Amazon S3Object storageFiles, backups, static websites
Amazon EBSBlock storage for EC2Database storage, OS disks
Amazon EFSNetwork file systemShared file storage for Lambda/EC2
Amazon FSx for WindowsManaged Windows file serverWindows applications
Amazon GlacierLong-term archival storageCompliance, infrequent access

Database Services

ServiceTypeWhen to Use
Amazon RDSManaged SQL/NoSQL databasesStandard databases (MySQL, PostgreSQL, etc.)
Amazon DynamoDBManaged NoSQL key-valueFast, scalable NoSQL needs
Amazon AuroraCloud-native relational databasesHigh-performance, scalable SQL
Amazon ElastiCacheManaged Redis/MemcachedCaching, session storage
Amazon NeptuneGraph databaseSocial networks, fraud detection
Amazon RedshiftData warehouseAnalytics, business intelligence
Amazon DocumentDBMongoDB-compatibleDocument-based applications
Amazon QLDBLedger databaseFinancial transactions, audit trails

Networking Services

ServiceDescriptionUse Case
Amazon VPCIsolated network environmentNetwork segmentation, security
Elastic Load Balancing (ELB)Distribute incoming trafficHigh availability, scaling
Amazon API GatewayManaged API serviceREST/HTTP APIs, microservices
AWS CloudFrontContent Delivery Network (CDN)Global content delivery, caching
AWS Direct ConnectDedicated network connectionHybrid cloud, consistent performance
AWS Global AcceleratorImprove application performanceGlobal traffic routing

Security Services

ServiceDescriptionUse Case
AWS IAMIdentity and access managementUser authentication, authorization
AWS KMSKey Management ServiceEncryption key management
AWS Secrets ManagerSecrets and credential managementAPI keys, database passwords
AWS ShieldDDoS protectionAttack mitigation
Amazon GuardDutyThreat detectionSecurity monitoring
AWS ConfigConfiguration trackingCompliance, change management

Management & Governance

ServiceDescriptionUse Case
AWS CloudWatchMonitoring and observabilityMetrics, logs, alerts
AWS CloudTrailAudit loggingCompliance, security auditing
AWS OrganizationsMulti-account managementEnterprise governance
AWS Trusted AdvisorBest practices recommendationsCost optimization, security
AWS Cost ExplorerCost analysis and reportingBudgeting, cost management

AWS Pricing Models

Instance Purchasing Options

OptionDescriptionSavingsBest For
On-DemandPay by second/usageNoneShort-term, unpredictable
Reserved Instances1-3 year commitmentUp to 75%Steady, predictable workloads
Savings PlansCompute usage commitmentUp to 72%Flexible, consistent usage
Spot InstancesUnused capacityUp to 90%Fault-tolerant, flexible workloads

Storage Pricing Tiers (S3)

  • Standard: Frequent access
  • Intelligent-Tiering: Automatic cost optimization
  • Standard-IA: Infrequent access (lower cost, retrieval fee)
  • One Zone-IA: Single AZ, infrequent access
  • Glacier: Long-term archival (lowest cost, retrieval time)

Cost Management

  • AWS Budgets: Set spending limits and alerts
  • AWS Cost Explorer: Analyze costs and trends
  • AWS Cost Anomaly Detection: Detect unusual spending
  • Trusted Advisor: Optimization recommendations

AWS Architecture Patterns

Web Application Pattern

Frontend + backend + database on AWS.

Components:

  • Route 53 (DNS)
  • CloudFront (CDN)
  • Application Load Balancer
  • EC2 or ECS (application servers)
  • RDS or DynamoDB (database)
  • ElastiCache (caching)

Serverless Pattern

Event-driven, fully managed architecture.

Components:

  • API Gateway (API endpoints)
  • Lambda (business logic)
  • DynamoDB (database)
  • S3 (storage)
  • CloudWatch (monitoring)

Microservices Pattern

Independent, containerized services.

Components:

  • EKS or ECS (orchestration)
  • ECR (container registry)
  • Application Load Balancer
  • Service discovery (Cloud Map)
  • X-Ray (tracing)

Event-Driven Pattern

Loosely coupled, event-based communication.

Components:

  • SNS (pub/sub messaging)
  • SQS (message queuing)
  • EventBridge (event bus)
  • Lambda (event handlers)

AWS Security Best Practices

Identity and Access Management (IAM)

  • Follow least privilege principle
  • Use IAM roles for applications
  • Enable MFA for root account and IAM users
  • Rotate access keys regularly
  • Use IAM policies for fine-grained access

Network Security

  • Use VPC with private subnets
  • Implement security groups and NACLs
  • Use bastion hosts for SSH access
  • Enable VPC flow logs
  • Use AWS WAF for web application firewall

Data Security

  • Encrypt data at rest and in transit
  • Use AWS KMS for key management
  • Enable S3 bucket policies and ACLs
  • Use AWS Shield for DDoS protection
  • Enable CloudTrail for audit logging

Compliance

  • Use AWS Config for compliance monitoring
  • Enable Security Hub for centralized security
  • Use AWS Artifact for compliance reports
  • Implement AWS Control Tower for governance

Common Scenarios

Scenario: Migrating On-Premise Application to AWS

Approach: Lift-and-shift using EC2 Services: EC2, RDS, EBS, AWS Backup, Direct Connect Benefits: Reduce infrastructure overhead, improve availability, scale on demand

Scenario: Building Serverless Web Application

Approach: Fully managed, event-driven architecture Services: API Gateway, Lambda, DynamoDB, Cognito, CloudFront Benefits: No server management, auto-scaling, pay-per-use

Scenario: Big Data Analytics Platform

Approach: Data lake and analytics services Services: S3, Glue, Athena, Redshift, QuickSight Benefits: Scalable data storage, SQL analytics, business intelligence

Scenario: Containerized Microservices

Approach: Kubernetes-based container orchestration Services: EKS, ECR, Fargate, Application Load Balancer, X-Ray Benefits: Portable applications, auto-scaling, improved deployment

AWS Management Tools

AWS Console

Web-based management interface.

When to Use:

  • Quick tasks and visual management
  • Resource creation and configuration
  • Monitoring and dashboards

AWS CLI

Command-line interface for AWS.

When to Use:

  • Automation and scripting
  • DevOps pipelines
  • Managing multiple accounts

AWS SDKs

Language-specific SDKs for AWS services.

Languages:

  • Python (boto3), JavaScript/TypeScript
  • Java, Go, C#, Ruby, PHP

When to Use:

  • Building applications that use AWS
  • Custom automation tools
  • Programmatic access to AWS

Getting Started with AWS

Learning Path

  1. AWS Fundamentals: Learn core services and concepts
  2. AWS CLI: Master command-line management
  3. Compute and Storage: EC2, S3, Lambda
  4. Networking and Security: VPC, IAM, Security Groups
  5. Databases: RDS, DynamoDB
  6. Advanced Topics: Serverless, containers, machine learning

First Steps

  1. Create AWS account (free tier available)
  2. Create IAM user with limited permissions
  3. Set up AWS CLI configuration
  4. Deploy first EC2 instance
  5. Explore AWS Console and CLI

AWS CLI Quick Start

bash
# Configure AWS CLI
aws configure

# Create EC2 instance
aws ec2 run-instances \
  --image-id ami-0c55b159cbfafe1f0 \
  --count 1 \
  --instance-type t2.micro \
  --key-name my-key-pair \
  --security-group-ids sg-903004f8 \
  --subnet-id subnet-6e7f829e

# List S3 buckets
aws s3 ls

# Create S3 bucket
aws s3 mb s3://my-unique-bucket-name

AWS Services Covered

Further Reading

Released under MIT License.