Design ★ 18,759

aws-solution-architect

Sunucusuz mimarileri ve IaC şablonlarını kullanarak startuplar için AWS mimarileri tasarlayın. Serverless mimari tasarımı, CloudFormation şablonları oluşturma, AWS maliyetlerini optimize etme, CI/CD pipeline kurma veya AWS'ye geçiş yapma işlemlerinde kullanılır. Lambda, API Gateway, DynamoDB, ECS, Aurora ve maliyet optimizasyonunu kapsar.

cd ~/.claude/skills
git clone https://github.com/alirezarezvani/claude-skills.git claude-skills

AWS Çözüm Mimarı

Startuplar için ölçeklenebilir, uygun maliyetli AWS mimarileri tasarlayın ve altyapı-kod şablonları kullanın.


İş Akışı

Adım 1: Gereksinimler Toplayın

Uygulama spesifikasyonlarını toplayın:

- Uygulama türü (web uygulaması, mobil backend, veri pipeline, SaaS)
- Beklenen kullanıcı sayısı ve saniyede istek sayısı
- Bütçe kısıtlamaları (aylık harcama limiti)
- Ekip büyüklüğü ve AWS deneyim seviyesi
- Uygunluk gereksinimleri (GDPR, HIPAA, SOC 2)
- Kullanılabilirlik gereksinimleri (SLA, RPO/RTO)

Adım 2: Mimariyi Tasarlayın

Desen önerilerini almak için mimari tasarımcısını çalıştırın:

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

Örnek çıktı:

{
  "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"]
}

Önerilen desenler arasından seçim yapın:

  • 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

Ayrıntılı desen özellikleri için references/architecture_patterns.md dosyasına bakın.

Doğrulama kontrol noktası: Önerilen desen, ekibin operasyonel olgunluk seviyesi ve uygunluk gereksinimlerine uygun olduğunu onayladıktan sonra Adım 3'e geçin.

Adım 3: IaC Şablonları Oluşturun

Seçilen desen için altyapı-kod oluşturun:

# Serverless yığını (CloudFormation)
python scripts/serverless_stack.py --app-name my-app --region us-east-1

Örnek CloudFormation YAML çıktısı (temel serverless kaynakları):

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

API Gateway, Cognito, IAM rolleri ve CloudWatch logging dahil olmak üzere tam şablonlar serverless_stack.py tarafından oluşturulur ve references/architecture_patterns.md dosyasında da mevcuttur.

Örnek CDK TypeScript code parçacığı (three-tier deseni):

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 },
});

Adım 4: Maliyetleri İnceleyin

Tahmini maliyetleri ve optimizasyon fırsatlarını analiz edin:

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

Örnek çıktı:

{
  "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
}

Çıktı şunları içerir:

  • Servise göre aylık maliyet dağılımı
  • Doğru boyutlandırma önerileri
  • Savings Plans fırsatları
  • Potansiyel aylık tasarruflar

Adım 5: Dağıtın

Oluşturulan altyapıyı dağıtın:

# 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

Adım 6: Doğrulayın ve Hataları Yönetin

Dağıtımı doğrulayın ve izleme ayarlayın:

# Yığın durumunu kontrol edin
aws cloudformation describe-stacks --stack-name my-app-stack

# CloudWatch alarmları ayarlayın
aws cloudwatch put-metric-alarm --alarm-name high-errors ...

Stack oluşturma başarısız olursa:

  1. Hata nedenini kontrol edin:
    aws cloudformation describe-stack-events \
      --stack-name my-app-stack \
      --query 'StackEvents[?ResourceStatus==`CREATE_FAILED`]'
    
  2. Lambda veya ECS hataları için CloudWatch Logs'u gözden geçirin.
  3. Şablonu veya kaynak yapılandırmasını düzeltin.
  4. Yeniden denemeden önce başarısız yığını silin:
    aws cloudformation delete-stack --stack-name my-app-stack
    # Silme tamamlanana kadar bekleyin
    aws cloudformation wait stack-delete-complete --stack-name my-app-stack
    # Yeniden dağıtın
    aws cloudformation create-stack ...
    

Yaygın hata nedenleri:

  • IAM izin hataları → --capabilities CAPABILITY_IAM ve rol güven ilkelerini doğrulayın
  • Kaynak sınırı aşıldı → Service Quotas konsolundan kota artışı talep edin
  • Geçersiz şablon sözdizimi → dağıtmadan önce aws cloudformation validate-template --template-body file://template.yaml komutunu çalıştırın

Araçlar

architecture_designer.py

Gereksinimler temelinde mimari desenler oluşturur.

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

Giriş: Uygulama türü, ölçek, bütçe, uygunluk gereksinimleri içeren JSON Çıktı: Önerilen desen, service yığını, maliyet tahmini, artılar/eksiler

serverless_stack.py

Serverless CloudFormation şablonları oluşturur.

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

Çıktı: Aşağıdakileri içeren üretim hazırı CloudFormation YAML:

  • API Gateway + Lambda
  • DynamoDB tablosu
  • Cognito kullanıcı havuzu
  • En az yetki ilkesi olan IAM rolleri
  • CloudWatch logging

cost_optimizer.py

Maliyetleri analiz eder ve optimizasyonlar önerir.

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

Çıktı: Aşağıdakiler için öneriler:

  • Boş kaynakların kaldırılması
  • Instance doğru boyutlandırması
  • Ayrılmış kapasite satın alımları
  • Depolama katmanı dönüşümleri
  • NAT Gateway alternatifleri

Hızlı Başlangıç

MVP Mimarisi (< $100/ay)

Soru: "Mobil uygulama için 1000 kullanıcıyla serverless MVP backend tasarlayın"

Sonuç:
- API için Lambda + API Gateway
- Veri için DynamoDB pay-per-request
- Kimlik doğrulama için Cognito
- Statik varlıklar için S3 + CloudFront
- Tahmini: $20-50/ay

Ölçeklendirme Mimarisi ($500-2000/ay)

Soru: "50k kullanıcılı SaaS platformu için ölçeklenebilir mimari tasarlayın"

Sonuç:
- Containerized API için ECS Fargate
- İlişkisel veriler için Aurora Serverless
- Oturum önbellekleme için ElastiCache
- CDN için CloudFront
- CI/CD için CodePipeline
- Multi-AZ dağıtımı

Maliyet Optimizasyonu

Soru: "AWS kurulumumu %30 oranında maliyet düşürmek için optimize edin. Şu anki harcama: $3000/ay"

Sağlayın: Mevcut kaynak envanteri (EC2, RDS, S3, vb.)

Sonuç:
- Boş kaynak tanımlanması
- Doğru boyutlandırma önerileri
- Savings Plans analizi
- Depolama yaşam döngüsü ilkeleri
- Hedef tasarruf: $900/ay

IaC Oluşturma

Soru: "Otomatik ölçeklendirmeli three-tier web uygulaması için CloudFormation oluşturun"

Sonuç:
- Genel/özel alt ağlar olan VPC
- HTTPS'li ALB
- Otomatik ölçeklendirmeli ECS Fargate
- Okuma kopyaları olan Aurora
- Güvenlik grupları ve IAM rolleri

Giriş Gereksinimleri

Mimari tasarım için bu ayrıntıları sağlayın:

Gereksinim Açıklama Örnek
Uygulama türü Ne inşa ettiğiniz SaaS platformu, mobil backend
Beklenen ölçek Kullanıcılar, istekler/san 10k kullanıcı, 100 RPS
Bütçe Aylık AWS limiti $500/ay maksimum
Ekip bağlamı Boyut, AWS deneyimi 3 geliştirici, ara seviye
Uygunluk Düzenleyici gereksinimler HIPAA, GDPR, SOC 2
Kullanılabilirlik Çalışma süresi gereksinimleri 99.9% SLA, 1sa 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%"
}

Çıktı Formatları

Mimari Tasarım

  • Desen önerisi ve mantığı
  • Servise yığını diyagramı (ASCII)
  • Aylık maliyet tahmini ve ödünleşimler

IaC Şablonları

  • CloudFormation YAML: Üretim hazırı SAM/CFN şablonları
  • CDK TypeScript: Type-safe altyapı kodu
  • Terraform HCL: Multi-cloud uyumlu yapılandırmalar

Maliyet Analizi

  • Mevcut harcama dağılımı ve optimizasyon önerileri
  • Öncelik eylemi listesi (yüksek/orta/düşük) ve uygulama kontrol listesi

Referans Belgelendirmesi

Belge İçerik
references/architecture_patterns.md 6 desen: serverless, microservices, three-tier, veri işleme, GraphQL, multi-region
references/service_selection.md Compute, database, storage, messaging için karar matrisleri
references/best_practices.md Serverless tasarımı, maliyet optimizasyonu, güvenlik sertleştirmesi, ölçeklenebilirlik

Benzer skill'ler

brainstorming Design

Herhangi bir yaratıcı çalışmaya başlamadan önce bunu mutlaka kullanın - feature oluştururken, component inşa ederken, functionality eklerken veya davranış değiştirirken. Kullanıcı niyetini, gereksinimleri ve tasarımı implementation öncesinde araştırır.

obra/superpowers ★ 235,495
finishing-a-development-branch Design

Uygulama tamamlandığında, tüm testler geçtiğinde ve çalışmanızı nasıl entegre edeceğinize karar vermeniz gerektiğinde kullanın - merge, PR veya cleanup seçeneklerini sunarak geliştirme sürecinin tamamlanmasını rehberlik eder.

obra/superpowers ★ 235,495
receiving-code-review Design

Kod incelemesi geri bildirimi alırken, önerileri uygulamadan önce kullanın; özellikle geri bildirim belirsiz veya teknik olarak şüpheli görünüyorsa - performatif anlaşmadan veya körü körüne uygulamadan ziyade teknik titizlik ve doğrulama gerekir.

obra/superpowers ★ 235,495
requesting-code-review Design

Görevleri tamamlarken, büyük özellikleri hayata geçirirken veya merge etmeden önce çalışmanın gereksinimleri karşıladığını doğrulamak için kullanın.

obra/superpowers ★ 235,495
using-git-worktrees Design

Yeni bir feature üzerinde çalışmaya başlarken veya implementasyon planını yürütmeden önce kullanın - native araçlar veya git worktree fallback aracılığıyla izole edilmiş bir workspace sağlar.

obra/superpowers ★ 235,495
using-superpowers Design

Herhangi bir konuşma başlatırken kullanın - skill'lerin nasıl bulunacağını ve kullanılacağını belirler, clarification soruları da dahil olmak üzere HERHANGİ bir yanıt vermeden önce skill invocation gerektirir.

obra/superpowers ★ 235,495
Daha fazla: Design →