DEV Community

Cover image for Service Mesh ve API Ağ Geçidi: İhtiyacınız Olan Tek Kılavuz
Tobias Hoffmann
Tobias Hoffmann

Posted on • Originally published at apidog.com

Service Mesh ve API Ağ Geçidi: İhtiyacınız Olan Tek Kılavuz

Modern bulut tabanlı uygulamalar, mikroservis mimarisi üzerine inşa edilir ve bu mimari büyüdükçe servisler arası iletişimi yönetmek daha karmaşık hale gelir. Bu noktada "hizmet ağı (service mesh)" ile "API ağ geçidi (API gateway)" ayrımı kritikleşir. Temel farklarını ve birlikte nasıl kullanılabileceklerini bilmek; mimarlar, geliştiriciler ve DevOps ekipleri için zorunludur.

Apidog'u bugün deneyin

Bu rehberde, hizmet ağı ve API ağ geçidinin tanımlarını, kullanım alanlarını, farklarını, benzerliklerini ve pratik uygulama örneklerini bulacaksınız. Ayrıca Apidog gibi araçların bu süreçte API geliştirmeyi nasıl hızlandırdığını göstereceğiz.

Hizmet Ağı ve API Ağ Geçidi Nedir?

Başlamadan önce, terimleri netleştirip neden önemli olduklarını görelim.

API Ağ Geçidi Nedir?

Bir API ağ geçidi, mikroservis sisteminiz için tüm istemci isteklerinin tek giriş noktasıdır. Kuzey-güney trafiğini, yani harici istemcilerden iç servislere giden trafiği yönetir. Temel özellikleri:

  • Kimlik doğrulama ve yetkilendirme
  • İstek yönlendirme ve toplama
  • Oran sınırlama
  • Protokol çevirisi (REST ↔ gRPC vb.)
  • API versiyonlama
  • İzleme ve analitik

API ağ geçidi, servislerinizi dış dünyaya güvenli ve yönetilebilir şekilde açmak için kullanılır.

Hizmet Ağı Nedir?

Hizmet ağı, doğu-batı trafiğini (mikroservisler arası iletişim) yöneten bir altyapı katmanıdır. Özellikle servisler arası etkileşimlerin karmaşık ağ gereksinimleri için aşağıdaki işlevleri sunar:

  • Hizmet keşfi ve yük dengeleme
  • Karşılıklı TLS ile güvenli iletişim
  • Trafik bölme, canary deploy ve A/B testleri
  • Yeniden deneme, zaman aşımı, devre kesici
  • Dağıtılmış izleme

Genellikle her servisin yanında bir sidecar proxy ile çalışır ve tüm dahili trafiği şeffaf şekilde yönetir.

Hizmet Ağı ve API Ağ Geçidi Neden Önemlidir?

  • Farklı güvenlik sınırlarında kontrol sağlamak
  • Trafik yönetimini ve dağıtımları kolaylaştırmak
  • Gözlemlenebilirlik ve ayrıntılı analiz sunmak
  • Karmaşıklığı ve ek yükü minimize etmek

Doğru seçim, API'lerin ve servislerin sağlam, güvenli ve yönetilebilir olmasını sağlar.

Hizmet Ağı ve API Ağ Geçidi: Temel Farklılıklar

1. Trafik Kapsamı

  • API Ağ Geçidi: Harici istemciler ile dahili servisler arasındaki trafiği (kuzey-güney) yönetir.
  • Hizmet Ağı: Servisten servise (doğu-batı) trafiği yönetir.

2. Temel Sorumluluklar

Özellik/İşlevsellik API Ağ Geçidi Hizmet Ağı
Kimlik Doğrulama Evet Evet (dahili)
Oran Sınırlama Evet Bazen
İstek Dönüşümü Evet Hayır
Hizmet Keşfi Temel Gelişmiş
Yük Dengeleme Temel Gelişmiş
Trafik Bölme Sınırlı Kapsamlı
Gözlemlenebilirlik Evet Gelişmiş
Esneklik Desenleri Sınırlı Gelişmiş
Protokol Çevirisi Evet Hayır
Geliştirici Portalı Evet Hayır

3. Mimarideki Yeri

  • API Ağ Geçidi: Ağın girişinde, istekler iç ağa girmeden önce bulunur.
  • Hizmet Ağı: Her servisin yanında (sidecar) çalışır, cluster içi trafiği yönetir.

4. Güvenlik Odak Noktası

  • API Ağ Geçidi: Perimeter güvenliği, API anahtarları, OAuth, JWT doğrulama
  • Hizmet Ağı: Dahili güvenlik, karşılıklı TLS, servisler arası yetkilendirme

5. Gözlemlenebilirlik

  • API Ağ Geçidi: Üst düzey API izleme ve kullanım analitiği
  • Hizmet Ağı: Detaylı servis etkileşimi gözlemlenebilirliği, dağıtılmış izleme, metrikler

Hizmet Ağı ve API Ağ Geçidi: Nerede Örtüşürler?

Her iki yapı da aşağıdaki ortak işlevleri içerebilir:

  • Kimlik doğrulama ve yetkilendirme
  • Trafik yönlendirme ve yük dengeleme
  • Gözlemlenebilirlik ve izleme

Ancak odak noktaları farklıdır. API ağ geçidi, harici istemci trafiğinde API anahtarı doğrulaması gibi işlevlere odaklanırken; hizmet ağı, dahili trafiğe mTLS gibi uygulamalar getirir.

Hizmet Ağını ve API Ağ Geçidini Ne Zaman Kullanmalı (veya Her İkisini)

API Ağ Geçidi Kullanım Senaryoları

  • Mikroservislerinizi harici istemcilere güvenli şekilde açmak
  • Merkezi kimlik doğrulama ve yetkilendirme
  • İstek dönüşümü, protokol çevrimi
  • API dokümantasyon ve geliştirici portalı
  • Arka uç servisleri korumak için oran sınırlama

Örnek: Bir SaaS platformunda mobil/web istemciler için API anahtar yönetimi ve kullanım analitiği için API ağ geçidi uygulanır.

Hizmet Ağı Kullanım Senaryoları

  • Canary deploy, trafik bölme, A/B testi gibi gelişmiş trafik yönetimi
  • Servisten servise güvenli iletişim (mTLS)
  • Detaylı gözlemlenebilirlik (dağıtılmış izleme, metrikler)
  • Otomatik hizmet keşfi ve yük dengeleme
  • Yeniden deneme, zaman aşımı, devre kesici gibi esneklik desenleri

Örnek: Büyük ölçekli Kubernetes mikroservis dağıtımlarında, servisler arası güvenliği ve trafiği yönetmek için hizmet ağı kurulur.

Her İkisini de Kullanma

  • API ağ geçidi harici trafiği ve API yönetimini üstlenir.
  • Hizmet ağı, dahili servis trafiğini ve politikalarını yönetir.

Bu katmanlı yaklaşım, güvenliği ve yönetilebilirliği artırır.

Pratik Örnekler: Hizmet Ağı ve API Ağ Geçidi Uygulamada

Örnek 1: E-Ticaret Platformu

  • API Ağ Geçidi: Giriş, ödeme, ürün arama gibi müşteri isteklerini yönetir. Kimlik doğrulama, oran sınırlama, dış partnerler için API dokümantasyonu sağlar.
  • Hizmet Ağı: Envanter, ödeme ve öneri servisleri arasındaki dahili trafiği güvenli ve gözlemlenebilir şekilde yönetir.

Örnek 2: API'den Para Kazanma

  • API Ağ Geçidi: Geliştirici portalı, API anahtarı yönetimi, kullanım takibi ve faturalandırma entegrasyonu sunar. API monetizasyonu için kritik.
  • Hizmet Ağı: Faturalandırma ve analitik servisler arası trafiği güvenli ve esnek şekilde yönetir.

Örnek 3: Canary Dağıtımları

  • API Ağ Geçidi: Harici trafiğin belirli bir kısmını yeni API sürümüne yönlendirir.
  • Hizmet Ağı: Servisler arası daha detaylı trafik bölme ve gözlemlenebilirlik sağlar, güvenli canary veya blue-green dağıtımlarını mümkün kılar.

Örnek 4: Protokol Çevirisi

  • API Ağ Geçidi: Harici REST çağrılarını dahili gRPC/GraphQL'e çevirir. Eski istemciler, modern mikroservislerle kolayca entegre olur.
  • Hizmet Ağı: Dahili gRPC trafiğini optimize eder ve güvenliğini sağlar.

Hizmet Ağı ve API Ağ Geçidi: Kod ve Yapılandırma Örnekleri

API Ağ Geçidi Örneği (Kong)

apiVersion: configuration.konghq.com/v1
kind: KongIngress
metadata:
  name: rate-limited-api
route:
  strip_path: true
  protocols:
    - https
plugin:
  - name: rate-limiting
    config:
      minute: 100
      policy: redis
  - name: key-auth
    config:
      key_names:
        - x-api-key

Bu örnekle, harici API trafiği için oran sınırlama ve anahtar doğrulama sağlanır.

Hizmet Ağı Örneği (Istio)

apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
  name: reviews-routing
spec:
  hosts:
    - reviews
  http:
    - match:
        - sourceLabels:
            app: productpage
      route:
        - destination:
            host: reviews
            subset: v2
      retries:
        attempts: 3
        perTryTimeout: 2s
        retryOn: 5xx

Bu VirtualService tanımı, servisler arası dahili yönlendirme ve yeniden deneme mantığını ayarlar.

Hizmet Ağı ve API Ağ Geçidi: En İyi Uygulamalar

  • Hizmet ağını API ağ geçidi yerine kullanmayın: Hizmet ağı, harici API yönetimi veya protokol çevrimi için uygun değildir.
  • API ağ geçidini aşırı yüklemeyin: API ağ geçidi, büyük ölçekli dahili trafik yönetimi için tasarlanmamıştır.
  • Katmanlı güvenlik için her ikisini de kullanın: Harici istemci trafiği için API ağ geçidi, dahili servis trafiği için hizmet ağı kullanın.
  • Apidog'u kullanın: API tasarımı, dokümantasyonu ve testi için Apidog ile hem API ağ geçidi hem de hizmet ağı senaryolarına uygun API'ler geliştirin. Ayrıca servisler arası etkileşimleri modelleyerek, tasarım aşamasında tüm iletişim desenlerini kolayca simüle edin.

Apidog ve Hizmet Ağı ve API Ağ Geçidi

  • API tasarımı ve dokümantasyonu: API gateway yönetimine hazır, spesifikasyon bazlı API'ler oluşturun.
  • Sahte (mock) ve test ortamı: Hem istemciden servise hem de servisten servise çağrıları simüle edin. Her iki mimari için de işlevseldir.
  • Versiyonlama ve ekip işbirliği: Karmaşık mikroservis mimarileri için idealdir.

Hizmet ağı ve API ağ geçidi ile çalışırken, Apidog'un kapsamlı API tasarımı ve test özellikleriyle uygulama ve dağıtım süreçlerinizi hızlandırabilirsiniz.

Sonuç: Hizmet Ağı ve API Ağ Geçidi Arasında Doğru Seçimi Yapmak

Sonuç olarak, hizmet ağı ve API ağ geçidi birbirinin alternatifi değil, tamamlayıcısıdır. API ağ geçitleri harici API trafiğini yönetirken; hizmet ağları, mikroservisler arası iletişimi güvenli, gözlemlenebilir ve esnek şekilde yönetir.

Modern mimarilerde genellikle her ikisini de birlikte kullanmak en iyi sonucu verir. Apidog gibi araçlarla, seçtiğiniz mimaride API tasarım ve test süreçlerini kolaylaştırabilirsiniz.

Top comments (0)