Farklı servis odaklı yaklaşımların performans değerlendirmeleri
Performance evaluations of different service oriented approaches
Yazar: GÖKHAN MERDEN
Danışman: DR. ÖĞR. ÜYESİ EDİZ ŞAYKOL
Beykent Üniversitesi / Lisansüstü Eğitim Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı / Bilgisayar Mühendisliği Bilim Dalı
Derece: Yüksek Lisans, 2022
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control
Dizin: Docker = Docker ; Mikro hizmetler mimarisi = Microservices architecture ; Performans = Performance ; Web siteleri = Web sites

Özet:
Gelişen teknoloji ile değişen ihtiyaçlar, yazılım geliştirme projelerini ve onların kullandıkları teknolojileri de etkilemiştir. İnternet kullanımının artmasıyla insanların ihtiyaçlarının büyük bölümünü internet ortamından çözüme kavuşturmaya başlamışlardır. Sağlık alanındaki gelişmeler, e-ticaret sektöründeki gelişmeler yazılım sektörü ile iç içe geçmiştir.
	Mobil uygulamaların kullanımının artmasıyla ve Iot (internet of things) kullanımının yaygınlaşmasıyla yazılım alanında dağıtık mimari yaklaşımının da değişmesine yol açmıştır. İnternet ortamında dolaşan veri trafiğinin artması ile daha düşük veri ile daha yüksek performans sağlayacak araç ve gereçleri kullanma konusunda düşünmeye sevk etmiştir.
	90 'lı yıllarda kullanıma başlanan dağıtık mimari olan SOA, ihtiyaç duyulan veri miktarının artması ve artan cihaz çeşitliliği nedeniyle performans sorunlarını beraberinde getirmiştir. Mobil cihazların ve e-ticaret sistemlerinin kullanımındaki zorluklar, geliştiricileri yeni teknolojileri kullanmaya sevk etmiştir. Ayrıca veri yönetim sistemlerinin merkezi yapıdan çıkıp çok merkezli hale gelmesi kurumsal ölçekli büyük uygulamaların kullanımını ve geliştirilmesini zorlaştırmıştır.
	2000' li yılların ortasına doğru ortaya çıkan Mikroservis mimarisi, değişen ihtiyaçlar ve artan cihaz çeşitliliği ile daha kolay bağlantı yapma ve daha düşük veri transferi sağlaması neticesinde kullanımı yaygınlaşmıştır. Mobil cihazların kullanımının artması ile bu cihazların Mikroservisler ile kolay bağlantı kurabiliyor olması teknoloji şirketlerinin de geliştirmelerini bu teknolojiyi kullanarak ilerlemeye sevk etmiştir.
	Bununla birlikte Google tarafından geliştirilen açık kaynaklı gRPC altyapısının artan veri miktarı ile ortaya çıkan performans sorunlarına çözüm için yeni bir bakış açısı getirmiştir. Ağ trafiğindeki transfer edilen veri miktarı düşürülmeye çalışılmış, böylece performans artışı sağlanması hedeflenmiştir. 
	Yapılan bu çalışmanın amacı SOA, Mikroservisler ve gRPC teknolojilerinin kıyaslamasını yaparak nasıl performans kazanımları elde edilebileceğini anlamaya yardımcı olmaktır. Çeşitli alanlarda teknoloji kullanımı artarken, ihtiyaçlar değişmeye başlamıştır. Değişen ihtiyaçlara göre yeni teknolojiye geçiş yapmak oldukça maliyetli ve uzun soluklu bir süreçtir. Bu çalışma yeni teknolojiye geçiş yapmanın getirdiği performans kazanımlarını incelemektedir.

Abstract:
Software development projects are effected by changing needs while technology is improving. People have started to solve most of their needs by internet. Improvements on health or e-commerce sectors are intertwined with software development by changing technology.
	Distributed architecture approach is evolving with usage of mobil apps or Iot. Data traffic is increasing on internet so tools which are less data and high performance are in mind of development teams. Because existing enterprise-scale systems could not be compatible with new technology devices. 
	SOA which is distributed architecture is started to use in 90's. While device variety and data traffic is increasing , it brought  performance problems together. Mobile devices and e-trade systems encountered some difficulties. So development teams are motivated to use new technologies. Furthermore the fact that data management systems leave centered structure and become multi-centered has made it difficult to use and develop enterprise-scale applications.
	Microservice architecture which emerged towards the middle of 2000s has become widespread as a result of changing needs and device diversity. Also lower data transfer and establishing easier connections are another effects to use by developer teams. Microservices can transfer data with mobile devices which is increasing usage day by day easily. So technology companies motivated to develop with new technologies
	However open source gRPC framework which is developed by Google has brought a new method to solve performance problems while increasing amount of data. Amount of data in network traffic has been tried to be reduced. Thus it is aimed to increase performance.
	 The purpose of this study is to help understand how performance gains can be achieved by comparing SOA, Microservices and gRPC Technologies. While the use of technology in various fields has increased, needs have begun to change. it examines the performance gains brought by the transition to new technology.