Geri Dön

Mikroservislerin keşifsel sınanması ve görselleştirilmesi

Exploratory testing and visualization of microservices

  1. Tez No: 636986
  2. Yazar: MUSTAFA BEDRİ EĞRİLMEZ
  3. Danışmanlar: DR. ÖĞR. ÜYESİ YUNUS EMRE SELÇUK
  4. Tez Türü: Yüksek Lisans
  5. Konular: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol, Computer Engineering and Computer Science and Control
  6. Anahtar Kelimeler: Belirtilmemiş.
  7. Yıl: 2020
  8. Dil: Türkçe
  9. Üniversite: Yıldız Teknik Üniversitesi
  10. Enstitü: Fen Bilimleri Enstitüsü
  11. Ana Bilim Dalı: Bilgisayar Mühendisliği Ana Bilim Dalı
  12. Bilim Dalı: Bilgisayar Mühendisliği Bilim Dalı
  13. 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

  1. Estimation on optimal size of microservices

    Mikroservislerin optimal boyutunu hesaplama

    HÜLYA VURAL

    Doktora

    İngilizce

    İngilizce

    2020

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolAtılım Üniversitesi

    Yazılım Mühendisliği Ana Bilim Dalı

    DOÇ. DR. MURAT KOYUNCU

  2. Measuring and evaluating the maintainability of microservices

    Mikroservislerin sürdürülebilirliğinin ölçülmesi ve değerlendirilmesi

    RAHİME YILMAZ

    Doktora

    İngilizce

    İngilizce

    2024

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrolİstanbul Teknik Üniversitesi

    Bilgisayar Mühendisliği Ana Bilim Dalı

    DOÇ. DR. FEZA BUZLUCA

  3. 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

    Türkçe

    2023

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolEge Üniversitesi

    Bilgisayar Mühendisliği Ana Bilim Dalı

    DR. ÖĞR. ÜYESİ BİROL ÇİLOĞLUGİL

    DR. ÖNDER GÜRCAN

  4. 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

    İngilizce

    2024

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolBahçeşehir Üniversitesi

    Bilgisayar Bilimleri ve Mühendisliği Ana Bilim Dalı

    DR. ÖĞR. ÜYESİ SELİN NACAKLI

  5. Mikroservis mimarisinde dağıtık işlemlerin yönetimi

    Distributed transaction management in microservice architecture

    MUSTAFA GÖRDESLİ

    Yüksek Lisans

    Türkçe

    Türkçe

    2022

    Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve KontrolMaltepe Üniversitesi

    Bilgisayar Mühendisliği Ana Bilim Dalı

    PROF. DR. ASAF VAROL