Mikroservis mimarisi için veri taşınması


Tezin Türü: Yüksek Lisans

Tezin Yürütüldüğü Kurum: Ankara Üniversitesi, Fen Bilimleri Enstitüsü, Türkiye

Tezin Onay Tarihi: 2020

Tezin Dili: Türkçe

Öğrenci: IBRAHIM BAKARR JALLOH

Danışman: ÖMER ÖZGÜR TANRIÖVER

Özet:

Mikroservis mimarisinin; daha iyi sürdürülebilirlik, pazara ve üretime daha kısa sürede ulaştırma, ölçeklenebilirlik ve çok dilli programlama gibi önemli avantajları ile ortaya çıkması yazılım endüstrisinin tercihlerini mikroservis mimarisi lehine yönlendirmiştir. Bununla birlikte, monolit uygulamasının bir mikroservis uygulamasına dönüştürülmesi ile ilgili yerleşik bir metodoloji eksikliği vardır. Bu nedenle, bu tez çalışması, monolitik uygulamaların mikroservis uygulamalarına dönüştürülmesi ve veri taşınması için bir metot sunmaktadır. Önerilen metodu doğrulamak için bir vaka çalışması yapılmıştır. Bu vaka çalışması mevcut monolitik bir kütüphane sisteminin RESTful bitiş noktaları üzerinden iletişim kuran üç bağımsız hizmetle mikroservis tabanlı bir mimariye dönüştürülmesini içermektedir. Vaka çalışmasında NoSQL veritabanı teknolojisine sahip hayali monolitik bir kurumsal kütüphane sistemi ele alınmıştır. Önerilen yöntem, dönüşüm süreci boyunca kullanılmıştır. Süreç, monolitik uygulamanın parçalanması, mikroservis uygulaması için bir mimari tasarlanması, kodlama ve başarılı testlerinden oluşmaktadır. İşlem, verilerin herhangi bir veri tutarsızlığı olmadan monolitik uygulamadan mikroservis mimarisine taşınması ile sona ermiştir. The emergence of microservice architecture has its significant advantages; such as better maintainability, shorter time to market, scalability and allowing polyglot programming. For this reason it have driven the preferences of software industry in favour of Microservice Architecture. However, there seem to be a lack of an established methodology, related to transformation of monolith application to a microservice application. Therefore, this thesis work presents a proposed methodology for the transformation and data migration of monolithic applications to microservices applications. A case study was conducted to validate the proposed methodology. It involved the transformation of an existing monolithic library system to a microservice-based architecture with three independent services that communicate via RESTful endpoints. The case study was a fictitious monolithic enterprise library system with a NoSQL database technology. The proposed methodology was used throughout the transformation process. The process included breaking down of the monolithic application, designing an architecture for the microservice application, coding, and successful testing. The process ended with the migration of data from the monolithic application to the microservice architecture without any data inconsistencies.