Gerçekten Mikroservis gerekli mi;
- + Projeye yeni eklenen bir modül için ayrı bir servis yazma ihtiyacı hissediliyorsa,
- + Bir modülde yaşanan sıkıntı bütün sistemin geç cevap vermesine hatta durmasına neden oluyorsa,
- + Sadece bir modülde güncelleme yapma sonucunda bütün sistemi güncellemek sıkıntı yaratıyorsa,
- + Belirli modüllere çok aşırı yükleme oluyor ve bazıları çok nadir kullanılıyor ise sadece kaynak ihtiyacı fazla olan modül için kaynak arttırımı yapmak isteniyorsa,
Süreç için gerekli kaynaklar ve altyapı;
- > DevOps Ekibi
- > Building, Configuration ve Deploying Süreçler için CI/CD pipeline
- > Cloud Provider ile auto-scale özelliği
- > Container ve Container Orchestration ile kaynak kullanımı yönetimi
- > Monitoring araçlar (OpsGenie, NewRelic, ...)
- > Her servis için birbirinden izole veri depolama alanı
Yapılan Hatalar;
- - Servisler arası ortak kütüphane kullanılmamalı (Bağımsızlıktan feragat etmemek için)
- - Ortak business katmanı için shared servisler oluşturulabilir
- - Authentication işlemlerinin merkezileştirilmemesi
- API Gateway kullanılmaması olayı,
- API Gateway'ler aynı zamanda hangi client hangi servisleri ne sıklıkta kullanıyor bilgisi de alınabilmesini sağlar.
Suat Köse Medium yazısından