“Sürdürülebilirlik bir sticker değil, bir mimari seçim.”
Bir sabah VPS’ime SSH’ladım. 96 GB RAM, 18 vCPU. Dolu mu? Hayır. CPU %4, RAM %30. Geri kalan… nereye gidiyor? Watt cinsinden duruyor, dünyaya karbon olarak ödeniyor.
O sabah kendime şu soruyu sordum: “Ben mi az kullanıyorum, yoksa endüstri herkesin gereğinden fazlasını mı satıyor?”
Cevap ikisi birden.
Aşırı tüketim, modern yazılımın varsayılanı
20 yıldır sistem mimarisindeyim. İşim — kabloyu çekmekten kernel debug’ına, küçük ofis switch’inden 200+ sunuculu data center’a kadar — hep “yetecek kadar kaynak” üzerine kuruldu. Ama son 10 yılda bir şey değişti:
Endüstri “yetecek kadarı” kaybetti. Yerine “her ihtimale karşı”yı koydu.
Sonuç ortada:
- 3 GB RAM’le çalışacak bir API’yi 12 GB’a yerleştiren ekipler.
- Trafiği günde 50 visitor olan bir blog için 3-node Kubernetes cluster kuran arkadaşlar.
- Çevrimiçi 10 müşterisi olan bir uygulamayı 6 mikroservis arasında dağıtan startup’lar.
Bunların ortak yanı: fazla kaynak alımı korkudur, ihtiyaç değil. Korkulan şey ne? “Ya yetmezse.” “Ya birden 10x büyürse.” “Ya patron daha ‘enterprise’ bir mimari görmek isterse.”
Bu korkunun bir maliyeti var. Sadece para değil — watt ve karbon.
Watt’ın hesabı
Bir hesap yapalım. Tek bir VPS, normal yük altında çalışırken yaklaşık 40-60 watt çeker. Aynı uygulamayı 3-node Kubernetes cluster’a yayarsan? 130-180 watt. Üçe katlanan kaynak, üçe katlanan elektrik, üçe katlanan soğutma.
Sayılar küçük gibi duruyor — “Ya 100 watt, ne büyük mesele?” — ama:
- 100 watt × 24 saat × 365 gün = 876 kWh/yıl
- Türkiye’de 1 kWh elektrik üretimi yaklaşık 450 g CO₂ salımına denk geliyor (kömür + doğal gaz ağırlıklı şebeke).
- Bir küçük blog için fazladan ~394 kg CO₂/yıl.
Bir uçak yolcusu Ankara-İstanbul gidiş-dönüş ~150 kg CO₂. Yani gereksiz cluster mimarin, yılda iki kez İstanbul’a uçmuş kadar karbon imzası bırakıyor. Bir kişi için. Tek bir uygulama için.
Bu sayıları çoğalt: 100 startup, 1000 indie hacker, 10.000 hobi projesi… O zaman gerçek miktar görünüyor.
Benim seçimlerim ne anlama geliyor
Self-hosted blog’umu — şu an okuduğun siteyi — tek bir Contabo VPS’inde çalıştırıyorum. Aynı sunucuda:
- Bu blogun Astro SSR backend’i
- Self-hosted analytics (Umami, Google değil)
- 13+ container (kendi side project’lerim, ERP demo’ları)
- GitHub Actions self-hosted runner
- Mail relay, monitoring, watchdog’lar
Yıllık VPS faturası: yaklaşık €360. Ortalama güç tüketimi: ~50W. Yıllık yaklaşık 438 kWh. Aynı işi modern “best practices” ile yapsam? Çok platformlu (Vercel + Cloudflare Workers + Supabase + Sentry + Mailchimp + …). Toplam doğrudan watt görünmez — ama her servisin altında çalışan veri merkezleri var. Tahminim: 3-4 kat daha fazla.
K8s denedim — bu blog için, kendi VPS’imde. Çıkardım. Sebep yalnızca operasyonel karmaşıklık değildi: kullanmadığım kaynağı çalıştırmak, fatura ödemek, watt yakmak benim için bir mühendislik hatası kadar bir etik problem.
“Kubernetes yok bu projede” demek — küçük bir karbon zaferidir.
Pragmatik sürdürülebilirlik
Bunu yaptığım için kendimi tree-hugger sanmıyorum. Hiç de eko-aktivist değilim. Ama 20 yıllık mühendislik tecrübem bana şunu öğretti: az kaynak kullanmak, iyi mimari ile aynı kapıya çıkar.
İyi mimari nedir?
- Yalnızca ihtiyacın kadarını ayır. Daha fazla değil. “Belki” yok.
- Multi-tenancy. Aynı CPU çekirdeğini birden çok küçük workload paylaştırsın.
- Async + queue. Tetik beklemekle “her isteğe N container” arasındaki fark.
- Cache aggressively. Aynı veriyi 1000 kez hesaplamak yerine bir kez hesapla.
- Self-host edilebilir olanı kendin barındır. SaaS = senin verinin başka bir DC’de işlenmesi, ekstra ağ trafiği, ekstra power draw.
Bu beş madde hem fatura kısar hem karbon kısar. İkisi paradoks değil, aynı yön.
”Cloud sürdürülebilir” yalanı
Büyük cloud sağlayıcıları (AWS, GCP, Azure) “%100 yenilenebilir enerji” sertifikalarını gururla göstermiyor mu? Gösteriyor. Ama bu reklamın altındaki gerçek karmaşık:
- “Yenilenebilir” çoğu zaman PPA satın alma anlaşmaları ile sağlanır. Yani başka bir lokasyondaki rüzgar enerjisini alıp buradaki kömür kaynaklı tüketimi dengeliyorlar.
- Senin uygulaman aslında kömür yakıyor, ama bilanço sıfırlanmış görünüyor.
Buna scope-3 muhasebe trickery denir. Yasal, doğru, ama gerçek değil.
Asıl sürdürülebilir mimari muhasebe oyununa değil, gerçek tüketimi azaltmaya dayanır. Az watt, gerçek az watt. Şebeke ne olursa olsun.
Pratikte ne yapıyorum
Bugüne kadar bu projede aldığım kararlar:
- Tek VPS, 13 container — multi-tenancy ile aynı donanımdan maksimum verim
- K8s yok — bu ölçekte kaynak israfı
- Self-hosted Umami — Google Analytics yerine, ekstra üçüncü-parti hop’u yok
- Multi-provider AI fallback — bir provider quota’sını bitmeden 4 sağlayıcı arasında pay ediyorum (verim)
- Build cache + atomic deploy — her deploy 5 dk yerine 45 sn = daha az CPU/sn
- Cloudflare CDN + 1h cache — origin’e gelen istek %95 azaldı = origin’in idle süresi arttı
- systemd watchdog — ölü servisleri yeniden başlatmak için ekstra monitoring servisi koşmuyorum, kernel’in kendisi yapıyor
- Hashnode’u çıkardık — bir SaaS daha az = bir DC daha az network round-trip
Bunlar sürdürülebilirlik kararları gibi sunulmamış mühendislik kararları. Ama ikisinin de toplamı aynı.
Senin için ne çıkıyor?
Bir proje kurarken birkaç saniye dur ve sor:
- “Bu cluster gerçekten gerekli mi, yoksa CV’me yazmak için mi?”
- “12 GB RAM gerçekten gerekli mi, yoksa 3 GB’ı tune etmek mi gerekti?”
- “Bu 6 mikroservis benim için mi tasarlandı, yoksa konferans konuşması için mi?”
- “Bu SaaS’ı self-host edebilir miyim, yoksa fatura ödemeye razı mıyım?”
Cevaplar genelde “no, no, no, yes” yönünde çıkıyor.
Her “no” — bir 100 watt azalma. Bir İstanbul uçuşu daha az.
Kapanış
20 yıldır mühendisim. İlk başta “yetecek kadar” düşünerek sistem kuruyordum. Sonra “her ihtimale karşı” döneminden geçtim. Bugün geri döndüm: yetecek kadar.
Sebebi yalnızca para değil. Sebebi yalnızca operasyonel basitlik değil. Sebebi — ve bunu yüksek sesle söylemekten artık utanmıyorum — doğanın hesabı.
Az kaynak kullanmak; bencillik değil. Tembellik değil. Yetersiz mühendislik değil.
Az kaynak kullanmak — mühendislik etiğinin sessiz, çoğu zaman görünmeyen kısmı.
Sunucum bu gece 50 watt çekecek. Cluster kursaydım 150 çekerdi. Aradaki 100 watt’ı kömüre çevirmemek — bu bir karar. Her gece tekrar veriyorum.
Sen de verir misin?