🎁 Get the FREE AI Skills Starter Guide β€” Subscribe β†’
BytesAgainBytesAgain
πŸ¦€ ClawHub

Aws Solution Architect

by @alirezarezvani

Design AWS architectures for startups using serverless patterns and IaC templates. Use when asked to design serverless architecture, create CloudFormation te...

Versionv2.1.1
Downloads2,477
Installs8
Stars⭐ 1
TERMINAL
clawhub install aws-solution-architect

πŸ“– About This Skill


name: "aws-solution-architect" description: Design AWS architectures for startups using serverless patterns and IaC templates. Use when asked to design serverless architecture, create CloudFormation templates, optimize AWS costs, set up CI/CD pipelines, or migrate to AWS. Covers Lambda, API Gateway, DynamoDB, ECS, Aurora, and cost optimization.

AWS Solution Architect

Design scalable, cost-effective AWS architectures for startups with infrastructure-as-code templates.


Workflow

Step 1: Gather Requirements

Collect application specifications:

- Application type (web app, mobile backend, data pipeline, SaaS)
  • Expected users and requests per second
  • Budget constraints (monthly spend limit)
  • Team size and AWS experience level
  • Compliance requirements (GDPR, HIPAA, SOC 2)
  • Availability requirements (SLA, RPO/RTO)
  • Step 2: Design Architecture

    Run the architecture designer to get pattern recommendations:

    python scripts/architecture_designer.py --input requirements.json
    

    Example output:

    {
      "recommended_pattern": "serverless_web",
      "service_stack": ["S3", "CloudFront", "API Gateway", "Lambda", "DynamoDB", "Cognito"],
      "estimated_monthly_cost_usd": 35,
      "pros": ["Low ops overhead", "Pay-per-use", "Auto-scaling"],
      "cons": ["Cold starts", "15-min Lambda limit", "Eventual consistency"]
    }
    

    Select from recommended patterns:

  • Serverless Web: S3 + CloudFront + API Gateway + Lambda + DynamoDB
  • Event-Driven Microservices: EventBridge + Lambda + SQS + Step Functions
  • Three-Tier: ALB + ECS Fargate + Aurora + ElastiCache
  • GraphQL Backend: AppSync + Lambda + DynamoDB + Cognito
  • See references/architecture_patterns.md for detailed pattern specifications.

    Validation checkpoint: Confirm the recommended pattern matches the team's operational maturity and compliance requirements before proceeding to Step 3.

    Step 3: Generate IaC Templates

    Create infrastructure-as-code for the selected pattern:

    # Serverless stack (CloudFormation)
    python scripts/serverless_stack.py --app-name my-app --region us-east-1
    

    Example CloudFormation YAML output (core serverless resources):

    AWSTemplateFormatVersion: '2010-09-09'
    Transform: AWS::Serverless-2016-10-31

    Parameters: AppName: Type: String Default: my-app

    Resources: ApiFunction: Type: AWS::Serverless::Function Properties: Handler: index.handler Runtime: nodejs20.x MemorySize: 512 Timeout: 30 Environment: Variables: TABLE_NAME: !Ref DataTable Policies: - DynamoDBCrudPolicy: TableName: !Ref DataTable Events: ApiEvent: Type: Api Properties: Path: /{proxy+} Method: ANY

    DataTable: Type: AWS::DynamoDB::Table Properties: BillingMode: PAY_PER_REQUEST AttributeDefinitions: - AttributeName: pk AttributeType: S - AttributeName: sk AttributeType: S KeySchema: - AttributeName: pk KeyType: HASH - AttributeName: sk KeyType: RANGE

    > Full templates including API Gateway, Cognito, IAM roles, and CloudWatch logging are generated by serverless_stack.py and also available in references/architecture_patterns.md.

    Example CDK TypeScript snippet (three-tier pattern):

    import * as ecs from 'aws-cdk-lib/aws-ecs';
    import * as ec2 from 'aws-cdk-lib/aws-ec2';
    import * as rds from 'aws-cdk-lib/aws-rds';

    const vpc = new ec2.Vpc(this, 'AppVpc', { maxAzs: 2 });

    const cluster = new ecs.Cluster(this, 'AppCluster', { vpc });

    const db = new rds.ServerlessCluster(this, 'AppDb', { engine: rds.DatabaseClusterEngine.auroraPostgres({ version: rds.AuroraPostgresEngineVersion.VER_15_2, }), vpc, scaling: { minCapacity: 0.5, maxCapacity: 4 }, });

    Step 4: Review Costs

    Analyze estimated costs and optimization opportunities:

    python scripts/cost_optimizer.py --resources current_setup.json --monthly-spend 2000
    

    Example output:

    {
      "current_monthly_usd": 2000,
      "recommendations": [
        { "action": "Right-size RDS db.r5.2xlarge β†’ db.r5.large", "savings_usd": 420, "priority": "high" },
        { "action": "Purchase 1-yr Compute Savings Plan at 40% utilization", "savings_usd": 310, "priority": "high" },
        { "action": "Move S3 objects >90 days to Glacier Instant Retrieval", "savings_usd": 85, "priority": "medium" }
      ],
      "total_potential_savings_usd": 815
    }
    

    Output includes:

  • Monthly cost breakdown by service
  • Right-sizing recommendations
  • Savings Plans opportunities
  • Potential monthly savings
  • Step 5: Deploy

    Deploy the generated infrastructure:

    # CloudFormation
    aws cloudformation create-stack \
      --stack-name my-app-stack \
      --template-body file://template.yaml \
      --capabilities CAPABILITY_IAM

    CDK

    cdk deploy

    Terraform

    terraform init && terraform apply

    Step 6: Validate and Handle Failures

    Verify deployment and set up monitoring:

    # Check stack status
    aws cloudformation describe-stacks --stack-name my-app-stack

    Set up CloudWatch alarms

    aws cloudwatch put-metric-alarm --alarm-name high-errors ...

    If stack creation fails:

    1. Check the failure reason:

       aws cloudformation describe-stack-events \
         --stack-name my-app-stack \
         --query 'StackEvents[?ResourceStatus==CREATE_FAILED]'
       
    2. Review CloudWatch Logs for Lambda or ECS errors. 3. Fix the template or resource configuration. 4. Delete the failed stack before retrying:
       aws cloudformation delete-stack --stack-name my-app-stack
       # Wait for deletion
       aws cloudformation wait stack-delete-complete --stack-name my-app-stack
       # Redeploy
       aws cloudformation create-stack ...
       

    Common failure causes:

  • IAM permission errors β†’ verify --capabilities CAPABILITY_IAM and role trust policies
  • Resource limit exceeded β†’ request quota increase via Service Quotas console
  • Invalid template syntax β†’ run aws cloudformation validate-template --template-body file://template.yaml before deploying

  • Tools

    architecture_designer.py

    Generates architecture patterns based on requirements.

    python scripts/architecture_designer.py --input requirements.json --output design.json
    

    Input: JSON with app type, scale, budget, compliance needs Output: Recommended pattern, service stack, cost estimate, pros/cons

    serverless_stack.py

    Creates serverless CloudFormation templates.

    python scripts/serverless_stack.py --app-name my-app --region us-east-1
    

    Output: Production-ready CloudFormation YAML with:

  • API Gateway + Lambda
  • DynamoDB table
  • Cognito user pool
  • IAM roles with least privilege
  • CloudWatch logging
  • cost_optimizer.py

    Analyzes costs and recommends optimizations.

    python scripts/cost_optimizer.py --resources inventory.json --monthly-spend 5000
    

    Output: Recommendations for:

  • Idle resource removal
  • Instance right-sizing
  • Reserved capacity purchases
  • Storage tier transitions
  • NAT Gateway alternatives

  • Quick Start

    MVP Architecture (< $100/month)

    Ask: "Design a serverless MVP backend for a mobile app with 1000 users"

    Result:

  • Lambda + API Gateway for API
  • DynamoDB pay-per-request for data
  • Cognito for authentication
  • S3 + CloudFront for static assets
  • Estimated: $20-50/month
  • Scaling Architecture ($500-2000/month)

    Ask: "Design a scalable architecture for a SaaS platform with 50k users"

    Result:

  • ECS Fargate for containerized API
  • Aurora Serverless for relational data
  • ElastiCache for session caching
  • CloudFront for CDN
  • CodePipeline for CI/CD
  • Multi-AZ deployment
  • Cost Optimization

    Ask: "Optimize my AWS setup to reduce costs by 30%. Current spend: $3000/month"

    Provide: Current resource inventory (EC2, RDS, S3, etc.)

    Result:

  • Idle resource identification
  • Right-sizing recommendations
  • Savings Plans analysis
  • Storage lifecycle policies
  • Target savings: $900/month
  • IaC Generation

    Ask: "Generate CloudFormation for a three-tier web app with auto-scaling"

    Result:

  • VPC with public/private subnets
  • ALB with HTTPS
  • ECS Fargate with auto-scaling
  • Aurora with read replicas
  • Security groups and IAM roles

  • Input Requirements

    Provide these details for architecture design:

    | Requirement | Description | Example | |-------------|-------------|---------| | Application type | What you're building | SaaS platform, mobile backend | | Expected scale | Users, requests/sec | 10k users, 100 RPS | | Budget | Monthly AWS limit | $500/month max | | Team context | Size, AWS experience | 3 devs, intermediate | | Compliance | Regulatory needs | HIPAA, GDPR, SOC 2 | | Availability | Uptime requirements | 99.9% SLA, 1hr RPO |

    JSON Format:

    {
      "application_type": "saas_platform",
      "expected_users": 10000,
      "requests_per_second": 100,
      "budget_monthly_usd": 500,
      "team_size": 3,
      "aws_experience": "intermediate",
      "compliance": ["SOC2"],
      "availability_sla": "99.9%"
    }
    


    Output Formats

    Architecture Design

  • Pattern recommendation with rationale
  • Service stack diagram (ASCII)
  • Monthly cost estimate and trade-offs
  • IaC Templates

  • CloudFormation YAML: Production-ready SAM/CFN templates
  • CDK TypeScript: Type-safe infrastructure code
  • Terraform HCL: Multi-cloud compatible configs
  • Cost Analysis

  • Current spend breakdown with optimization recommendations
  • Priority action list (high/medium/low) and implementation checklist

  • Reference Documentation

    | Document | Contents | |----------|----------| | references/architecture_patterns.md | 6 patterns: serverless, microservices, three-tier, data processing, GraphQL, multi-region | | references/service_selection.md | Decision matrices for compute, database, storage, messaging | | references/best_practices.md | Serverless design, cost optimization, security hardening, scalability |

    πŸ’‘ Examples

    MVP Architecture (< $100/month)

    Ask: "Design a serverless MVP backend for a mobile app with 1000 users"

    Result:

  • Lambda + API Gateway for API
  • DynamoDB pay-per-request for data
  • Cognito for authentication
  • S3 + CloudFront for static assets
  • Estimated: $20-50/month
  • Scaling Architecture ($500-2000/month)

    Ask: "Design a scalable architecture for a SaaS platform with 50k users"

    Result:

  • ECS Fargate for containerized API
  • Aurora Serverless for relational data
  • ElastiCache for session caching
  • CloudFront for CDN
  • CodePipeline for CI/CD
  • Multi-AZ deployment
  • Cost Optimization

    Ask: "Optimize my AWS setup to reduce costs by 30%. Current spend: $3000/month"

    Provide: Current resource inventory (EC2, RDS, S3, etc.)

    Result:

  • Idle resource identification
  • Right-sizing recommendations
  • Savings Plans analysis
  • Storage lifecycle policies
  • Target savings: $900/month
  • IaC Generation

    Ask: "Generate CloudFormation for a three-tier web app with auto-scaling"

    Result:

  • VPC with public/private subnets
  • ALB with HTTPS
  • ECS Fargate with auto-scaling
  • Aurora with read replicas
  • Security groups and IAM roles