Ö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
ii
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.