IaaS (Infrastructure as a Service)
Altyapı kiralarsın, yönetimi büyük ölçüde sen yaparsın.
Sen neyi yönetirsin?
- İşletim sistemi
- Patch / update
- Runtime
- Uygulama
- Güvenlik (çoğu)
Sağlayıcı ne verir?
- VM (server)
- Storage
- Network
Örnekler
- AWS EC2
- Azure Virtual Machines
- Google Compute Engine
- DigitalOcean Droplet
Ne zaman kullanılır?
- Tam kontrol gerekiyorsa
- Legacy uygulamalar
- Özel network / security ihtiyacı
En esnek ama en çok operasyon yükü olan model
PaaS (Platform as a Service)
Platformu sağlayıcı yönetir, sen sadece uygulamana odaklanırsın.
Sen neyi yönetirsin?
- Uygulama kodu
- Config
- Data
Sağlayıcı neyi yönetir?
- OS
- Runtime (Java, Node, Python…)
- Scaling
- Patch
- Altyapı
Örnekler
- AWS Elastic Beanstalk
- Heroku
- Google App Engine
- Azure App Service
Ne zaman kullanılır?
- Hızlı geliştirme
- DevOps yükünü azaltmak
- Standart web uygulamaları
Daha az kontrol, daha az baş ağrısı
SaaS (Software as a Service)
Hazır yazılımı kullanırsın, hiçbir teknik detayla uğraşmazsın.
Sen neyi yönetirsin?
- Kullanıcılar
- Ayarlar
- İçerik
Sağlayıcı neyi yönetir?
- Her şeyi
Örnekler
- Gmail
- Google Docs
Ne zaman kullanılır?
- IT yükü istemiyorsan
- Standart ihtiyaçlar
- Hızlı kullanım
En az kontrol, en az sorumluluk
- IaaS → Boş ev kiralarsın, her şey senin
- PaaS → Eşyalı ev, sadece yaşarsın
- SaaS → Otel, sadece kullanırsın
Cloud (Bulut) nedir?
Cloud, fiziksel sunucu satın almadan; internet üzerinden sunucu, depolama, veritabanı, ağ ve yazılım gibi kaynakları kullandığın kadar ödeyerek kullanma modelidir.
Eskiden:
- Sunucu satın al
- Data center kur
- Elektrik, soğutma, bakım yap
Cloud’da:
- Dakikalar içinde aç
- İstediğin zaman kapat
- Kullandığın kadar öde
Cloud’un temel özellikleri
- Hızlı: Dakikalar içinde altyapı
- Ölçeklenebilir: Trafik artınca otomatik büyür
- Pay-as-you-go: Kullandıkça öde
- Global: Dünyanın her yerinde region’lar
- Güvenli: Enterprise seviye altyapı
AWS bunun neresinde?
AWS (Amazon Web Services) dünyanın en büyük cloud sağlayıcısıdır.
AWS ne sağlar?
AWS, cloud’un tüm katmanlarını sunar:
IaaS (Infrastructure)
- EC2 (server)
- EBS, S3 (storage)
- VPC (network)
PaaS (Platform)
- Elastic Beanstalk
- RDS
- EKS / ECS
- Lambda (serverless)
SaaS (Software)
- WorkMail
- Chime
- QuickSight
Cloud’daki sunucu nerede?
Cloud’da aldığın bir EC2, VM vs.:
- Gerçek bir fiziksel sunucuda
- Gerçek bir AWS veri merkezinde
- Gerçek bir ülkede / şehirde
çalışır.
AWS bunu nasıl soyutlar?
AWS sana şunu göstermez:
- Rack numarası
- Sunucunun markası
- Hangi fiziksel makine olduğu
- Aynı makinede kimler var
Sen sadece şunu seçersin:
- Region (örn: eu-central-1 Frankfurt)
- Availability Zone (örn: eu-central-1a)
- Instance type (örn: t3.medium)
AWS veri merkezi yapısı
AWS dünyayı şöyle böler:
Region
- Coğrafi alan (ülke / bölge)
- Örn: Frankfurt, Dublin, Tokyo
Availability Zone (AZ)
- Aynı region içinde
- Fiziksel olarak ayrı veri merkezleri
- Elektrik, network, yangın sistemleri ayrı
Data Center
- AZ’lerin içindeki gerçek binalar
Sen “Frankfurt – AZ-a” dediğinde, AWS seni o bölgedeki gerçek bir binaya koyar.
Peki fark nerede?
On-Premise
- Sunucu senin
- Lokasyon senin
- Arıza = senin sorunun
- Kapasite = önceden alman lazım
Cloud
- Sunucu AWS’nin
- Lokasyon AWS’nin
- Arıza = AWS çözer
- Kapasite = anında
Ama:
- Veri hâlâ fiziksel olarak bir yerde
- Sadece sen yönetmiyorsun
Basit benzetme
- On-premise → Kendi binanı yaparsın
- Cloud → Otelde oda kiralarsın
CIDR, bir IP adresi aralığını kısa ve standart bir şekilde ifade etme yöntemidir.
/32, /24, /16 ne demek?
/ işaretinden sonraki sayı:
Network kısmı kaç bit?
Kaç IP adresi var? sorusunun cevabıdır.
IPv4 adresleri 32 bittir.
1.1.1.1/32
32 bitin tamamı network
Host için 0 bit kalır
Sonuç:
Sadece 1 IP adresi
1.1.1.1 → 1.1.1.1
Nerede kullanılır?
Security Group
Firewall
Tek bir IP’ye izin vermek
1.1.1.0/24
- 24 bit network
- 8 bit host (32 – 24 = 8)
Kaç IP?
2^8 = 256 IP
1.1.1.0 → Network address
1.1.1.255 → Broadcast address
Nerede kullanılır?
- En yaygın subnet tipi
- AWS VPC subnet’leri
- Küçük network’ler
1.1.0.0/16
- 16 bit network
- 16 bit host
Kaç IP?
2^16 = 65.536 IP
Nerede kullanılır?
- Büyük network’ler
- AWS VPC CIDR bloğu (çok yaygın)
/ büyüdükçe → IP sayısı azalır
/ küçüldükçe → IP sayısı artar
VPC → Region’a bağlıdır
- Bir VPC sadece 1 Region’da bulunur
- Başka Region’a yayılmaz
- CIDR bloğu Region scope’tadır
Region: eu-central-1 (Frankfurt)
VPC: 10.0.0.0/16
Subnet → Availability Zone’a bağlıdır
- Her subnet sadece 1 AZ’ye aittir
- Subnet’ler AZ’ler arasında paylaşılamaz
- High Availability buradan gelir
VPC: 10.0.0.0/16
Subnet-A (AZ-a): 10.0.1.0/24
Subnet-B (AZ-b): 10.0.2.0/24
Subnet-C (AZ-c): 10.0.3.0/24
Senaryo Özeti
- Node.js app
- Trafik dalgalı
- Performans problemi var
- Patron: “Hızlı olsun ama pahalı olmasın”
Çözüm: Sabit ölçek (ALB + birden fazla EC2)
ALB
↓
EC2
EC2
EC2
- Trafik dağıtıldı
- Performans arttı
- Ama EC2’ler 24 saat çalışıyor
Sonuç:
- Performans iyi
- Cost patladı
Neden?
- Trafik sadece belli saatlerde yüksek
- Ama kapasite hep maksimum
Bu şu demek:
Gece 03:00’te kimse yokken bile 3 EC2 parasını ödüyorsun
Çözüm: Auto Scaling Group (ASG)
Ne fark etti geliştirici?
- Öğlen yoğun
- Akşam/gece sakin
Yani:
Kapasite ihtiyacı zamana göre değişiyor
ASG neyi çözer?
ASG kapasiteyi trafik kadar tutar.
Örnek ASG kuralı:
- Min: 1 EC2
- Desired: 1 EC2
- Max: 5 EC2
Scaling policy:
- CPU > %70 → scale out
- CPU < %30 → scale in
Maliyet neden düşer?
- Gece → 1 EC2
- Öğlen → 4–5 EC2
- Ay sonunda → ortalama düşük
Yani:
Sabit kapasite yerine değişken kapasite
CloudWatch burada neden kritik?
ASG kendi kafasına göre çalışmaz.
CloudWatch:
- CPU
- Request count
- Latency
ölçer ve:
“Şu an yük arttı”
“Şu an yük düştü”
diye ASG’ye sinyal gönderir.
Problem (çok net)
- Auto Scaling var
- ALB var
- Ama tek Availability Zone’dayız
- Sel → o AZ’deki data center down
- Sonuç: tüm EC2’ler gitti
ASG olsa bile:
Eğer tek AZ ise, hepsi aynı anda gider.
Doğru çözüm: Multi-AZ mimari
AWS’nin bu problem için bilerek koyduğu çözüm:
ASG’yi Multi-AZ yap
ASG’yi en az 2–3 AZ’ye yay.
ASG
├── AZ-a → EC2
├── AZ-b → EC2
└── AZ-c → EC2