Sidecar proxy-based approach to change microservice communication strategy at runtime

dc.contributor.advisorPerera , I
dc.contributor.authorYapa, YMVM
dc.date.accept2024
dc.date.accessioned2025-08-18T05:03:36Z
dc.date.issued2024
dc.description.abstractMicroservice architecture is becoming popular for most application development in modern, rapid, requirement-changing systems. Although the ideal situation in this architecture is to develop loosely coupled systems with possibly zero interservice communication, it is practically unavoidable in most cases. Selecting the right communication strategy is one of the hardest decisions [1][2][3][4][23][24], and most often, if that decision is made incorrectly during the initial phase, it becomes harder to change afterward. Things are getting even more difficult because of the emerging new techniques in microservice communication. Selecting the right solution depends on many factors, such as personal preferences, tradeoff analysis, and experience. It is difficult to decide whether the correct communication strategy will be chosen until the application runs in the production environment with a real load. Most solutions and suggestions come from experience or after a failure. Since the development effort is high, developing different solutions and then comparing them to select the right solution is impossible. No proper prototyping techniques are available to evaluate such strategies without spending too much time and cost. Most applications might not need the flexibility of changing the communication strategies at the runtime, but when needed, it becomes a very hard challenge to get success. These things are sometimes never addressed due to cost factors, even if they are identified in the first place. Hence, a proper solution decoupled from the application logic is required. A solution is developed to address the adding dynamic behaviors to communication in this research. This solution tries isolating the communication strategy from the microservice by introducing a sidecar proxy object and the core microservice module. The sidecar proxy is a pattern that involves deploying a helper service (proxy) alongside each microservice instance in a distributed application to manage network communications, security, and observability. This proxy handles cross-cutting concerns such as service discovery, load balancing, and traffic routing, allowing the main microservice to focus solely on its core logic. Most applications use static application configurations to implement a particular communication strategy. Another major outcome of this method is the introduction of the ability to change the communication strategy at runtime using a dynamic application configuration management system. This allows the configurations associated with the communication strategies to change at runtime. It is also necessary to evaluate this approach's suitability using characteristics like security and performance. This proposed solution is not coupled to any programming language or framework. It is also a hybrid approach that can only be applied to the selected applications. This can also be used to develop prototype applications quickly and evaluate the available solutions quickly.
dc.identifier.accnoTH5662
dc.identifier.citationYapa, Y.M.V.M. (2024). Sidecar proxy-based approach to change microservice communication strategy at runtime [Master’s theses, University of Moratuwa]. , University of Moratuwa]. Institutional Repository University of Moratuwa. https://dl.lib.uom.lk/handle/123/23973
dc.identifier.degreeMSc in Computer Science
dc.identifier.departmentDepartment of Computer Science & Engineering
dc.identifier.facultyEngineering
dc.identifier.urihttps://dl.lib.uom.lk/handle/123/23973
dc.language.isoen
dc.subjectMICROSERVICE ARCHITECTURE
dc.subjectSIDECAR PROXY PERFORMANCE MEASUREMENT
dc.subjectRUNTIME SOFTWARE EVOLUTION
dc.subjectCOMPUTER SCIENCE AND ENGINEERING-Dissertation
dc.subjectMSc in Computer Science
dc.titleSidecar proxy-based approach to change microservice communication strategy at runtime
dc.typeThesis-Abstract

Files

Original bundle

Now showing 1 - 3 of 3
Loading...
Thumbnail Image
Name:
TH5662-1.pdf
Size:
240.44 KB
Format:
Adobe Portable Document Format
Description:
Pre-text
Loading...
Thumbnail Image
Name:
TH5662-2.pdf
Size:
126.42 KB
Format:
Adobe Portable Document Format
Description:
Post-text
Loading...
Thumbnail Image
Name:
TH5662.pdf
Size:
1.3 MB
Format:
Adobe Portable Document Format
Description:
Full-thesis

License bundle

Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
license.txt
Size:
1.71 KB
Format:
Item-specific license agreed upon to submission
Description: