Dikine Büyüyen Kümesteki Kartal” yazı dizisinin bu ikinci bölümünde Yeni Internet Girişimi sitemizin açılışını ve bu ilk evresindeki donanım ve yazılımına dair genel görünümüne dair bir fotoğraf çekeceğim.

Internet sitenizi açmaya karar verdiğinizde bu işin yayıncılık bacağına bakan iki kısmı olduğunu zaten farketmiştiniz. Birincisi siteniz için çalışacak kodlar ikincisi bu kodları çalıştıracak donanımlar. İş fikrinizi ortaya koyduğunuzda o amaca hizmet edecek hazır yazılmış ücretli/ücretsiz kodlar olduğunun farkına vardınız ancak bu çözümlerin ikisi de içinize sinmedi ve kendi kodlarınızı yazdırmaya karar verdiniz. Yazdırdınız da..

Kodların yazılma şekli aslında mimari tasarımınızı direk ilgilendirmesine karşın başlangıç için hemen yayına alınabilecek tek makinede çalışabilen bir formatta kodları hızlıca yazdırdınız. Şimdi ihtiyacınız olan bir adet sunucuydu. Bütçenize uygun bir sunucu bilgisayar aldınız ve üzerine gerekli sunucu yazılımlarını yüklediniz. Bu aşamada elinizdeki sunucu bilgisayar muhtemelen tek kişik ordu modundaydı. Üzerinde DNS, Web, Mail, Veritabanı sunucularını barındırıyordu. Ziyaretçi sayılarınızın ne zaman patlayacağını kestiremediğiniz için tek bir sunucu ile yola çıkmak maliyet/performans açısından size uygun görünmüştü.

Yazılmış ve halen yazılmakta olan tüm kodlarınız bu sunucu vasıtasıyla kullanıcılarınıza tasarladığınız hizmetleri vermekteydi. DNS sunucunuz vasıtasyıla Alan adı/IP dönüşümleri yapılıyor ve sunucunuzun web kullanıcıları tarafından alan adınız vasıtasıyla bulunabilmesini sağlıyordunuz. Veritabanı sunucuzda eski/yeni tüm bilgilerinizi tutuyor yeni bilgileri oraya ekliyor, eski bilgiler üzerinde değişiklikler yapıyordunuz. Kayıtlı bilgileriniz arasından arama yapıp yine bu veritabanı sunucunuz vasıtasıyla bilgileri çağırıyordunuz. Web sunucunuz kullanıcıların tarayıcılarına aktarılacak HTML/Javascript/Görseller/Videoları düzenliyor ve hedef tarayıcıya gönderiyordu. Mail sunucunuz vasıtasıyla kullanıcılarınıza bilgilendirme mailleri atıyordunuz.

Sunucu bilgisayarınız tek kişilik büyük ordu görünümündeydi.. İlk başlarda oda sizde halinizden memnundunuz. Sayfalar gayet hızlı açılıyordu. Bununla birlikte aradan geçen 1-2 yıl sonunda işler tersine dönmeye başlamıştı. Tek kişilk ordu görünümündeki sunucunuz artık çok fazla terliyordu, üzerindeki işleri zamanında yetiştiremiyor ve sayfalarınızı eskisi kadar hızlı kullanıcılarınıza iletemiyordu. CPU/RAM kullanma oranlarınız artmıştı, sistemin boşta bekleme süreleri birhayli azalmıştı.

Aklınızdan geçen yeni bir yatırım yapmak ve tek kişik ordu durumundaki sunucu bilgisyarınızın yerine yeni askerler getirmekti. 2 yeni sunucu bilgisayar daha satın aldınız. DNS ve Web sunucu yazılımları aynı sunucuya yerleştirdiniz. Veritabanı sunucu yazılımını bir makineye, Mail sunucu yazılımını diğer bilgisayara kurdunuz. Şu durumda elinizde fiziksel olarak 3 sunucu bilgsayar vardı. Web+DNS sunucunuz, Veritabanı Sunucunuz, Mail sunucunuz. Bu şekilde güzel bir planlama yaptığınızı düşündünüz. Haksız da sayılmassınız. Mevcut şartlarınız içerisinde mantıklı ve güzel bir hamleydi.

Bir sonraki hamlenizi yine sitenin artık eskisi kadar performanslı olmadığını düşündüğünüzde yaptınız. Bu seferki hamleniz Web sunucu sayınızı artırmak ve Yük dengeleme (Load Balancing) modelinize geçmek oldu. Mevcut kodlarınızda da iyileştirmeler yaptınız. Veritabanını daha az meşgul etmek için Cache kullanımını devreye aldınız. Veritabanından bilgiler çeken onu paketleyip HTML olarak kullanıcılarınıza gönderen kısımlara cache blokları eklediniz. Bir sayfanıza istek yapıldğında hem veritabanı boyutunda hem de HTML boyutunda cache kullandınız. Bunu yaptığınızda cache kullanımının ne kadar da önemli olduğunu farkettiniz. Ve yine gördüğünüz ki ne kadar etkin bir cache leme mekanizması kurarsanız siteniz okadar performanslı hale geliyor.

“Dikine Büyüyen Kümesteki Kartal” yazı dizisinin bu ikinci bölümünde web sitemizi yazılım ve donanım bileşenleriyle yayına alınmasını irdeledik. Siteyi ilk açtığımızda 1 adet sunucu bilgisayarımızın olmasını ve üzerinde DNS, WEB, Mail, Veritabanı sunucu yazılımlarının çalıştırılmasından ve ilerleyen zamanlarda bunların ayrılarak ayrı fiziksel sunucu bilgisayarlara konulmasından bahsettik. Bir sonraki yazımızda Veritabanı yapılandırılması ve bağlantılı olarak Master-Slave yapıları üzerinde duracağız.

Dikine Büyüyen Kümesteki Kartal - Bölüm 1 i okumak için buraya tıklayınız.

Orhan DOĞAN
Yazılım Mühendisi
od@orhandogan.us