Mikroservislerin keşifsel sınanması ve görselleştirilmesi
Exploratory testing and visualization of microservices
- Tez No: 636986
- Danışmanlar: DR. ÖĞR. ÜYESİ YUNUS EMRE SELÇUK
- Tez Türü: Yüksek Lisans
- Konular: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol, Computer Engineering and Computer Science and Control
- Anahtar Kelimeler: Belirtilmemiş.
- Yıl: 2020
- Dil: Türkçe
- Üniversite: Yıldız Teknik Üniversitesi
- Enstitü: Fen Bilimleri Enstitüsü
- Ana Bilim Dalı: Bilgisayar Mühendisliği Ana Bilim Dalı
- Bilim Dalı: Bilgisayar Mühendisliği Bilim Dalı
- Sayfa Sayısı: 103
Özet
Mikroservisler yakın dönemde popülerlik kazanmış, alışılagelmiş yekpare mimarilerden farklı olarak bir yazılım uygulamasını yapıtaşlarına ayırmayı prensip edinmiş bir yazılım mimari stilidir. Uygulamayı oluşturan her bir bileşenin karmaşıklığının en alt seviyeye indirilmesi, ölçeklenebilirliğinin kolaylığı, devreye almaya getirdiği esneklikler gibi daha ilk bakışta göze çarpan birçok artıyı bünyesinde bulundurur. Bununla birlikte, her derde deva bir çözüm de değildir: Birçok ayrı modüle, sisteme ve konuma parçalanmış bir uygulamanın takibi ve sınanması zorlukları beraberinde getirir. Yazılım günlükleri, yazılım geliştirme ve bakım sürecinde hata ayıklama, güvenlik ve uygunluk için tercih edilen geleneksel yöntem olmuşlardır. Fakat günlüklerin düz yapısı ve uygulama bileşenleri arasında bağlam bilgisi paylaşım mekanizmaları bulundurmamaları, günlüklerin mikroservisler gibi modern çok işlemcili, dağıtık mimarilerde kullanımının önünde bir engel oluşturmaktadır. Yazılım mühendislerinin bu engellere karşı çözümü, düz günlük oluşturma hizmetlerini hiyerarşik yapıya dönüştürmek ve bileşenler arasında yürütüm bağlam bilgisinin nakil edilebilmesi gibi ek becerilerle zenginleştirmek olmuştur. Bu ek işlevleri sağlayan uygulamalara dağıtık izleyiciler adı verilmiştir ve modern büyük ölçekli yazılım sistemlerinin olmazsa olmazlarından biri haline gelmişlerdir. Dağıtık izleyicilerin çalışma mantığı, inceleme altındaki uygulamanın tüm bileşenleri tarafından oluşturulan günlük olaylarının daha sonra ihtiyaç duyulduğunda analiz edilebilmesi ve görselleştirilebilmesi için yakalanması ve bir merkezde saklanmasına dayanır. Bununla birlikte, dağıtık izleyicilerce oluşturulmuş mekanizmalar alternatif bir şekilde de kullanılabilirler: Bu çalışmada tanıtılan XPLORA aracı, mikroservis mimarisine dayanan uygulamaların yürütümünü bir sıralama diyagramı üzerinde görselleştiren bir dinamik sınama aracıdır. Araç, açık ve sağlayıcı bağımsız bir dağıtık izleyici standardı olan OpenTracing çerçevesine dayanmaktadır. Bu da aracın OpenTracing'le uyumlu hale getirilmiş herhangi bir uygulama ile kolaylıkla entegre edilebilmesini mümkün kılar. XPLORA'nın geleneksel izleyicilere getirdiği yenilik, yakalanan iz olaylarını gerçek zamanda görselleştirilen duraksatma noktaları olarak kullanabilmesidir.
Özet (Çeviri)
Microservices is an emerging software architectural style which is distinguished from its monolithic counterpart by decomposing a software application into its many building blocks. Gains such as reduction of individual module complexity, ease of scalability, and deployment flexibility are obvious. However, it is not a magic bullet: Testing and monitoring a system that has fragmented into multitudes of disparate modules, systems, and locations brings new challenges. Application logging has been the traditionally preferred method for debugging, security, and compliance for software development and maintenance process. But the flat nature of logging and the absence of mechanisms for sharing context information between the solution's components stay as obstacles against their usage in modern multiprocessing, distributed architectures. Software engineers' answer to these challenges has been to enhance established logging facilities with additional capabilities such as moving from flat to hierarchical log records organization and adding mechanisms for transferring context information within components. The family of applications that implement this functionality is called distributed tracers, and have become a necessity for modern huge scale software systems. The typical operation of the distributed tracers involves capturing and storing log events generated by all components of the solution in a central location, so they can be analyzed and visualized as needed retrospectively. However, the mechanisms set out by distributed tracers can be used in an alternative way: XPLORA tool, which is presented in this study, is a dynamic testing tool visualizing the execution of a microservices solution in a sequence diagram. The tool builds upon OpenTracing, an open and vendor neutral distributed tracing framework. The usage of the framework allows the tool to be integrated into any OpenTracing compatible application with ease. XPLORA enhances traditional tracers by making use of the captured events as breakpoints that are visualized in real time.
Benzer Tezler
- Estimation on optimal size of microservices
Mikroservislerin optimal boyutunu hesaplama
HÜLYA VURAL
Doktora
İngilizce
2020
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolAtılım ÜniversitesiYazılım Mühendisliği Ana Bilim Dalı
DOÇ. DR. MURAT KOYUNCU
- Measuring and evaluating the maintainability of microservices
Mikroservislerin sürdürülebilirliğinin ölçülmesi ve değerlendirilmesi
RAHİME YILMAZ
Doktora
İngilizce
2024
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul Teknik ÜniversitesiBilgisayar Mühendisliği Ana Bilim Dalı
DOÇ. DR. FEZA BUZLUCA
- Blokzincirleri ve mikroservislerin tümleşimi üzerine bir çalışma
A study on integration of blockchains and microservices
NAİM YÜREK
Yüksek Lisans
Türkçe
2023
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolEge ÜniversitesiBilgisayar Mühendisliği Ana Bilim Dalı
DR. ÖĞR. ÜYESİ BİROL ÇİLOĞLUGİL
DR. ÖNDER GÜRCAN
- Artificial intelligence assisted performance comparison of service meshes
Hizmet ağlarının yapay zeka destekli performans karşılaştırması
İPEK BENGİSU AYDEMİR
Yüksek Lisans
İngilizce
2024
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolBahçeşehir ÜniversitesiBilgisayar Bilimleri ve Mühendisliği Ana Bilim Dalı
DR. ÖĞR. ÜYESİ SELİN NACAKLI
- Mikroservis mimarisinde dağıtık işlemlerin yönetimi
Distributed transaction management in microservice architecture
MUSTAFA GÖRDESLİ
Yüksek Lisans
Türkçe
2022
Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolMaltepe ÜniversitesiBilgisayar Mühendisliği Ana Bilim Dalı
PROF. DR. ASAF VAROL