Mikroservis & Cloud-Native

Monolit değil. Ölçeklenecek mimari.

Tek bir büyük uygulama yerine — bağımsız, küçük, sahibi belli servisler. Container, Kubernetes, otomatik ölçek, sürekli teslim, mesaj kuyrukları, observability — modern cloud-native uygulamanın tam çerçevesi. AWS, GCP, Azure ya da kendi sunucunuzda.

k8s-prod-eu-west-1 healthy

Üretim kümesi

düğüm

8

pod

42

istek / sn

2.4k

deployment: api-gateway

14 running2 starting2 pending
auth-service v2.1.4
user-service v3.0.1
order-service v1.8.2
payment-service v1.2.0

Ne zaman mikroservis?

Her uygulama bunu hak etmez. Sizinki hak ediyor mu?

01

Trafik anormal pik yapıyor

Belirli saatlerde ya da sezonlarda 10-100x trafik.

02

Farklı modüller farklı ölçeklenmeli

Bir kısım yoğun CPU, diğeri yoğun IO.

03

Çoklu takım, paralel geliştirme

Aynı kodda 5+ takım çalışırken çakışmalar.

04

Farklı teknolojiler birlikte

Python (ML), Go (perf), Node (real-time) birlikte.

05

Yüksek erişilebilirlik şart

Bir servis düşse diğerleri ayakta kalmalı.

06

Hızlı bağımsız deploy

Her takım kendi servisini günde yayınlamak ister.

Cloud-native'in temelleri

Modern uygulamanın 12 ayağı.

01

Container

Docker / OCI tabanlı tutarlı paketleme.

02

Orchestration

Kubernetes / ECS / Nomad.

03

Service mesh

Istio / Linkerd: trafik, güvenlik, gözlem.

04

API gateway

Kong / Traefik / AWS API GW.

05

CI/CD

GitHub Actions / GitLab CI / Argo CD.

06

IaC

Terraform / Pulumi / Helm.

07

Mesaj kuyruğu

Kafka / RabbitMQ / SQS.

08

Cache & store

Redis / Memcached / DynamoDB.

09

Observability

Prometheus + Grafana + OpenTelemetry.

10

Secret yönetimi

Vault / AWS Secrets / GCP SM.

11

Zero-trust güvenlik

mTLS, SPIFFE, en az yetki.

12

Çoklu bölge & DR

Multi-AZ / multi-region, otomatik failover.

Bulut sağlayıcılar

AWS, GCP, Azure ya da kendi sunucunuz.

AWS EKS AWS ECS / Fargate GKE (GCP) AKS (Azure) DigitalOcean Kubernetes Hetzner On-prem Kubernetes OpenShift Rancher

Faydalar

Mikroservise geçince ne değişiyor?

01

Bağımsız ölçek

Her servis kendi ihtiyacına göre büyür/küçülür.

02

Hata izolasyonu

Bir servisin çökmesi diğerlerini düşürmez.

03

Hızlı deploy

Tek bir servis değişikliği = tek bir deploy.

04

Çoklu takım

Takımlar birbirini bekletmeden çalışır.

05

Teknoloji esnekliği

Her servis için doğru dil/runtime.

06

Cloud taşınabilir

AWS'den GCP'ye geçiş aylar değil haftalar.

Risk yönetimi

Mikroservis serbest yapı değil. Disiplin ister.

01

Doğru sınır çizmek

Yanlış servis sınırı = dağıtık monolit.

02

Veri tutarlılığı

Eventual consistency + saga pattern.

03

Observability şart

Trace, metric, log — yoksa hata avı imkânsız.

04

Sözleşme yönetimi

Servisler arası kontratlar versiyonlanır.

05

Ağ + latency

Servis arası çağrı = ekstra latency, dikkat.

06

Operasyonel yük

Doğru tooling + ekibe eğitim olmadan yapma.

Süreç

Monolitten dağıtık sisteme.

  1. 01

    Domain modelleme

    DDD: bounded context'leri çıkar.

  2. 02

    Servis sınırları

    İlk hangi modül ayrılır; sıralama.

  3. 03

    Platform kurulumu

    Kubernetes, CI/CD, observability, secret store.

  4. 04

    İlk servis & kontrat

    Bir servis çıkartılır, API kontratı yazılır.

  5. 05

    Strangler ile devam

    Monolitten kademeli olarak servisler ayrılır.

  6. 06

    Gözetim & olgunlaşma

    SLO, error budget, autoscaling, multi-region.

Hikâyeler

Cloud-native ile büyüttüğümüz sistemler.

Fintech 14 servis

Monolit Java → 14 mikroservis

Sürüm sıklığı haftada 1 → günde 12.

E-ticaret 80x peak

Black Friday auto-scale

80x trafik, 0 downtime, otomatik scale.

SaaS multi-region

Multi-region failover

EU bölge düşse, US otomatik devraldı.

IoT 200k msg/s

Cihaz olay akışı

Kafka + Flink, sn de 200k mesaj.

Lojistik saga pattern

Mikroservis + saga

Sipariş + sevkiyat + iade saga'da.

Medya real-time

Live streaming altyapı

WebRTC + Redis Streams + Kubernetes.

Sık sorulanlar

En çok sorulanlar

Hayır. Küçük-orta ölçekli uygulamalar için iyi yazılmış bir monolit genellikle daha doğrudur. Mikroservis disiplini, observability ve ekip büyüklüğü gerektirir. Karara kapsam analizi ile birlikte varıyoruz.
Evet. Daha basit ihtiyaçlar için AWS Fargate, GCP Cloud Run, ya da yönetilen Docker Swarm de iyi seçenekler. Doğru karar ihtiyaca göre.
Strangler-fig pattern: bir modül ayrılır, doğrulanır, ardından bir sonrakine geçilir. Big-bang yenilemeden kaçınıyoruz; üretim hep çalışır.
FinOps yaklaşımıyla. Her servis için bütçe + cost alarmı, oto-scale parametreleri tutucu kurulur. Ay sonu sürpriz fatura yok.
Evet. AWS / GCP / Azure / DigitalOcean / Hetzner / on-prem — birlikte karar veriyoruz. Cloud-agnostic mimari ile sonra da geçiş kolay.

Sisteminizi ölçeklenebilir bir yapıya taşıyalım.

30 dakikalık keşif görüşmesinde mevcut sisteminizi birlikte değerlendiriyoruz.

sonuç