$npx -y skills add ancoleman/ai-design-components --skill deploying-on-awsSelecting and implementing AWS services and architectural patterns. Use when designing AWS cloud architectures, choosing compute/storage/database services, implementing serverless or container patterns, or applying AWS Well-Architected Framework principles.
| 1 | # AWS Patterns |
| 2 | |
| 3 | ## Purpose |
| 4 | |
| 5 | This skill provides decision frameworks and implementation patterns for Amazon Web Services. Navigate AWS's 200+ services through proven selection criteria, architectural patterns, and Well-Architected Framework principles. Focus on practical service selection, cost-aware design, and modern 2025 patterns including Lambda SnapStart, EventBridge Pipes, and S3 Express One Zone. |
| 6 | |
| 7 | Use this skill when designing AWS solutions, selecting services for specific workloads, implementing serverless or container architectures, or optimizing existing AWS infrastructure for cost, performance, and reliability. |
| 8 | |
| 9 | ## When to Use This Skill |
| 10 | |
| 11 | Invoke this skill when: |
| 12 | |
| 13 | - Choosing between Lambda, Fargate, ECS, EKS, or EC2 for compute workloads |
| 14 | - Selecting database services (RDS, Aurora, DynamoDB) based on access patterns |
| 15 | - Designing VPC architecture for multi-tier applications |
| 16 | - Implementing serverless patterns with API Gateway and Lambda |
| 17 | - Building container-based microservices on ECS or EKS |
| 18 | - Applying AWS Well-Architected Framework to designs |
| 19 | - Optimizing AWS costs while maintaining performance |
| 20 | - Implementing security best practices (IAM, KMS, encryption) |
| 21 | |
| 22 | ## Core Service Selection Frameworks |
| 23 | |
| 24 | ### Compute Service Selection |
| 25 | |
| 26 | **Decision Flow:** |
| 27 | |
| 28 | ``` |
| 29 | Execution Duration: |
| 30 | <15 minutes → Evaluate Lambda |
| 31 | >15 minutes → Evaluate containers or VMs |
| 32 | |
| 33 | Event-Driven/Scheduled: |
| 34 | YES → Lambda (serverless) |
| 35 | NO → Consider traffic patterns |
| 36 | |
| 37 | Containerized: |
| 38 | YES → Need Kubernetes? |
| 39 | YES → EKS |
| 40 | NO → ECS (Fargate or EC2) |
| 41 | NO → Evaluate EC2 or containerize first |
| 42 | |
| 43 | Special Requirements: |
| 44 | GPU/Windows/BYOL licensing → EC2 |
| 45 | Predictable high traffic → EC2 or ECS on EC2 (cost optimization) |
| 46 | Variable traffic → Lambda or Fargate |
| 47 | ``` |
| 48 | |
| 49 | **Quick Reference:** |
| 50 | |
| 51 | | Workload | Primary Choice | Cost Model | Key Benefit | |
| 52 | |----------|---------------|------------|-------------| |
| 53 | | API Backend | Lambda + API Gateway | Pay per request | Auto-scale, no servers | |
| 54 | | Microservices | ECS on Fargate | Pay for runtime | Simple operations | |
| 55 | | Kubernetes Apps | EKS | $73/mo + compute | Portability, ecosystem | |
| 56 | | Batch Jobs | Lambda or Fargate Spot | Request/spot pricing | Cost efficiency | |
| 57 | | Long-Running | EC2 Reserved Instances | 30-60% savings | Predictable cost | |
| 58 | |
| 59 | For detailed service comparisons including cost examples, performance characteristics, and use case guidance, see `references/compute-services.md`. |
| 60 | |
| 61 | ### Database Service Selection |
| 62 | |
| 63 | **Decision Matrix by Access Pattern:** |
| 64 | |
| 65 | | Access Pattern | Data Model | Primary Choice | Key Criteria | |
| 66 | |----------------|------------|----------------|--------------| |
| 67 | | Transactional (OLTP) | Relational | Aurora | Performance + HA | |
| 68 | | Simple CRUD | Relational | RDS PostgreSQL | Cost vs. features | |
| 69 | | Key-Value Lookups | NoSQL | DynamoDB | Serverless scale | |
| 70 | | Document Storage | JSON/BSON | DynamoDB | Flexibility vs. MongoDB compat | |
| 71 | | Caching | In-Memory | ElastiCache Redis | Speed + durability | |
| 72 | | Analytics (OLAP) | Columnar | Redshift/Athena | Dedicated vs. serverless | |
| 73 | | Time-Series | Timestamped | Timestream | Purpose-built | |
| 74 | |
| 75 | **Query Complexity Guide:** |
| 76 | |
| 77 | - **Simple Key-Value:** DynamoDB (single-digit ms latency) |
| 78 | - **Moderate Joins (2-3 tables):** Aurora or RDS (cost vs. performance) |
| 79 | - **Complex Analytics:** Redshift (dedicated) or Athena (serverless, query S3) |
| 80 | - **Real-Time Streams:** DynamoDB Streams + Lambda |
| 81 | |
| 82 | For storage class selection, cost comparisons, and migration patterns, see `references/database-services.md`. |
| 83 | |
| 84 | ### Storage Service Selection |
| 85 | |
| 86 | **Primary Decision Tree:** |
| 87 | |
| 88 | ``` |
| 89 | Data Type: |
| 90 | Objects (files, media) → S3 + lifecycle policies |
| 91 | Blocks (databases, boot volumes) → EBS |
| 92 | Shared Files (cross-instance) → Evaluate protocol |
| 93 | |
| 94 | File Protocol Required: |
| 95 | NFS (Linux) → EFS |
| 96 | SMB (Windows) → FSx for Windows |
| 97 | High-Performance HPC → FSx for Lustre |
| 98 | Multi-Protocol + Enterprise → FSx for NetApp ONTAP |
| 99 | ``` |
| 100 | |
| 101 | **Cost Comparison (1TB/month):** |
| 102 | |
| 103 | | Service | Monthly Cost | Access Pattern | |
| 104 | |---------|--------------|----------------| |
| 105 | | S3 Standard | $23 | Frequent access | |
| 106 | | S3 Standard-IA | $12.50 | Infrequent (>30 days) | |
| 107 | | S3 Glacier Instant | $4 | Archive, instant retrieval | |
| 108 | | EBS gp3 | $80 | Block storage | |
| 109 | | EFS Standard | $300 | Shared files, frequent | |
| 110 | | EFS IA | $25 | Shared files, infrequent | |
| 111 | |
| 112 | **Recommendation:** Use S3 for 80%+ of storage needs. Use EFS/FSx only when shared file access is required. |
| 113 | |
| 114 | For S3 storage classes, EBS volume types, and lifecycle policy examples, see `references/storage-services.md`. |
| 115 | |
| 116 | ## Serverless Architecture Patterns |
| 117 | |
| 118 | ### Pattern 1: REST API (Lambda + API Gateway + DynamoDB) |
| 119 | |
| 120 | **Architecture:** |
| 121 | ``` |
| 122 | Client → API Gateway (HTTP API) → Lambda → DynamoDB |