Özet:
Bulut Bilişim (Cloud Computing) hem akademik ortamda önemli araştırma konuları sunan hem de sektörde pratik olarak yaygın şekilde kullanılan bir yöntem haline gelmiştir. Dağıtık Sistemler (Distributed Systems) alanındaki çözülmüş ve çözülmemiş problemler Bulut Bilişim alanına da taşınmaktadır. Bu tür sistemlerde toplam işin mevcut sistemlere en iyi biçimde dağıtılması, başarımı en üst düzeye çekmektedir. Yük dengeleme (load balancing) adı verilen bu işlem, kullanılan farklı yaklaşımlara göre farklı ek yükler ve/veya en iyi olmayan sistem başarımı ortaya çıkartabilmektedir. Bulut bilişim veri merkezlerinde yük dengeleme etkin bir araştırma alanı
olmayı sürdürmektedir.
Tez çalışması kapsamında literatürdeki yük dengeleme yaklaşımları incelenerek özellikle
işlemsel olmayan (non-transactional) yöntemlerden en ümit verici olanlar seçilerek açık kaynak bulut ortamında denenmiştir. Ayrıca çalışmada farklı veri tipleri için başarılı bir parçalama ekseni (sharding column) seçimi ve bu seçimin yük dengelemeye ve performansa etkileri incelenmiştir. Yapılan incelemelerde kullanılmak üzere seçilen Screen Tracker uygulaması, çalışanların verimliliğini artırmaya yönelik bir yazılımdır. Bu yazılım Sword-IT bünyesinde geliştirilmiş bir uygulama olup, çalışanların hangi uygulamada ne kadar vakit harcadıklarına dair verileri toplarlayıp analizini yaparak çalışan verimliliğini artırmayı hedeflemektedir. Uygulama, çalışanların verilerinin çevrim dışı depolanıp, daha sonra çevrimiçi sorgulanabilir hale getirilmesi amacına yönelik olarak, uygulama tarafından üretilen verilerin yazımı ve okunması sırasında yük dengeleme yaklaşımlarından yararlanarak tez çerçevesinde yeniden tasarlanmıştır. Screen tracker uygulamasından gelen verilerin kaydedilmesi için dağıtık bir yapı kurgulanmıştır. Bu yapıda, bir adet koordinatör düğümü, yük durumuna göre kümelenebilir yeni yük düğümleri, verilerin tutulacağı saklama düğümleri ve verilerin okunacağı okuma ucu (read end-point) düğümler kurgulanmıştır. Screen Tracker uygulamasının çalışması ve mimarisi hakkında ayrıntılı bilgiye 4.Bölümde yer verilmiştir. Yapı içerisinde, PostgreSQL Veri Tabanı Yönetim Sistemi (VTYS)’den yararlanılmıştır. Birden fazla sunucuya verilerin belli sütunlara göre parçalanarak dağıtımı yapılmış, sonuçların performans üstündeki etkileri araştırılmıştır. Bu çerçevede, mevcut olan yaklaşımlar incelenmiş, en ümit verici olanları test edilerek ve önerilen yöntem ile kıyaslanmıştır. Round Robin yaklaşımı temel olarak alınıp diğer yöntemlerin bu yaklaşıma göre sağladığı kazanımlar kıyaslanmıştır.