Master Thesis MSTR-2021-32

BibliographyMatejetz, Simon: Extending modeling concepts of OpenClams to support performance analysis with layered queuing.
University of Stuttgart, Faculty of Computer Science, Electrical Engineering, and Information Technology, Master Thesis No. 32 (2021).
65 pages, english.
Abstract

For the last couple of years, cloud computing has become a more and more prevalent topic in software engineering. The ability to deploy software on a readily provided infrastructure naturally brings many opportunities, especially for smaller businesses. Additionally, many different cloud providers offer so-called backing services. Software developers can use these services as readily available components in their applications instead of implementing their own solutions for recurring use-cases like computation or data storage. The availability of readily available application environments and backing services led to new architectural styles, like microservice and cloud-native. Instead of deploying a monolithic application in a single self-hosted environment, an application can use the advantages of cloud computing much more efficiently if its logical parts are split up into independent components. While splitting up an application into smaller components entails several advantages through the domain of cloud computing, like the possibility to scale each component’s environment up or down individually, these new architectural styles inevitably add a new layer of complexity to the system. In a monolithic application, the most critical aspect of its architecture regards the complex internal processes. In contrast, in a component-based application, each component is kept as simple and small as possible. Therefore, the main complexity stems from the interaction between these independent components instead of their internal behavior. For this reason, software architecture faces new challenges when it comes to the cloud domain when modeling these interactions between cloud components. Because of this, we need a means to model the components of a cloud application and their interactions after successful initialization. OpenClams is a cloud modeling framework developed at the University of Stuttgart that enables a cloud architect to model a component-based cloud application based on probabilistic user behavior. Further, OpenClams assists the cloud architect in deciding between different cloud offerings by comparing their cost and availability via so-called evaluation services. An application’s architecture, described with Clams, can further be analyzed and optimized for its availability and the predicted costs of the modeled application as a whole. This work further extends the modeling concepts of OpenClams, enabling a cloud architect to attach performance information in the form of annotations to cloud components and their interactions. An additional evaluation service was developed as a part of this thesis which uses these provided pieces of performance information to transform the Clams model into a Layered Queuing Network model to evaluate the approximate utilization of individual components and detect components representing possible bottlenecks in the systems architecture by using standardized tooling for analyzing Layered Queuing Networks.

Full text and
other links
Volltext
Department(s)University of Stuttgart, Institute of Parallel and Distributed Systems, Distributed Systems
Superviser(s)Rothermel, Prof. Kurt; Bibartiu, Otto
Entry dateAugust 16, 2021
   Publ. Computer Science