Sözlük · architecture
Monolith
Tanım
Monolith, tüm uygulama bileşenlerinin (frontend, backend, veritabanı erişim katmanı) tek kod tabanı ve tek deploy birimi olarak geliştirildiği mimaridir. Başlangıç için hızlı ve basit; ölçek ihtiyacında microservice'e geçiş değerlendirilir.
Detaylı açıklama
Monolitik mimari 2000'lerin ortasına kadar yazılımın varsayılan yapısıydı. Tüm özellikler aynı uygulama process'inde çalışır, paylaşılan bellek ve doğrudan fonksiyon çağrısıyla iletişim kurar. Tek bir artifact deploy edilir.
Ne zaman monolith? Yeni proje / MVP aşamasında — microservice overhead'i henüz gerekmez. Küçük-orta takım (3-8 kişi). 'Majestic Monolith' kavramı: modüler ama tek deploy, microservice karmaşıklığı olmadan maintainable.
Monolith → Microservice geçiş: Strangler Fig pattern en yaygın — yeni özellikler microservice'e, eski koddan kademeli ayrışma. Birden ayrışmak (Big Bang rewrite) riskli; kademeli ayrışma tercih edilir.
Kullanım senaryoları
→MVP ve startup başlangıç ürünü
→Küçük-orta takım yazılımı
→İç kullanım (intranet) uygulaması
→Erken stage SaaS
→Sabit kapsamlı kurumsal uygulama
Güçlü yanlar
- +Basit deployment (tek artifact)
- +Geliştirme hızlı (monorepo, shared code)
- +Daha kolay debug (tek process trace)
- +Düşük başlangıç altyapı maliyeti
Zayıf yanlar
- −Ölçekleme zor (tüm sistem beraber ölçeklenir)
- −Büyüyünce 'big ball of mud' riski
- −Tek hata tüm sistemi çökertebilir
- −Farklı teknoloji kullanma kısıtı
İlgili terimler
İlgili hizmetler
Monolith ile ilgili proje planlıyorsan
30 dakikalık keşif görüşmesinde projene özel mimari + maliyet + ekip önerisini yazılı paylaşıyoruz.
Keşif görüşmesi başlat