Tez No İndirme Tez Künye Durumu
798763
Microservice reference architecture for deriving application architectures / Uygulama mimarileri elde etmek için mikroservis referans mimarisi
Yazar:MEHMET SÖYLEMEZ
Danışman: DOÇ. DR. AYÇA KOLUKISA ; PROF. DR. BEDİR TEKİNERDOĞAN
Yer Bilgisi: Hacettepe Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı / Bilgisayar Mühendisliği Bilim Dalı
Konu:Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control
Dizin:
Onaylandı
Doktora
İngilizce
2023
146 s.
Mikro hizmet mimarisi (MHM), kendi yaşam döngüleriyle birlikte küçük boyuttaki hizmetlerin kullanımını destekleyen, dağıtılmış yazılım sistemleri için bir mimari stildir. Literatürde MHM'nin artan özerklik ve modülerlik, esnek yapılandırma, daha kolay geliştirme, daha kolay bakım ve artan üretkenlik dâhil olmak üzere çeşitli faydaları bildirilmiştir. Bu nedenle, birçok uygulayıcı, geliştirme sürecinin çevikliğini yükseltmek ve hizmetlerin özerkliğini artırmak amacıyla mevcut büyük monolitik uygulamalarını küçük parçalara ayırmak veya yeni projelerine başlamak için bu mimari stili kullanır. Öte yandan, MHM'nin dağıtık yapısı ve dikkate alınması gereken tasarım ilkeleri nedeniyle uygulayıcıların ele alması gereken birçok ilgi vardır. Uygulayıcılar için bu ilgileri ele almak ve bir uygulama mimarisi oluşturmak hâlihazırda zordur ve ne yazık ki, henüz bu konuyu adresleyen kapsamlı bir çalışma literatürde yer almamaktadır. Bu boşluğu doldurmak için, bu tezde, mikro hizmet tabanlı uygulamaları başarılı bir şekilde oluşturmanın anahtarı olarak, kapsamlı bir referans mimari ve ondan bir uygulama mimarisi türetmek için bir yaklaşım öneriyoruz. Bu amaçla, önce MHM'nin benimsenmesinde ne tür zorlukların olduğunu tespit ediyoruz ve ardından MHM'nin temel özelliklerini belirlemek için etki alanına dayalı bir mimari tasarım yaklaşımı izliyoruz. MHM'nin ortak ve değişken özelliklerini içeren özellik diyagramlarını kullanarak bir etki alanı modeli sağlıyoruz ve ardından, MHM'nin zorluklarından ve aile özellik modelinden yararlanarak mimari bakış açıları tabanlı bir referans mimariyi tasarlamak için, mimari tasarım sürecini uyguluyoruz. Son olarak, referans mimarisini tasarladıktan sonra, önerilen referans mimarisini değerlendirmek için çoklu vaka çalışması yürütüyoruz.
Microservice architecture (MSA) is an architectural style for distributed software systems, which promotes the use of fine-grained services with their own lifecycles. Several benefits of MSA have been reported in the literature, including increased autonomy and modularity, flexible configuration, easier development, easier maintenance, and increased productivity. Therefore, many practitioners leverage this architectural style either to break their existing big monolithic applications into small pieces or to start their new projects, in order to level up the agility of the development process and increase the autonomy of services. On the other hand, there are many concerns that the practitioners have to deal with, due to MSA's distributed nature and design principles to consider. Therefore, it is still challenging for the practitioners to handle these concerns and come up with application architecture, and unfortunately, there is no comprehensive study yet to address this issue. To fill this gap, in this thesis, we propose a novel reference architecture together with an approach to derive an application architecture from it, as the keys to successfully building microservice-based applications. To this end, we first identify what kind of challenges are there in MSA adoption and then we follow a domain-driven software architecture design approach to identify basic features of MSA. We provide a domain model by using feature diagrams including the common and variant features of MSA. Leveraging the challenges and family feature model of MSA, we apply the architecture design process to design the reference architecture by using architectural viewpoints. Finally, after designing the reference architecture, we carry out a multiple case study to evaluate the proposed reference architecture.