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
Her şey tek bir uygulamanın içinde
Mikroservis Mimarisi
Uygulama birçok küçük servise bölünür
E-Ticaret Örneği
Mikroservis Dağılımı
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ınHTTP üzerinden çalışır. Basit ve yaygın kullanılan API türüdür.
SOAP API
KurumsalDaha katı standartlar. XML tabanlı protokoldür.
GraphQL API
EsnekKullanıcı istediği veriyi şekillendirerek ister. Facebook tarafından geliştirilmiştir.
WebSocket API
Gerçek ZamanlıGerçek zamanlı veri akışı sağlar. İki yönlü iletişim imkanı sunar.
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
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
Yük Dengeleme
Gelen istekler, arkadaki servisler arasında dengeli dağıtılır
Güvenlik
Kimlik doğrulama ve yetkilendirme yapılır
Rate Limiting
Kötüye kullanımı önlemek için kullanıcı başına istek sınırı konabilir
Logging ve Monitoring
Tüm API istekleri merkezi loglanabilir ve analiz edilebilir
Response Transformation
Geri dönen cevaplar istemcinin isteğine göre şekillendirilebilir
Ö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
HTTP API
Daha hızlı ve ekonomik, basit HTTP API'ler için
WebSocket API
Gerçek zamanlı uygulamalar için WebSocket desteği
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