GCP mimarileri tasarla ve startuplardan kurumsal ölçekte projeleri yönet. Google Cloud altyapısı tasarlamak, GKE veya Cloud Run'a deploy etmek, BigQuery pipeline'ları yapılandırmak, GCP maliyetlerini optimize etmek veya GCP'ye migration yapmak gerektiğinde kullan. Cloud Run, GKE, Cloud Functions, Cloud SQL, BigQuery ve maliyet optimizasyonunu kapsar.
cd ~/.claude/skills
git clone https://github.com/alirezarezvani/claude-skills.git claude-skills mkdir -p ~/.claude/skills/gcp-cloud-architect
curl -fsSL https://raw.githubusercontent.com/alirezarezvani/claude-skills/HEAD/.gemini/skills/gcp-cloud-architect/SKILL.md \
-o ~/.claude/skills/gcp-cloud-architect/SKILL.md Google Cloud'da ölçeklenebilir, uygun maliyetli mimariler tasarlayın; startuplar ve kuruluşlar için altyapı-kod şablonları sunun.
Uygulama özelliklerini toplayın:
- Uygulama türü (web app, mobile backend, data pipeline, SaaS)
- Beklenen kullanıcı sayısı ve saniye başına istek sayısı
- Bütçe kısıtlamaları (aylık harcama limiti)
- Takım büyüklüğü ve GCP deneyim seviyesi
- Uyum gereksinimleri (GDPR, HIPAA, SOC 2)
- Kullanılabilirlik gereksinimleri (SLA, RPO/RTO)
Desen önerilerine ulaşmak için mimari tasarımcıyı çalıştırın:
python scripts/architecture_designer.py --input requirements.json
Örnek çıktı:
{
"recommended_pattern": "serverless_web",
"service_stack": ["Cloud Storage", "Cloud CDN", "Cloud Run", "Firestore", "Identity Platform"],
"estimated_monthly_cost_usd": 30,
"pros": ["Low ops overhead", "Pay-per-use", "Auto-scaling", "No cold starts on Cloud Run min instances"],
"cons": ["Vendor lock-in", "Regional limitations", "Eventual consistency with Firestore"]
}
Önerilen desenlerden seçin:
Detaylı desen özellikleri için references/architecture_patterns.md sayfasına bakın.
Doğrulama kontrol noktası: Önerilen desenin takımın işletim olgunluğu ve uyum gereksinimlerine uygun olduğunu doğrulayıp Adım 3'e geçin.
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 Cloud SQL db-custom-4-16384 to db-custom-2-8192", "savings_usd": 380, "priority": "high" },
{ "action": "Purchase 1-yr committed use discount for GKE nodes", "savings_usd": 290, "priority": "high" },
{ "action": "Move Cloud Storage objects >90 days to Nearline", "savings_usd": 75, "priority": "medium" }
],
"total_potential_savings_usd": 745
}
Çıktı şunları içerir:
Detaylı tahminler için GCP Fiyatlandırma Hesaplayıcısını kullanın.
Seçilen desen için altyapı-kod oluşturun:
python scripts/deployment_manager.py --app-name my-app --pattern serverless_web --region us-central1
Örnek Terraform HCL çıktısı (Cloud Run + Firestore):
terraform {
required_providers {
google = {
source = "hashicorp/google"
version = "~> 5.0"
}
}
}
provider "google" {
project = var.project_id
region = var.region
}
variable "project_id" {
description = "GCP project ID"
type = string
}
variable "region" {
description = "GCP region"
type = string
default = "us-central1"
}
resource "google_cloud_run_v2_service" "api" {
name = "${var.environment}-${var.app_name}-api"
location = var.region
template {
containers {
image = "gcr.io/${var.project_id}/${var.app_name}:latest"
resources {
limits = {
cpu = "1000m"
memory = "512Mi"
}
}
env {
name = "FIRESTORE_PROJECT"
value = var.project_id
}
}
scaling {
min_instance_count = 0
max_instance_count = 10
}
}
}
resource "google_firestore_database" "default" {
project = var.project_id
name = "(default)"
location_id = var.region
type = "FIRESTORE_NATIVE"
}
Örnek gcloud CLI dağıtımı:
# Cloud Run service'i dağıt
gcloud run deploy my-app-api \
--image gcr.io/$PROJECT_ID/my-app:latest \
--region us-central1 \
--platform managed \
--allow-unauthenticated \
--memory 512Mi \
--cpu 1 \
--min-instances 0 \
--max-instances 10
# Firestore veritabanı oluştur
gcloud firestore databases create --location=us-central1
Cloud CDN, Identity Platform, IAM ve Cloud Monitoring'i içeren tam şablonlar
deployment_manager.pytarafından oluşturulur vereferences/architecture_patterns.mdiçinde de mevcuttur.
Cloud Build veya GitHub Actions ile otomatik dağıtımı ayarlayın:
# cloudbuild.yaml
steps:
- name: 'gcr.io/cloud-builders/docker'
args: ['build', '-t', 'gcr.io/$PROJECT_ID/my-app:$COMMIT_SHA', '.']
- name: 'gcr.io/cloud-builders/docker'
args: ['push', 'gcr.io/$PROJECT_ID/my-app:$COMMIT_SHA']
- name: 'gcr.io/google.com/cloudsdktool/cloud-sdk'
entrypoint: gcloud
args:
- 'run'
- 'deploy'
- 'my-app-api'
- '--image=gcr.io/$PROJECT_ID/my-app:$COMMIT_SHA'
- '--region=us-central1'
- '--platform=managed'
images:
- 'gcr.io/$PROJECT_ID/my-app:$COMMIT_SHA'
# Repository'yi bağla ve trigger oluştur
gcloud builds triggers create github \
--repo-name=my-app \
--repo-owner=my-org \
--branch-pattern="^main$" \
--build-config=cloudbuild.yaml
Güvenlik yapılandırmasını doğrulayın:
# IAM bağlamalarını gözden geçir
gcloud projects get-iam-policy $PROJECT_ID --format=json
# Hizmet hesabı izinlerini kontrol et
gcloud iam service-accounts list --project=$PROJECT_ID
# VPC Service Controls'i doğrula (gerekirse)
gcloud access-context-manager perimeters list --policy=$POLICY_ID
Güvenlik kontrol listesi:
Dağıtım başarısız olursa:
gcloud run services describe my-app-api --region us-central1
gcloud logging read "resource.type=cloud_run_revision" --limit=20
gcloud run deploy my-app-api --image gcr.io/$PROJECT_ID/my-app:latest --region us-central1
Sık başarısızlık nedenleri:
--allow-unauthenticated bayrağını doğrulayıngcloud services enable ile gerekli API'leri etkinleştirinİş yükü gereksinimlerine göre GCP servislerini önerir.
python scripts/architecture_designer.py --input requirements.json --output design.json
Girdi: Uygulama türü, ölçek, bütçe, uyum gereksinimleri içeren JSON Çıktı: Önerilen desen, servis yığını, maliyet tahmini, avantajlar/dezavantajlar
GCP kaynaklarını maliyet tasarrufu açısından analiz eder.
python scripts/cost_optimizer.py --resources inventory.json --monthly-spend 5000
Çıktı: Öneriler:
gcloud CLI dağıtım scriptleri ve Terraform yapılandırmaları oluşturur.
python scripts/deployment_manager.py --app-name my-app --pattern serverless_web --region us-central1
Çıktı: Üretim hazır dağıtım scriptleri:
Soru: "Mobil uygulama için 1000 kullanıcılı serverless web backend tasarlayın"
Sonuç:
- API için Cloud Run (otomatik ölçekleme, minimum instance'lar ile cold start yok)
- Veri için Firestore (işlem başına ödeme)
- Kimlik doğrulama için Identity Platform
- Statik varlıklar için Cloud Storage + Cloud CDN
- Tahmini: 15-40$/ay
Soru: "50k kullanıcılı SaaS platformu için ölçeklenebilir mimari tasarlayın"
Sonuç:
- Containerize iş yükleri için GKE Autopilot
- Okuma replicaları ile Cloud SQL (PostgreSQL)
- Oturum önbelleği için Memorystore (Redis)
- Global sunuş için Cloud CDN
- CI/CD için Cloud Build
- Çok bölgeli dağıtım
Soru: "Olay verisi için gerçek zamanlı analitik pipeline tasarlayın"
Sonuç:
- Olay yutma için Pub/Sub
- Akış işleme için Dataflow (Apache Beam)
- Analitik ve veri ambarı için BigQuery
- Panolar için Looker
- Hafif dönüşümler için Cloud Functions
Soru: "Model eğitimi ve sunumu için makine öğrenmesi platformu tasarlayın"
Sonuç:
- Eğitim ve tahmin için Vertex AI
- Veri setleri ve model yapıtları için Cloud Storage
- Özellik deposu için BigQuery
- Ön işleme tetikleyicileri için Cloud Functions
- Model drift tespiti için Cloud Monitoring
Mimari tasarım için şu ayrıntıları sağlayın:
| Gereksinim | Açıklama | Örnek |
|---|---|---|
| Uygulama türü | Neyi inşa ettiğiniz | SaaS platformu, mobil backend |
| Beklenen ölçek | Kullanıcılar, istek/sn | 10k kullanıcı, 100 RPS |
| Bütçe | Aylık GCP limiti | 500$/ay max |
| Takım bağlamı | Boyut, GCP deneyimi | 3 geliştirici, orta seviye |
| Uyum | Düzenleyici gereksinimler | HIPAA, GDPR, SOC 2 |
| Kullanılabilirlik | Hizmet süresi gereksinimleri | 99.9% SLA, 1 saat RPO |
JSON Formatı:
{
"application_type": "saas_platform",
"expected_users": 10000,
"requests_per_second": 100,
"budget_monthly_usd": 500,
"team_size": 3,
"gcp_experience": "intermediate",
"compliance": ["SOC2"],
"availability_sla": "99.9%"
}
| Anti-Desen | Neden Başarısız Olur | Daha İyi Yaklaşım |
|---|---|---|
| Üretim için varsayılan VPC kullanma | Yalıtım yok, paylaşılan firewall kuralları | Özel VPC'yi özel subnet'ler ile oluşturun |
| GKE node pool'ları aşırı sağlama | Boştaki kapasite üzerinde harcanmış maliyet | GKE Autopilot veya cluster autoscaler kullanın |
| Sırları ortam değişkenlerinde depolama | Cloud Console, log'larda görünür | Secret Manager'ı Workload Identity ile kullanın |
| Sürdürülen kullanım indirimlerini görmezden gelme | %20-30 otomatik tasarrufları kaçırma | Tutarlı baseline kullanımı için VM'leri yeniden boyutlandırın |
| SaaS için tek bölgeli dağıtım | Bir bölge kesintisi = tam kesintiyi | Cloud Load Balancing ile çok bölgeli kullanın |
| Ağır iş yükleri için BigQuery on-demand kullanma | Ölçekte tahmin edilemeyen maliyetler | Tutarlı iş yükleri için BigQuery slot'larını (sabit fiyat) kullanın |
| Uzun görevler için Cloud Functions çalıştırma | 9 dakikalık zaman sınırı, cold start'lar | 60 saniyeden uzun görevler için Cloud Run kullanın |
| Beceri | İlişki |
|---|---|
engineering-team/aws-solution-architect |
AWS eşdeğeri -- aynı 6 adımlı iş akışı, farklı servisler |
engineering-team/azure-cloud-architect |
Azure eşdeğeri -- bulut üçlemesini tamamlar |
engineering-team/senior-devops |
Daha geniş DevOps kapsamı -- pipeline'lar, monitoring, containerization |
engineering/terraform-patterns |
IaC uygulaması -- GCP'yi hedefleyen Terraform modülleri için kullanın |
engineering/ci-cd-pipeline-builder |
Pipeline inşası -- Cloud Build ve dağıtımı otomatikleştirir |
| Belge | İçerik |
|---|---|
references/architecture_patterns.md |
6 desen: serverless, GKE mikrohizmetler, üç katmanlı, veri pipeline, ML platformu, çok bölgeli |
references/service_selection.md |
Compute, veritabanı, depolama, messaging için karar matrisleri |
references/best_practices.md |
Adlandırma, etiketler, IAM, networking, monitoring, olağanüstü durum kurtarma |
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.