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 mkdir -p ~/.claude/skills/aws-solution-architect
curl -fsSL https://raw.githubusercontent.com/alirezarezvani/claude-skills/HEAD/.gemini/skills/aws-solution-architect/SKILL.md \
-o ~/.claude/skills/aws-solution-architect/SKILL.md Startuplar için ölçeklenebilir, uygun maliyetli AWS mimarileri tasarlayın ve altyapı-kod şablonları kullanı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)
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:
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.
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.pytarafından oluşturulur vereferences/architecture_patterns.mddosyası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 },
});
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:
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
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:
aws cloudformation describe-stack-events \
--stack-name my-app-stack \
--query 'StackEvents[?ResourceStatus==`CREATE_FAILED`]'
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:
--capabilities CAPABILITY_IAM ve rol güven ilkelerini doğrulayınaws cloudformation validate-template --template-body file://template.yaml komutunu çalıştırınGereksinimler 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 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:
Maliyetleri analiz eder ve optimizasyonlar önerir.
python scripts/cost_optimizer.py --resources inventory.json --monthly-spend 5000
Çıktı: Aşağıdakiler için öneriler:
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
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ı
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
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
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%"
}
| 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 |
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.
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.
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.
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.
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.
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.