Monolitik Nedir

Tek bir pakette birleştirilmiş olan tüm modüllerin bir arada çalıştığı uygulamalardır. Uygulama geliştirmeleri yapıldıkça uygulama paketi büyür. Uygulamayı bölme yada parçalama gibi bir özelliği bulunmadığından büyük kod yapısı ortaya çıkar. Kod yapısı büyüdükçe geliştirici ekibinin uygulamayı geliştirmeleri de zorlaşır ve güncelleme işlemleri süreleri sürekli olarak artar. Kod yazılı kontrolden çıkar ve kodlar iç içe şeklinde yazılmış bir hal alabilir. Yapılan her bir değişiklik sonucunda sistemin diğer modüllerinde olası hataların çıkması mümkündür. Bundan dolayı testler uzun sürer ve sistemin dağıtılmasını zorlaştırır. Her güncelleme daha büyük sorunlar oluşturur hale gelebilir.

Geliştirilmiş olan uygulama metotları başka uygulamalar için kullanılabilir olabilir ancak monolitik yapı özelliklerinden dolayı metotlara erişim sağlanamayabilinir ve başka uygulamalarda kullanılması pek mümkün olmayabilir. Kullanılan teknolojilerde versiyon ve farklılık olması durumunda yine mevcut metotların kullanımı mümkün olmayabilir. Sonuç olarak yeni teknolojilerin kullanılmasına imkan vermeyecektir.

Tüm kodlar bir uygulama paketinde olduğundan herhangi bir parçası değiştirildiğinde sistemin başka bir parçasını değiştirebileceğinden emin olunması güçleşir. İç içe olan bu parçalar mevcut uygulama içerisinde kullanılması herhangi bir sorun teşkil etmez. Ama yapılan herhangi bir değişiklik sistemin tümünü etkileyebilir. Sistemin ölçeklendirilmesi zorlaşır ve her zaman daha güçlü sunuculara ihtiyaç duyulur. Uygulama yapısına göre uygulamayı her zaman tek bir sunucuda çalıştırılması zorunda kalınabilir. Yapılacak olan her değişiklik için tüm uygulamanın derlenmesi gerekecektir.

Tek avanjı olarak monolitik yapılar tek bir sistem üzerinde çalışabilirler. Testleri yapmak için sistem çoğaltmaları yapılabilinir ve test edilebilinir.