Monolith Nedir?

İngilizce: Monolith

Monolith, kullanıcı arayüzü, iş kuralları ve veri erişimi gibi bileşenleri tek kod tabanı ve tek dağıtım paketi içinde toplar.

Monolith Nedir?

Monolith, uygulamanın kullanıcı arayüzü, iş mantığı, veri erişimi ve arka plan işlerinin aynı kod tabanında geliştirilip tek paket olarak dağıtıldığı mimari yaklaşımdır. Bu yapı eski olduğu için kötü olmak zorunda değildir; sınırları doğru çizilmiş bir monolith birçok ürün için sade ve yönetilebilir olabilir.

Güçlü Yanları

Başlangıçta tek repository, tek dağıtım hattı ve tek veritabanı modeli geliştirmeyi hızlandırabilir. Debug yapmak, transaction yönetmek ve ekip içi bağlamı korumak çoğu zaman mikroservis mimarisinden daha kolaydır. Küçük ekipler ve hızlı doğrulama aşamasındaki ürünler için monolith pratik bir seçim olabilir.

Sınırları

Kod tabanı büyüdükçe modüller birbirine karışabilir, test süresi uzayabilir ve küçük bir değişiklik tüm uygulamanın yeniden dağıtılmasını gerektirebilir. Ölçek ihtiyacı yalnızca bir modülde yoğunlaşıyorsa tüm sistemi birlikte büyütmek maliyetli olur.

Microservice yaklaşımı bu sınırları servis ayrımıyla çözmeye çalışır; ancak dağıtık sistem karmaşıklığını da beraberinde getirir.