Skip to main content

Tool Support for the Adaptation of Quality of Service Trade-Offs in Service- and Cloud-Based Dynamic Routing Architectures

  • Conference paper
  • First Online:
Software Architecture (ECSA 2023)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 14212))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

Notes

  1. 1.

    https://gdpr.eu.

  2. 2.

    https://www.docker.com.

  3. 3.

    https://cloud.google.com/.

  4. 4.

    The online artifact of our study can be anonymously downloaded from https://zenodo.org/record/7944823.

  5. 5.

    https://www.gnu.org/software/bash/.

  6. 6.

    https://www.docker.com/.

  7. 7.

    https://plantuml.com/.

  8. 8.

    https://reactjs.org/.

  9. 9.

    https://nodejs.org/.

References

  1. 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)

    Google Scholar 

  2. 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)

    Article  Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

  5. 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)

    Article  Google Scholar 

  6. 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)

    Article  Google Scholar 

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

    Google Scholar 

  8. 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)

    Article  Google Scholar 

  9. 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)

    Google Scholar 

  10. Chappell, D.A.: Enterprise Service Bus. O’Reilly, Sebastopol (2004)

    Google Scholar 

  11. Cheung, R.C.: A user-oriented software reliability model. IEEE Trans. Softw. Eng. SE-6(2), 118–125 (1980)

    Google Scholar 

  12. Cortellessa, V., Di Marco, A., Inverardi, P.: Model-based software performance analysis, Springer (2011). https://doi.org/10.1007/978-3-642-13621-4

  13. 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)

    Google Scholar 

  14. 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)

    Google Scholar 

  15. Grassi, V., Patella, S.: Reliability prediction for service-oriented computing environments. IEEE Internet Comput. 10(3), 43–49 (2006)

    Article  Google Scholar 

  16. 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)

    Google Scholar 

  17. Hohpe, G., Woolf, B.: Enterprise Integration Patterns. Addison-Wesley, Boston (2003)

    Google Scholar 

  18. Homer, A., Sharp, J., Brader, L., Narumoto, M., Swanson, T.: Cloud Design Patterns. Microsoft Press (2014)

    Google Scholar 

  19. 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)

    Article  Google Scholar 

  20. 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)

    Article  Google Scholar 

  21. Kratzke, N.: About microservices, containers and their underestimated impact on network performance. arXiv preprint arXiv:1710.04049 (2017)

  22. Nygard, M.: Release It!: Design and Deploy Production-Ready Software. Pragmatic Bookshelf, Raleigh (2007)

    Google Scholar 

  23. Petriu, D., Shousha, C., Jalnapurkar, A.: Architecture-based performance analysis applied to a telecommunication system. IEEE Trans. Softw. Eng. 26(11), 1049–1065 (2000)

    Article  Google Scholar 

  24. Pitakrat, T., Okanović, D., van Hoorn, A., Grunske, L.: Hora: architecture-aware online failure prediction. J. Syst. Softw. 137, 669–685 (2018)

    Article  Google Scholar 

  25. 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)

    Google Scholar 

  26. Raj, P., Raman, A., Subramanian, H.: Architectural Patterns: Uncover Essential Patterns in the Most Indispensable Realm. Packt Publishing, Birmingham (December 2017)

    Google Scholar 

  27. Richardson, C.: Microservice architecture patterns and best practices. https://microservices.io/index.html (2019)

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

    Google Scholar 

  29. 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)

    Google Scholar 

  30. Sukwong, O., Sangpetch, A., Kim, H.S.: SageShift: managing SLAs for highly consolidated cloud. In: 2012 Proceedings IEEE INFOCOM, pp. 208–216 (2012)

    Google Scholar 

  31. Trivedi, K.S., Bobbio, A.: Reliability and Availability Engineering: Modeling, Analysis, and Applications. Oxford University Press, Oxford (2017)

    Google Scholar 

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

    Google Scholar 

  33. 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)

    Article  Google Scholar 

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

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Amirali Amiri .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics