• Sunucu Çözümleri

    Sunucu (söylemeye alışık olduğumuz şekliyle: Server), herhangi bir ağ üzerinde bir programı veya bir bilgiyi farklı kullanıcılara/sistemlere paylaştıran/dağıtan donanım veya yazılıma verilen genel isimdir. Burada temel nokta, sunucuların bir bilgisayar ağına bağlı olması.
     
    Donanımsal olarak sunucuların, sorunsuz çalışmak üzere inşaa edilmiş, güvenilir, çoklu kullanıcıya hizmet eden bilgisayar sistem(ler)i olduğunu söyleyebiliriz. Örneğin, PC Labs'ın bulunduğu bilgisayar sistemi bir sunucudur ve bu bilgiler Internet aracılığı ile siteyi ziyaret edenlere bilgiler dağıtılır/paylaşılır. Bilgisayar sunucularının yanında, yazılım sunucuları da mevcut. Örneğin, MySQL Server bir veritabanı sunucu yazılımıdır ve bunu bir sunucuya yüklediğimiz zaman bu sunucuya genellikle database server (veritabanı sunucusu) deriz.
     
    Neden Sunuculara İhtiyacımız Var?
    Sunuculara olan ihtiyaç, işlerimizi bilgisayar sistemleri vasıtasıyla yaptığımız ve bilgileri bu sistemlere depoladığımız zamanlarda ortaya çıkıyor. Günümüzde bilgisayar sistemlerinin kullanımını tartışmamıza bile gerek yok. Arrtık bir çok işletme bilgilerini merkezi noktada saklıyor ve bilgileri şuıbelerine/müşterilerine bu merkezden dağıtıyor. Merkezde bu bilgi saklama görevini yapan, sürekli çalışır halde olması gereken bilgisayar sistemi sunucudur.
     
    Günümüzde, bilgisayar sistemlerinin sürekli çalışmasının çok önemli olduğu finans, sağlık, eğitim gibi sektörler var. Bu sektörlerde çok ufak zaman kayıpları, inanılmaz boyutta iş ve para kaybını beraberinde getirebiliyor. Hele hele bilgileri bütünlüğü ve sorunsuz bir şekilde saklanabilmesi firmalar için çok daha önemli hale geldi. Bir bankanın son 1 saat içerisinde yapılan işlemleri sunucu arızası nedeniyle kaybettiğini düşündüğünüzde, ortadaki kaybı görmek oldukça kolay olacaktır. Düzgün işlemeyen bilgisayar sistemlerinin bile çok para ve iş kaybına neden olduğunu zaman zaman canlı örnekleriyle görüyoruz. Örneğin Ziraat Bankası, yaptığı yazılımsal değişikliği nedeniyle geçtiğimiz aylarda çok büyük sorunlar yaşamış, bankanın müşterileri mağdur olmuştu.
     
    Sunuculara olan ihtiyacımız işte burada ortaya çıkıyor. Yaptığımız işte, zaman, iş ve bilgi kaybı olmasını istemiyorsak sunucu sistemler işin içerisine giriyor. Sunucular, genelde yedekli yapılarla çalıştığı için, çalışmalarınız çok az durumda aksıyor. Örneğin, güç kaynağı arızasında ikinci güç kaynağı hemen devreye girerek durumu telafi ediyor veya herhangi bir disk arızasında diğer diskler veri kaybını engelliyor ve çalışmaya devam edilebiliyor. Bu konuyla ilgili çalışma örneklerini daha sonra vereceğiz.
     
    Biraz geçmişe bakalım;
    Aslında sunucu deyince geçmiş dönemlerde akıllara ilk olarak Mainframe'ler gelirdi. Mainframe, mini-bilgisayarların (yani günümüz masaüstü bilgisayarlarının) bağlandığı çok geniş bilgisayar sistemlerine verilen isimdir. Mainframe'i klasik bilgisayar sistemlerinden ayıran özelliği, kabaca, paralel olarak işleyen "bilgisayarcıklardan" oluşmasıdır. Örneğin, Mainframe'e has olan I/O kanalına takılacak her kontrolcü, kendisine ait disk, ethernet kartı, belleği kontrol edip, her kontrolcü farklı bir işletim sistemi çalıştırabiliyor. Mainframe'i esas güçlü kılan özelliği de bu. Mainframe'lerin eski yazılımlarla uyumlu olabilmesi, herhangi bir aksaklıkta hemen paralel sistemin devreye girerek hata oluşmasını engellemesi ve sistem çalışırken bile donanımları takıp çıkartabilme özelliği, sistem kaynaklarını paylaşabilen birbirinden tamamen izole şekilde çalışabilen sanal bölümleri, onun esas özelliklerini oluşturuyor.
     
    Ancak Mainframe'ler bu kadar esnekliğin ve özelliğin yanında çok yüksek maliyet getiriyordu. Özellikle küçük ve orta ölçekli şirketler için uygulaması ve kullanılması zor olan Mainframe'ler yerine, mini-bilgisayar olarak adlandırılan aslında masaüstü farkı olmayan bilgisayarlara Mainframe'in yapabildiği bazı özellikler kazandırılarak "sunucu" görevi yapmaya başladı. Bizim alışık olduğumuz "sunucu" ifadesi de buna tekabül ediyor. Mainframe'ler halen büyük organizasyonlar tarafından kullanılıyor (örneğin finans sektörü) ancak artık sunucu deyince aklımıza, sunucu işlevi yapmak üzere geliştirilmiş donanımları taşıyan mini-bilgisayarlar geliyor. Artık bildiğimiz sunucular aynı anda yüzlerce kullanıcıya hizmete edecek kadar güçlüler. Mainframe'in yaptığı birçok işi çok daha ucuza yapabiliyor ve günümüzde çok popülerler. Biz de bu sistemler üzerinde duracağız.
     
    Klasik bilgisayarların da güçlendirilerek sunucu görevi görmesinde, hızlanan sistemlerin oldukça büyük payı var. Artık istemci sistemler (sunucuya bağlı olan bilgisayarlar), sunucu ile eş zamanlı olarak çalışıyor ve gerekli komutların işletilmesinde sunucuya yardımcı oluyor. Örneğin, istemci bilgisayardan çalışan muhasebe yazılımından rapor alacağız. Veritabanı sunucusuna komutlar gönderilerek, veritabanında bilgiler sunucunun işlem gücüyle gerçekleştiriliyor. Sunucudan alınan ham bilgiler, istemci bilgisayar tarafından tekrar işleme konup istenen rapor elde ediliyor. Tüm bu işlemler sadece sunucuya yaptırılacak olsaydı kuşkusuz daha güçlü sunuculara ihtiyaç olacaktı. Veya web sunuculardan bir örnek verelim. ASP, PHP veya JSP gibi kodlar web sunucusu tarafından işleme konurken, Javascript kodları veya sayfaların gösterilmesi istemci tarafından yapılıyor. Bir nevi iş paylaşımına gidiliyor.
     
    5-10 yıl öncesinde sunucu belki de sistem belleği artırılmış bilgisayar gibiydi ama yeni donanımlarla birlikte güvenirlikte işin içine girdi. Zira sunucularda artık aranan esas özellikler, güvenilirlik ve sorunsuz çalışabilmesi.

Yukarı