Abstract
Dynamic routing is an essential part of service- and cloud-based applications. Routing architectures are based on vastly different implementation concepts, such as API Gateways, Enterprise Service Buses, Message Brokers, or Service Proxies. However, their basic operation is that these technologies dynamically route or block incoming requests. This paper proposes a new approach that abstracts all these routing patterns using one adaptive architecture. We hypothesize that a self-adaptation of the dynamic routing is beneficial over any fixed architecture selections concerning reliability and performance trade-offs. Our approach dynamically self-adapts between more central or distributed routing to optimize system reliability and performance. This adaptation is calculated based on a multi-criteria optimization analysis. We evaluate our approach by analyzing our previously-measured data during an experiment of 1200 h of runtime. Our extensive systematic evaluation of 4356 cases confirms that our hypothesis holds and our approach is beneficial regarding reliability and performance. Even on average, where right and wrong architecture choices are analyzed together, our novel architecture offers 9.82% reliability and 47.86% performance gains.
This work was supported by FWF (Austrian Science Fund), projects IAC\(^2\): I 4731-N, API-ACE: I 4268.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
- 2.
- 3.
- 4.
The online artifact of our study can be anonymously downloaded from https://zenodo.org/record/7944823.
- 5.
- 6.
- 7.
- 8.
- 9.
References
Aleti, A., Björnander, S., Grunske, L., Meedeniya, I.: ArcheOpterix: an extendable tool for architecture optimization of AADL models. In: ICSE 2009 Workshop on Model-Based Methodologies for Pervasive and Embedded Software, MOMPES 2009, pp. 61–71. IEEE (2009)
Aleti, A., Buhnova, B., Grunske, L., Koziolek, A., Meedeniya, I.: Software architecture optimization methods: a systematic literature review. IEEE Trans. Software Eng. 39(5), 658–683 (2013)
Amiri, A., Zdun, U., van Hoorn, A.: Modeling and empirical validation of reliability and performance trade-offs of dynamic routing in service- and cloud-based architectures. In: IEEE Transactions on Services Computing (TSC) (2021)
Arcaini, P., Riccobene, E., Scandurra, P.: Modeling and analyzing MAPE-K feedback loops for self-adaptation. In IEEE/ACM 10th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, pp. 13–23 (2015)
Arcaini, P., Riccobene, E., Scandurra, P.: Formal design and verification of self-adaptive systems with decentralized control. ACM Trans. Auton. Adapt. Syst. (TAAS) 11(4), 1–35 (2017)
Bauer, A., Herbst, N., Spinner, S., Ali-Eldin, A., Kounev, S.: Chameleon: a hybrid, proactive auto-scaling mechanism on a level-playing field. IEEE Trans. Parallel Distrib. Syst. 30(4), 800–813 (2018)
Becker, S., Koziolek, H., Reussner, R.: Model-based performance prediction with the palladio component model. In: Proceedings of the 6th International Workshop on Software and Performance, WOSP 2007, pp. 54–65. ACM (2007)
Brosch, F., Koziolek, H., Buhnova, B., Reussner, R.: Architecture-based reliability prediction with the palladio component model. IEEE Trans. Softw. Eng. 38(6), 1319–1339 (2011)
Busch, A., Fuchss, D., Koziolek, A.: PerOpteryx: automated improvement of software architectures. In: IEEE International Conference on Software Architecture ICSA Companion 2019, pp. 162–165. IEEE (2019)
Chappell, D.A.: Enterprise Service Bus. O’Reilly, Sebastopol (2004)
Cheung, R.C.: A user-oriented software reliability model. IEEE Trans. Softw. Eng. SE-6(2), 118–125 (1980)
Cortellessa, V., Di Marco, A., Inverardi, P.: Model-based software performance analysis, Springer (2011). https://doi.org/10.1007/978-3-642-13621-4
Dean, D.J., Nguyen, H., Wang, P., Gu, X.: PerfCompass: toward runtime performance anomaly fault localization for infrastructure-as-a-service clouds. In: 6th USENIX Workshop on Hot Topics in Cloud Computing (HotCloud 14) (2014)
Galante, G., de Bona, L.C.E.: A survey on cloud computing elasticity. In: 2012 IEEE Fifth International Conference on Utility and Cloud Computing, pp. 263–270. IEEE (2012)
Grassi, V., Patella, S.: Reliability prediction for service-oriented computing environments. IEEE Internet Comput. 10(3), 43–49 (2006)
Herbst, N.R., Kounev, S., Reussner, R.: Elasticity in cloud computing: what it is, and what it is not. In: 10th International Conference on Autonomic Computing (ICAC 13), pp. 23–27 (2013)
Hohpe, G., Woolf, B.: Enterprise Integration Patterns. Addison-Wesley, Boston (2003)
Homer, A., Sharp, J., Brader, L., Narumoto, M., Swanson, T.: Cloud Design Patterns. Microsoft Press (2014)
Iglesia, D.G.D.L., Weyns, D.: MAPE-K formal templates to rigorously design behaviors for self-adaptive systems. ACM Trans. Auton. Adapt. Syst. (TAAS) 10(3), 1–31 (2015)
Jamshidi, P., Pahl, C., Mendonça, N.C., Lewis, J., Tilkov, S.: Microservices: the journey so far and challenges ahead. IEEE Softw. 35(3), 24–35 (2018)
Kratzke, N.: About microservices, containers and their underestimated impact on network performance. arXiv preprint arXiv:1710.04049 (2017)
Nygard, M.: Release It!: Design and Deploy Production-Ready Software. Pragmatic Bookshelf, Raleigh (2007)
Petriu, D., Shousha, C., Jalnapurkar, A.: Architecture-based performance analysis applied to a telecommunication system. IEEE Trans. Softw. Eng. 26(11), 1049–1065 (2000)
Pitakrat, T., Okanović, D., van Hoorn, A., Grunske, L.: Hora: architecture-aware online failure prediction. J. Syst. Softw. 137, 669–685 (2018)
Rago, A., Vidal, S.A., Diaz-Pace, J.A., Frank, S., van Hoorn, A.: Distributed quality-attribute optimization of software architectures. In: Proceedings of the 11th Brazilian Symposium on Software Components, Architectures and Reuse, SBCARS 2017, pp. 7:1–7:10. ACM (2017)
Raj, P., Raman, A., Subramanian, H.: Architectural Patterns: Uncover Essential Patterns in the Most Indispensable Realm. Packt Publishing, Birmingham (December 2017)
Richardson, C.: Microservice architecture patterns and best practices. https://microservices.io/index.html (2019)
Sharma, V.S., Trivedi, K. S.: Architecture based analysis of performance, reliability and security of software systems. In: Proceedings of the 5th International Workshop on Software and Performance, WOSP 2005, pp. 217–227, New York, USA (2005). Association for Computing Machinery
Spitznagel, B., Garlan, D.: Architecture-based performance analysis. In: Proceedings of the 1998 Conference on Software Engineering and Knowledge Engineering. Carnegie Mellon University (June 1998)
Sukwong, O., Sangpetch, A., Kim, H.S.: SageShift: managing SLAs for highly consolidated cloud. In: 2012 Proceedings IEEE INFOCOM, pp. 208–216 (2012)
Trivedi, K.S., Bobbio, A.: Reliability and Availability Engineering: Modeling, Analysis, and Applications. Oxford University Press, Oxford (2017)
Wang, L., Bai, X., Zhou, L., Chen, Y.: A hierarchical reliability model of service-based software system. In: 2009 33rd Annual IEEE International Computer Software and Applications Conference. vol. 1, pp. 199–208, July 2009
Zhang, F., Tang, X., Li, X., Khan, S.U., Li, Z.: Quantifying cloud elasticity with container-based autoscaling. Future Gener. Comput. Syst. 98, 672–681 (2019)
Zheng, Z., Lyu, M.R.: Collaborative reliability prediction of service-oriented systems. In: 2010 ACM/IEEE 32nd International Conference on Software Engineering. vol. 1, pp. 35–44, May 2010
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
Cite this paper
Amiri, A., Zdun, U. (2023). Tool Support for the Adaptation of Quality of Service Trade-Offs in Service- and Cloud-Based Dynamic Routing Architectures. In: Tekinerdogan, B., Trubiani, C., Tibermacine, C., Scandurra, P., Cuesta, C.E. (eds) Software Architecture. ECSA 2023. Lecture Notes in Computer Science, vol 14212. Springer, Cham. https://doi.org/10.1007/978-3-031-42592-9_2
Download citation
DOI: https://doi.org/10.1007/978-3-031-42592-9_2
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-42591-2
Online ISBN: 978-3-031-42592-9
eBook Packages: Computer ScienceComputer Science (R0)