DEV Community

Feyza Nur Dandal
Feyza Nur Dandal

Posted on

Mikroservis Mimarisi: Monolith Yerine Neden Mikroservis?

İlk backend projelerimde her şeyi tek uygulamanın içine yazıyordum.

Authentication, kullanıcı yönetimi, loglama, bildirimler...

Hepsi tek kod tabanındaydı.

Bu yaklaşım küçük projelerde işe yarasa da büyük sistemlerde ciddi sorunlar oluşturuyor.


Monolith Nedir?

Monolith mimaride tüm uygulama tek bir servis olarak çalışır.

Frontend

↓

Backend

↓

Database
Enter fullscreen mode Exit fullscreen mode

İlk başta oldukça basit görünür.

Ancak proje büyüdükçe;

  • Kod karmaşıklaşır.
  • Test etmek zorlaşır.
  • Yeni özellik eklemek riskli hale gelir.

Mikroservis Yaklaşımı

Mikroservis mimarisinde her servis yalnızca tek bir iş yapar.

Örneğin;

Authentication Service

Policy Service

Device Service

Audit Service

Notification Service
Enter fullscreen mode Exit fullscreen mode

Her biri bağımsız geliştirilebilir.

Bağımsız dağıtılabilir.

Bağımsız ölçeklenebilir.


NAC Sistemlerinde Neden Kullanılır?

Bir NAC ürünü yalnızca kullanıcı doğrulamaz.

Aynı anda;

  • RADIUS isteklerini işler.
  • Policy hesaplar.
  • Cihazları yönetir.
  • Log toplar.
  • Alarm üretir.
  • Yönetim paneline veri sağlar.

Tüm bunları tek uygulamada toplamak zamanla yönetilemez hale gelir.


Single Responsibility

Mikroservislerin en büyük avantajlarından biri tek sorumluluk ilkesini desteklemesidir.

Örneğin;

Policy Engine yalnızca karar verir.

Audit servisi yalnızca log tutar.

Notification servisi yalnızca bildirim gönderir.

Her servis kendi alanında uzmanlaşır.


Dezavantajları

Elbette mikroservis her zaman en doğru seçim değildir.

Servisler arası iletişim,

Dağıtık loglama,

Monitoring,

Deployment

gibi yeni problemleri de beraberinde getirir.

Bu nedenle küçük projelerde monolith çoğu zaman daha mantıklı olabilir.


Sonuç

Mikroservis mimarisi yalnızca büyük şirketlerin kullandığı popüler bir yaklaşım değildir.

Doğru uygulandığında bakım kolaylığı, ölçeklenebilirlik ve ekiplerin bağımsız çalışabilmesi açısından büyük avantaj sağlar.

Top comments (0)