Değerli arkadaşlar, merhaba! Bu yazımızda sizlere, 'Server (Sunucu)' kavramından söz edeceğiz. Ancak başlamadan önce aşağıda linkleri verilen blogları okumanız, bu blogu anlama konusunda size kolaylık sağlayacaktır. Bununla birlikte yazı içerisinde bilmediğiniz bir terimin rengi mavi ve altı çizili ise üzerine basarak hakkında daha fazla bilgi alabilirsiniz.
'Uç cihaz' dediğimiz cihazlar; laptop, tablet, PC, yazıcı gibi kullanıcıya hizmet veren cihazlardır. Başka bir deyişle bunlar, 'Client (İstemci)' cihazlardır. Server ise her ne kadar böyle gözükmese de aslında kendisi de bir uç cihazdır; sonuç olarak sunucular da hizmet veren yapılardır. Bu noktada istemci (client), isteyen, talep eden kişidir. Yani birinden veya bir şeyden bir veri ister (request). Bu veriyi karşılayan, yanıtlayan (response) şey ise yine bir telefon bile olsa aslında o bir sunucu konumundadır (server).
Aslında siz de neredeyse her gün bir sunucu ile karşılaşıyor ama farkına varmıyorsunuz. Örneğin şu an bu sitede bu blogu okuyorsanız bunu bir Server'a borçlusunuz. Bunlara da 'Web Server (Web Sunucu)' diyoruz. Bu noktada siz, bir tarayıcı (bir istemci) yardımıyla bir web sunucusuna istekte bulunuyorsunuz, web sunucu da size cevap veriyor. Sunucuların, biraz önceki paragrafta verdiğimiz örnekten de anlayacağınız üzere çalışma mantığı olarak normal bilgisayarlardan pek bir farkı yoktur. İşte, her yerde duyduğunuz 'Client - Server Model' veya 'İstemci - Sunucu Modeli' buradan gelir.
Evet, istekleri işlemek ve verileri internet veya yerel ağ üzerinden başka bir bilgisayara iletmek için tasarlanmış bilgisayarlardır. Fakat bizim bahsettiğimiz yapılar normal bir bilgisayar veya telefon değildir.
Bu noktada gerçek sunucuları bilgisayarlardan ayıran şey ise donanımıdır. Bahsettiğimiz sunucular devasa ağları kontrol eden ve devasa güçte olan yapılardır; çok hızlı veri işleme ve çok daha büyük bir depolama kapasitesine sahiptirler. Bu da, çok daha güçlü donanım birimleri ve sunucuların kesintisiz (7/24) olarak çalışabilmesi için soğutma işlemleri gibi çeşitli faaliyetler gerektirir. Sunucularda 'no fault tolerance' dediğimiz, hata toleransı yoktur; sürekli ve düzgün çalışmak zorundadırlar. Örneğin siz, bilgisayarınızı bir Web Server olarak ayarlayabilirsiniz ve cihazınız, belki aynı anda 100 isteğe yanıt verebilir. Ancak bilgisayarınız, YouTube veya Google gibi şirketlerin kapasitesi göz önüne alındığında işe yaramaz bir çöp gibi olacaktır.
Bu kısımda örneğin Google'ın birkaç tane sunucusu olduğunu da düşünmeyin. Kendilerinin, birçok sunucunun barındırıldığı Sunucu Çiftlikleri (Server Farm) veya Veri Merkezleri (Data Center) vardır. Her gün, her saniye isteklerimizi karşılayabilmelerinin sebebi, bu merkezlerde toplamda yüz binlerce sunucunun olmasından kaynaklanır. Peki, biz Türkiye'deyiz ama örneğin Google'ın istek yapabildiğimiz sunucusu Londra'da. Bu durumda client (biz, istemci) ile server (sunucu) nasıl haberleşir?
Bu durumda bildiğiniz gibi hem biz hem de sunucular, bir LAN içerisindedir ve bu cihazların kendi aralarında haberleşebilmesi adına bir Switch'e bağlıdırlar. Tam bu noktada bu iki LAN'ın birbiriyle haberleşebilmesi için Switch'ten akan paketlerin yönlendirilmesi gerekir. Bu yüzden bu yönlendirme işlemi, 'Router'lar tarafından WAN'a taşınır ve haberleşme sağlanmış olur. Aşağıdaki görsel yardımcı olacaktır.

Buna ek olarak; 'ana bilgisayar sunucusu' dediğimiz sunucular da vardır. Ağdaki cihazlar, bu sunuculara bağlıdır, onlara güç sağlar ve cihazlar, ihtiyaç duydukları verilere bu sunucular üzerinden ulaşır.
Sözüne ettiğimiz sunucular daha çok; veri tabanları, e-postalar, uygulamalar ve paylaşılan dosyalar gibi kritik organizasyon işlemlerini, ağ kaynaklarını yönetmekten sorumludur. Biraz önce Web Server'dan bahsettik ancak az önce dediğimiz 'e-posta, veri tabanı vb.' kavramlar, başka başka sunucuların da ortaya çıkmasını sağlamıştır. Örneğin Web Server ile beraber; 'File Server (Dosya Sunucusu)', 'DNS Server (DNS Sunucusu)', 'E-mail Server (Mail Sunucusu)' gibi sunucular da vardır. Gelişen teknoloji ile beraber 'Cloud Server (Bulut Sunucu)', 'Virtual Server (Sanal Sunucu)' gibi sunucular da gelişmeye devam etmektedir.
Bazı sunucular, 'Adanmış (Dedicated)' sunucudur. Buradaki mantık, sunucuya bir rol verilmiş olmasıdır. Örneğin bir sunucu sadece e-posta yönetiyorsa bu adanmış sunucudur. Fakat günümüzde birçok sunucu, 'Paylaşımlı (Shared)' sunucudur. Bunlar ise, birden fazla sorumluluk alabilen sunuculardır.
Sunucunun ne olduğuyla beraber bir web sunucusunun ve adanmış sunucunun ne olduğunu kısaca gördük. Şimdi, daha başka bazı sunucu türlerine bakabiliriz.
Bunu bir 'aracı' gibi düşünebilirsiniz. Siz ve internet arasında bir ağ geçidi görevi görür. Son kullanıcıları yani sizi, gezindikleri web sitelerinden ayırır ve trafik, Proxy Server üzerinden akar. Aracı olması sebebiyle aslında siz, Proxy Server'ın size gösterdiklerini görürsünüz. Yani siz bir Web Server'a bir istekte bulunduğunuzda bu isteğini Proxy'den geçer ve yanıt aldığınızda da bu yanıt, yine Proxy üzerinden geçerek size ulaşır.
Proxy Sunucusu kullanan şirketler, çalışanlarının girdiği siteleri izleyebilir, kontrol edebilir (kısıtlama veya kısıt kaldırma yapabilir) ve bunların logunu tutabilir. Bununla beraber şirketler, iyi bir Proxy Sunucusu kullanıyorsa daha iyi bir ağ performansına sahip olabilir. Bunun sebebi, Proxy Sunucusunun girilen web sitelerini önbelleğe almasından kaynaklanır. Yani eğer 100 kişi bir web sitesine aynı anda girmek isterse bu sunucu istek gönderme işini 100 defa değil, 1 defa yapacaktır. Dolayısıyla bant genişliği tasarrufu sağlanacaktır.
Proxy Server, web istek paketinin (request pack) içerdiği IP adresini ve diğer tanımlayıcı (identifier) bilgileri değiştirebilir. Bu, güzel bir güvenlik ve gizlilik sağlar. Bununla beraber bir Proxy Sunucusu, web trafiğinizi dış saldırganların görmemesi için onları şifreleyecek biçimde yapılandırılabilir. Bunlara ek olarak VPN desteği de vardır. Bu sayede uzak çalışanların kolay ve güvenli bir şekilde Proxy Sunucusuna erişmesi sağlanabilir.
Bu arkadaşımız, uygulama verilerini depolayan veri tabanı sunucuları ile istemcilerle iletişim kuran web sunucuları arasında fiziksel veya sanal olarak bulunabilir. Aslında bunlar, bir uygulamanın geliştirilmesini ve teslim edilmesini destekleyen işletim sistemleridir. Masaüstü uygulaması, web uygulaması veya mobil uygulama fark etmeksizin 'cihaz dünyasını' birbirine bağlar.
Neredeyse her gün, tarayıcınız ile en az bir HTTP isteği gerçekleştiriyorsunuz ve bu istek birkaç saniye gecikirse modunuz düşüyor; en azından bana öyle oluyor. Kullandığınız uygulama fark etmez; bu istekleriniz bir uygulama sunucusundan çekilip bir web sunucusuyla size iletiliyor. Hatta bazı kaynaklarda uygulama sunucusu için 'A web server's best friend' yani 'Bir web sunucusunun en iyi arkadaşı' olarak geçer.
Dosya sunucuları, ofisler için yani bir LAN için paylaşılan bir depolama cihazı olarak düşünülebilir. Bu sunucular sıklıkla başka dosya sunucuları ile karıştırılır (örneğin FTP Server). Bu noktada söyleyebileceğimiz şey; bir FTP Server, internet üzerinden yüklenen dosyaları uzak bir sunucuda saklar ancak bir dosya sunucusu, sadece lokal ağdaki kullanıcıların erişebileceği bir sunucudur. Buradaki ufak detay ise, dosya sunucusunun da uzaktan erişim için yapılandırılabileceğidir. Eğer bir dosya sunucusu uzaktan erişimi desteklediğini düşünelim. İşte, bu erişim için FTP veya SFTP kullanılır.
Bu sunucuyu yöneten bir sunucu yöneticisi (server administrator) vardır. Bu yönetici, hangi kullanıcıların hangi dosyalara erişip erişemeyeceğini belirleyen kuralları tanımlar ve bu, güvenlik için oldukça önemli bir konudur. Burada ayrıca hassas bir durum söz konusudur. Bir dosya sunucusunda Linux, Windows veya MacOS kullanılabilir ancak bu sunucunun ağda bulunan cihazların işletim sistemleriyle uyumlu olması gerekir.
Database Server diğer bilgisayarlara, bir veri tabanından erişme ve verileri alma ile ilgili hizmetler sağlar. Birçok şirket, depolama için bir veri tabanı sunucusu kullanır. Bu sorgular, veri tabanı sorguları olarak geçer ve bu sorgular, bir sorgu dili ile yapılır. SQL, sorgu diline örnek olarak verilebilir. Fakat elbette son kullanıcı (eğer işi bu değilse) SQL bilmek ve ona göre sorgu yapmak zorunda değildir. Bu yüzden son kullanıcının rahat etmesi açısından ona bir arayüz sağlanır.
Blade sunucu, birden fazla sunucunun daha küçük bir alanda barındırılmasına olanak tanıyan modüler bir sunucudur. Bu sunucular fiziksel olarak incedir, kablolamayı basitleştirir ve güç tüketimini azaltır. Her güzel şeyin kötü bir yanı vardır. Blade sunucular aşırı ısınabilir o yüzden soğutma, havalandırma, genel olarak iklimlendirme konusu çok iyi uygulanmalı ve yönetilmelidir. Bununla beraber Blade sunucunun yönetilmesi kolaydır ancak ilk yapılandırma ve kurulum oldukça karmaşık, ter döktüren cinsten olabilir.
Blade sunucusu; dosya paylaşımı, veri tabanı ve uygulama barındırma, sanal sunucu platformlarını barındırma, ses ve video içeriği akışı gibi görevler için kullanılabilir. Blade sunucunun neye benzediğini aşağıdaki iki görselden görebilirsiniz.


Yayınlanma Tarihi: 2022-09-14 16:06:00
Son Düzenleme Tarihi: 2022-09-16 19:45:29