Skip to main content
Skip to main content
Still in beta — questions, comments or suggestions? aramb@aramb.dev

Service Selection and Architecture Scenarios

Mixed practice with real-world scenarios requiring service selection, architecture decisions, and trade-off analysis across compute, storage, database, and networking.

30 min
Intermediate

Learning Outcomes

By the end of this lesson, you will be able to:

  1. Select appropriate AWS services for given requirements
  2. Justify architecture decisions with clear reasoning
  3. Identify trade-offs between different service options
  4. Apply multi-service knowledge to integrated scenarios

Quick Reference: Service Selection Matrix

RequirementPrimary OptionsSelection Criteria
Virtual server, full controlEC2OS-level access needed, long-running
Serverless code executionLambdaEvent-driven, short tasks, no server management
Container orchestrationECS, EKSMicroservices, Docker containers, scaling
Object storageS3Files, media, backups, static website assets
Block storage for EC2EBSDatabases on EC2, boot volumes
Managed relational databaseRDSSQL, transactions, joins, complex queries
NoSQL, key-valueDynamoDBHigh throughput, predictable scale, simple queries
In-memory cacheElastiCacheSession store, frequent reads, sub-millisecond latency
CDNCloudFrontGlobal content delivery, edge caching
DNSRoute 53Domain registration, routing policies, health checks
Load balancingALB, NLBDistribute traffic, health checks, SSL termination
API managementAPI GatewayREST APIs, throttling, caching, authentication
Queue serviceSQSDecoupling, asynchronous processing, buffering
Notification serviceSNSPub/sub, email, SMS, mobile push
MonitoringCloudWatchMetrics, logs, alarms, dashboards
Infrastructure as codeCloudFormationTemplates, repeatability, version control

Scenario Category 1: Compute Decisions

Practice
1 / 3

A team needs to run a legacy Windows application that requires .NET Framework 4.8 and remote desktop access. Best service?


Scenario Category 2: Storage Decisions

Practice
1 / 3

A media company needs to store 500 TB of video files and serve them to users globally with minimal latency. Best architecture?


Scenario Category 3: Database Decisions

Micro-Activity

Match the Database Need to the Service

Connect each requirement to the most appropriate AWS database service.

Examples

Choose one, then match it on the right

Characteristics

Select an example first

0 of 8 matched so far.


Scenario Category 4: Integrated Architecture

Practice
1 / 3

A web application has static assets, API backend, user authentication, and database. Which services work together?


Synthesis: Architecture Design Challenge

Think about it

Design an architecture for a mobile fitness tracking app with these requirements:

Functional requirements:

  • User profiles and authentication
  • Track workouts (GPS, heart rate, time)
  • Social features (share workouts, follow friends)
  • Real-time leaderboards during events
  • Monthly progress reports

Non-functional requirements:

  • 1 million daily active users
  • 99.9% uptime
  • Sub-second API response times
  • GDPR compliance (EU data residency)
  • Cost-optimized for startup budget

Consider:

  1. Which services for each functional requirement?
  2. How do services integrate?
  3. What's your multi-Region strategy for GDPR?
  4. Where do you optimize for cost vs performance?

Document your architecture with service choices and reasoning.


Common Anti-Patterns to Avoid

Anti-PatternWhy It's WrongBetter Approach
Using EC2 for everythingOver-management, missed serverless benefitsUse Lambda for event-driven, ECS for containers
One database for all dataWrong tool for different access patternsUse purpose-built databases for each need
Storing files in relational databasesBlobs don't scale, expensiveUse S3 for files, RDS for metadata
Direct database access from clientSecurity risk, can't scaleUse API Gateway + Lambda/ECS as proxy
Ignoring CDNHigh latency, origin load, higher costsUse CloudFront for global users
Monolithic everythingSlow deployment, hard to scaleMicroservices with clear service boundaries
Over-provisioningPaying for idle capacityAuto Scaling, serverless, right-sizing
No caching layerDatabase overload, slow responseAdd ElastiCache, CloudFront, API Gateway cache

Summary

Service selection framework:

  1. Identify the requirement (compute, storage, database, etc.)
  2. Consider constraints (latency, scale, budget, expertise)
  3. Evaluate managed vs self-managed trade-offs
  4. Design for integration with other services
  5. Plan for security, monitoring, and cost from day one

Key principles:

  • Use the right tool for the job; AWS has 200+ services for a reason
  • Prefer managed services to reduce operational burden
  • Design for your actual scale, not hypothetical future scale
  • Integration between AWS services is usually seamless
  • Cost optimize after you achieve required performance and reliability

Final Review Quiz

Knowledge Check
1 / 3

An application needs to send 10 million emails per day to customers. Most appropriate service?