Infrastructure as Code: Tek Enter ile Altyapı
Hizmetler1 Ocak 20268 dk

Infrastructure as Code: Tek Enter ile Altyapı

Tüm altyapınızı tek bir enter ile kuruyoruz. 300+ mikroservisli uygulamalar dakikalar içinde production-ready.

Mersel Altyapı Ekibi

Yazar

Infrastructure as Code (IaC)

Altyapı kurulumu hâlâ haftalarca mı sürüyor? Sunucular manuel mi yönetiliyor? "Bu sunucuyu kim, ne zaman, neden kurdu?" soruları cevapsız mı kalıyor?

Mersel IaC Hizmeti ile tüm altyapınızı tek bir enter ile kurabilirsiniz.

Gerçek Rakamlar

Şu an hali hazırda 300+ mikroservisli uygulamaları ve bunların tüm altyapı kaynaklarını dakikalar içinde production-ready hale getirebiliyoruz.

Manuel Altyapının Sorunları

SorunEtkiRisk
Haftalarca kurulumYavaş go-to-marketİş kaybı
Dokümantasyon eksikliği"Bu sunucu ne yapıyor?"Operasyon riski
Tutarsız ortamlarDev ≠ ProdProduction hataları
DriftZamanla sapmaGüvenlik açıkları
TekrarlanamazHer seferinde farklı sonuçDebugging kabusu

Manuel altyapı yönetimi = Technical debt + Security risk + Bus factor

IaC ile "Tek Enter" Konsepti

Nasıl Çalışır?

# Tüm altyapıyı kur
terraform apply

# Sonuç: Dakikalar içinde production-ready sistem
✓ VPC ve network oluşturuldu
✓ Kubernetes cluster hazır
✓ Database instance'ları kuruldu
✓ Load balancer yapılandırıldı
✓ Monitoring stack deploy edildi
✓ 300+ mikroservis çalışır durumda

Tek komut ile:

  • Network altyapısı (VPC, subnet, security groups)
  • Compute kaynakları (VM, container, serverless)
  • Database'ler (RDS, Redis, Elasticsearch)
  • Kubernetes cluster ve workload'lar
  • Monitoring ve logging stack
  • CI/CD pipeline'ları

300+ Mikroservis Senaryosu

Gerçek bir enterprise projede IaC ile neler yönetiyoruz:

Kaynak TipiAdetKurulum Süresi
Kubernetes Namespace50+30 saniye
Deployment300+5 dakika
Service300+1 dakika
ConfigMap/Secret600+2 dakika
Ingress Rule150+1 dakika
Database Instance20+10 dakika
Redis Cluster55 dakika
Message Queue10+3 dakika
Toplam1400+ kaynak~20 dakika

Manuel kurulum: 2-3 hafta → IaC ile: 20 dakika

IaC Prensipleri

1. Declarative > Imperative

# Declarative (İstediğin durumu tanımla)
resource "kubernetes_deployment" "api" {
  metadata {
    name = "api-server"
  }
  spec {
    replicas = 3
    # ...
  }
}

# Terraform otomatik olarak:
# - Yoksa oluşturur
# - Farklıysa günceller
# - Fazlaysa siler

2. Version Control

Altyapı değişiklikleri Git ile yönetilir:

infrastructure/
├── environments/
│   ├── dev/
│   ├── staging/
│   └── production/
├── modules/
│   ├── kubernetes/
│   ├── database/
│   └── networking/
└── README.md

Avantajlar:

  • Her değişiklik izlenebilir
  • Pull request ile review
  • Rollback tek komutla
  • Audit trail otomatik

3. Idempotency

Aynı kodu kaç kez çalıştırırsanız çalıştırın, sonuç aynıdır:

# İlk çalıştırma
terraform apply  # → Kaynaklar oluşturulur

# İkinci çalıştırma
terraform apply  # → "No changes. Infrastructure is up-to-date."

# Bir şey bozuldu, tekrar çalıştır
terraform apply  # → Sadece bozulan düzeltilir

4. Modularity

Tekrar kullanılabilir modüller:

# Production ortamı
module "production_cluster" {
  source = "./modules/kubernetes"
  
  environment = "production"
  replicas    = 5
  node_size   = "large"
}

# Staging ortamı - aynı modül, farklı parametreler
module "staging_cluster" {
  source = "./modules/kubernetes"
  
  environment = "staging"
  replicas    = 2
  node_size   = "medium"
}

Desteklediğimiz Platformlar

Cloud Providers

ProviderTerraform ProviderDeneyim
Huawei CloudhuaweicloudProduction
AWSawsProduction
Google CloudgoogleProduction
AzureazurermProduction

Kubernetes

  • Vanilla Kubernetes
  • Huawei CCE
  • Amazon EKS
  • Google GKE
  • Azure AKS

Database & Storage

  • PostgreSQL / MySQL
  • MongoDB / DocumentDB
  • Redis / ElastiCache
  • Elasticsearch
  • Object Storage (OBS, S3)

IaC Araç Setimiz

Terraform

  • Multi-cloud altyapı yönetimi
  • State management (remote backend)
  • Workspace'ler ile environment isolation

Ansible

  • Configuration management
  • Application deployment
  • Ad-hoc operasyonlar

Helm

  • Kubernetes application packaging
  • Chart versioning
  • Values-based customization

ArgoCD

  • GitOps continuous delivery
  • Automatic sync
  • Drift detection

Örnek Proje: E-Dönüşüm Altyapısı

Mersel e-Dönüşüm platformu için IaC ile yönetilen kaynaklar:

# Ana modül yapısı
module "e-donusum-platform" {
  source = "./modules/e-donusum"
  
  # Network
  vpc_cidr     = "10.0.0.0/16"
  az_count     = 3
  
  # Kubernetes
  cluster_version = "1.28"
  node_pools = {
    general = { min = 3, max = 10, size = "c7.xlarge" }
    compute = { min = 2, max = 20, size = "c7.2xlarge" }
  }
  
  # Database
  postgres_version = "15"
  postgres_ha      = true
  redis_cluster    = true
  
  # Monitoring
  prometheus_retention = "30d"
  loki_retention       = "90d"
}

Sonuç:

  • 3 AZ üzerinde HA cluster
  • Auto-scaling node pools
  • Multi-master PostgreSQL
  • Redis cluster
  • Full observability stack
  • Toplam kurulum: 25 dakika

Disaster Recovery ile IaC

IaC'nin en güçlü yanlarından biri: Disaster Recovery

# Ankara DR ortamını kur
cd environments/dr-ankara
terraform apply

# 20 dakika sonra:
# - Tam replika altyapı hazır
# - Veritabanları restore edildi
# - DNS cutover bekliyor

DR Avantajı

Altyapınız kod olarak tanımlı olduğunda, aynı altyapıyı farklı bir bölgede dakikalar içinde ayağa kaldırabilirsiniz.

Migration Süreci

Mevcut Altyapıyı IaC'ye Taşıma

AşamaSüreÇıktı
Discovery1 haftaMevcut kaynak envanteri
Import2 haftaTerraform state oluşturma
Refactor2-4 haftaModüler yapıya dönüştürme
Validation1 haftaPlan vs Apply karşılaştırma
Cutover1 günIaC yönetimine geçiş

Terraform Import Örneği

# Mevcut kaynağı Terraform state'e import et
terraform import aws_instance.web i-1234567890abcdef0

# Artık bu kaynak IaC ile yönetiliyor
terraform plan  # Drift varsa gösterir

ROI: Yatırım Getirisi

MetrikManuelIaCTasarruf
İlk kurulum2 hafta20 dakika%99
Environment clone1 hafta5 dakika%99
DR recovery1-2 gün30 dakika%97
Aylık bakım40 saat4 saat%90
Hata oranı%15%1-14%

Sonraki Adımlar

  1. Assessment: Mevcut altyapınızı analiz edelim
  2. Pilot: Küçük bir scope ile başlayalım
  3. Scale: Başarılı modeli genişletelim
  4. Transfer: Ekibinizi eğitelim

"Tek enter" vizyonuna ulaşmak için bugün başlayın. Altyapınız ne kadar karmaşık olursa olsun, IaC ile yönetilebilir hale getirilebilir.


IaC hizmeti için iletişime geçin veya Altyapı Otomasyonu sayfamızı ziyaret edin.

Bu yazıyı paylaşın

Mersel'i Deneyin

12+ yıllık deneyimimizle e-Dönüşüm altyapınızı hazırlayalım.

İletişime Geçin