Modern yazılım geliştirmede mikroservis mimarisi, büyük ve karmaşık uygulamaları daha küçük, yönetilebilir parçalara bölerek geliştirme sürecini optimize eden bir yaklaşımdır. Bu yazıda AWS perspektifiyle mikroservis mimarisini ve API Gateway'in önemini keşfedeceksiniz.

Mikroservis Nedir?

Temel Tanım

Mikroservis, büyük bir uygulamanın küçük, bağımsız, bir işi çok iyi yapan parçalara bölünerek geliştirilmesi yöntemidir.

Mikroservis Prensipleri

Tek Sorumluluk

Her mikroservis tek bir işe odaklanır ve o işi mükemmel yapar.

Bağımsızlık

Bağımsız olarak geliştirilebilir ve bağımsız deploy edilebilir.

API İletişimi

Diğer mikroservislerle API arayüzleri üzerinden haberleşir.

Monolitik vs Mikroservis Mimarisi

Monolitik Mimari

Kullanıcı Arayüzü
İş Mantığı
Veri Erişimi
Veritabanı

Her şey tek bir uygulamanın içinde

VS

Mikroservis Mimarisi

Kullanıcı
Ürün
Ödeme
Bildirim

Uygulama birçok küçük servise bölünür

E-Ticaret Örneği

Mikroservis Dağılımı

Mikroservis
Görevi
Özellikler
Kullanıcı Servisi
Üyelik, giriş çıkış
Kayıt Giriş Profil
Ürün Servisi
Ürün listeleme, detay
Katalog Arama Filtreleme
Ödeme Servisi
Ödeme alma işlemi
Kart İşlemi Taksit Güvenlik
Kargo Servisi
Kargo ve takip işlemleri
Teslimat Takip Adres
Bildirim Servisi
E-posta, SMS gönderme
E-posta SMS Push

Mikroservis Avantajları

Bağımsız Ekipler

Ayrı ekipler tarafından geliştirilir

Teknoloji Çeşitliliği

Farklı teknolojilerle yazılabilir

Bağımsız Güncelleme

Bağımsız güncellenebilir

Ölçeklenebilirlik

İhtiyaca göre ölçeklenir

API Nedir?

Application Programming Interface

API, iki yazılımın birbirleriyle iletişim kurmasını sağlayan bir arayüzdür.

Kısaca: Bir yazılımın başka yazılımlara sunduğu kapıdır.

API Neden Kullanılır?

Güvenli Erişim

Bir sistemin iç detaylarına erişmeden, sadece izin verilen verilere ve işlevlere ulaşmak için

Sistem Entegrasyonu

Farklı sistemlerin uyum içindeçalışmasını sağlamak için

API Kullanım Örnekleri

Mobil Uygulama

Bir mobil uygulama, sunucudan veri çekmek için API çağırır

Hava Durumu

Bir hava durumu uygulaması başka bir siteden anlık hava bilgisini API ile alır

Ödeme Sistemi

E-ticaret sitesi, banka API'si ile ödeme işlemlerini gerçekleştirir

API Türleri

REST API

En Yaygın

HTTP üzerinden çalışır. Basit ve yaygın kullanılan API türüdür.

JSON verisi döner HTTP metodları (GET, POST, PUT, DELETE) Stateless
Örnek: Çoğu web servisi

SOAP API

Kurumsal

Daha katı standartlar. XML tabanlı protokoldür.

XML formatında Güvenlik odaklı Stateful
Örnek: Banka sistemleri

GraphQL API

Esnek

Kullanıcı istediği veriyi şekillendirerek ister. Facebook tarafından geliştirilmiştir.

Tek endpoint Query dili Esnek veri
Örnek: Facebook API

WebSocket API

Gerçek Zamanlı

Gerçek zamanlı veri akışı sağlar. İki yönlü iletişim imkanı sunar.

Real-time İki yönlü Düşük gecikme
Örnek: Chat uygulamaları

API Gateway Nedir?

Merkezi Kapı

API Gateway, mikroservis mimarilerinde veya çoklu servis yapılarında, tüm API isteklerinin geçtiği merkezi bir kapıdır.

API Gateway Çalışma Prensibi

İstemci

Mobil/Web App

API Gateway

Merkezi Giriş

Mikroservisler

İlgili Servis

Kullanıcı veya istemci uygulamalar (mobil/web), doğrudan servislerle değil; önce API Gateway ile iletişim kurar, gateway isteği doğru servise yönlendirir.

Alışveriş Merkezi Analojisi

Danışma
Sinema
Yemek
Mağaza

Sinema neredeydi? → Danışma yönlendirir

Yemek katı nerede? → Yine danışma söyler

Kullanıcıdan gelen tüm istekler API Gateway'e gelir. Gateway isteğin içeriğine göre hangi mikroservise gideceğini bilir ve yönlendirir.

API Gateway Neden Kullanılır?

Tek Giriş Noktası

Dış dünyadan gelen tüm istekler merkezi bir kapıdan geçer

Basit erişim Merkezi kontrol

Yük Dengeleme

Gelen istekler, arkadaki servisler arasında dengeli dağıtılır

Performans artışı Otomatik dağıtım

Güvenlik

Kimlik doğrulama ve yetkilendirme yapılır

JWT Token OAuth desteği

Rate Limiting

Kötüye kullanımı önlemek için kullanıcı başına istek sınırı konabilir

DDoS koruması Kaynak yönetimi

Logging ve Monitoring

Tüm API istekleri merkezi loglanabilir ve analiz edilebilir

Detaylı analiz Performans takibi

Response Transformation

Geri dönen cevaplar istemcinin isteğine göre şekillendirilebilir

Format dönüşümü Veri filtreleme

Özet

Kısaca: Diğer mikroservis API'lerine erişebileceğim ortak ve tek bir API sunmak için API Gateway kullanılır.

AWS API Gateway

Amazon API Gateway

AWS'nin sunduğu tam yönetimli API Gateway servisidir. Mikroservis mimarilerinde merkezi API yönetimi sağlar.

AWS API Gateway Özellikleri

Otomatik Ölçeklendirme

Trafik artışında otomatik olarak ölçeklenir

Güvenlik

AWS IAM, Cognito ile entegre güvenlik

Monitoring

CloudWatch ile detaylı izleme

Maliyet Etkin

Sadece kullandığın kadar öde

AWS API Gateway Türleri

REST API

Geleneksel REST API'ler için tam özellikli gateway

Caching Request/Response dönüşümü SDK oluşturma
HTTP API

Daha hızlı ve ekonomik, basit HTTP API'ler için

Daha düşük gecikme 70% daha ucuz JWT yetkilendirme
WebSocket API

Gerçek zamanlı uygulamalar için WebSocket desteği

Real-time messaging Chat uygulamaları Live updates

Sonuç

Mikroservis mimarisi ve API Gateway, modern yazılım geliştirmede ölçeklenebilir, yönetilebilir ve esnek uygulamalar oluşturmak için kritik öneme sahiptir. AWS API Gateway ile bu mimariyi güvenli ve ekonomik bir şekilde hayata geçirebilirsiniz.

Ana Noktalar

  • Mikroservisler uygulamaları küçük, bağımsız parçalara böler
  • API'ler farklı sistemlerin haberleşmesini sağlar
  • API Gateway tüm isteklerin geçtiği merkezi kapıdır
  • AWS API Gateway tam yönetimli ve ölçeklenebilir çözümdür

Sonraki Adımlar

  • AWS hesabı oluşturun ve API Gateway servisini keşfedin
  • Basit bir REST API oluşturarak pratik yapın
  • Lambda fonksiyonları ile mikroservis geliştirin
  • Farklı API türlerini test edin