Mikroservis mimarilerinin güvenliği ve dayanıklılığı için senaryo tabanlı kaos deneylerinin simülasyonu
Simulating scenario-based chaos experiments for security and resiliency of microservices architectures
Yazar: AYBÜKE ERGÜL
Danışman: DOÇ. DR. MUSTAFA CEM KASAPBAŞI ; PROF. DR. RIFAT YAZICI
İstanbul Ticaret Üniversitesi / Fen Bilimleri Enstitüsü / Bilgisayar Mühendisliği Ana Bilim Dalı
Derece: Yüksek Lisans, 2024
Konu: Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control

Özet:
Mikroservis tabanlı mimarilerin popülaritesi arttıkça, sistemlerin dayanıklılığını test etme ihtiyacı da önemli hale gelmiştir. Güvenlik, ölçeklenebilirlik ve performans gibi temel kavramları derinlemesine inceleyen birçok çalışma yapılmıştır. Ancak, teknolojinin hızlı gelişimi, bu mimarilerin güvenilirliğini sağlamada zorlukları beraberinde getirmiştir. Bu zorlukların üstesinden gelmek için kaos mühendisliği gibi yenilikçi yöntemler giderek daha önemli hale gelmektedir.
Kaos mühendisliği, sistemin dayanıklılığını test etmek ve olası zayıf noktaları belirlemek amacıyla sistemin farklı bölümlerine kasıtlı olarak hatalar veya kesintiler getirme yöntemidir. Bu yöntem, özellikle karmaşık bağlantılara sahip mimariler için vazgeçilmezdir. Bu tez, mikroservis mimarileri için kaos mühendisliğinin önemini vurgulamakta ve kaos deneyleri için yaygın olarak kullanılan araçlar ve teknolojilere genel bir bakış sunmaktadır. Ayrıca, kaos deneylerinin planlanması ve yürütülmesi için en iyi uygulamaları özetlemekte ve kaos mühendisliğinin pratikte kullanımının faydalarını ve zorluklarını tartışmaktadır. Kaos deneylerini gerçekleştirmek için mikroservislerle birlikte kümenin olduğu bir proje test ortamı olarak kullanılmıştır. Pod tabanlı, Ağ tabanlı ve Stres tabanlı deneyler gibi çeşitli kaos deney senaryoları, Chaos Mesh ve Litmus gibi açık kaynak yazılımlar kullanılarak projeye uygulanmıştır.

Abstract:
As the popularity of microservice-based architectures increases, the need to test the resilience of systems has become crucial. Numerous studies have delved deeply into key concepts such as security, scalability, and performance. However, the rapid development of technology has brought challenges in ensuring the reliability of these architectures. To overcome these challenges, innovative methods like chaos engineering are becoming increasingly important.
Chaos engineering is a method of deliberately introducing faults or disruptions into different parts of a system to test its resilience and identify potential weak points. This approach is indispensable, particularly for architectures with complex interconnections. This thesis highlights the importance of chaos engineering for microservice architectures and provides an overview of commonly used tools and technologies for conducting chaos experiments. It also summarizes best practices for planning and executing chaos experiments, discussing the benefits and challenges of applying chaos engineering in practice. A project test environment with microservices and a cluster has been used to carry out chaos experiments. Various chaos experiment scenarios, such as pod-based, network-based, and stress-based experiments, have been applied to the project using open-source software like Chaos Mesh and Litmus.