Model-based Performance Engineering and Management of DevOps Applications
|Typ||Bachelorarbeit oder Masterarbeit|
|Betreuer||Wenden Sie sich bei Interesse oder Fragen bitte an: |
DevOps aims to integrate both of the development (Dev) and the operations (ops) in a continuous process that responds to the changes in the business environments and ensures a constant flow of features and bug fixes into new releases. One of the most important challenges that DevOps faces is performance management. Continuous Integration of Performance Model (CIPM) is a process that aims to overcome this challenge by enabling Model-based performance prediction (MBPP) that predicts the performance with a low cost comparing to testing and allows answering what-if performance questions. CIPM responds to the Dev-changes (Source code changes) and automatically updates the PM accordingly. The update process considers not only the PM architectures but also the calibration of changed parts based on dynamic analysis using adaptive instrumentation. This can reduce modelling and monitoring effort and keep the developer aware of the impact of code changes on performance. However, CIPM does not consider the Ops-changes that cannot be foreseen during development rather run time, e.g. replicated components or new execution containers.
Another approach, iObserve, responds to the Ops-changes and uses them in both adaptation and evolution. It updates and calibrates specific parts of the PM (e.g., usage properties or deployment contexts) according to the monitoring data.
The good MbPP requires that an up-to-date PM that represents the system and the run-time environment is available. The main goal of this work is to automatically provide this model at each point of the DevOps process with a low cost comparing to similar approaches.
The thesis aims to integrate both CIPM and iObserve approaches to obtain a tool that responds to the change in both DevOps phases and keeps accordingly the PM up-to-date representing the system and the run-time environment. The main tasks are:
- Using Vitruvius platform that is used by CIPM for the consistency preservation between PM and code instead of using the run-time architecture correspondence model (RAC) that save the correspondences between the code and PM artefacts.
- Generating the all needed probes to calibrate/ update PM. In iObserve the coarse-grained probes at the service-level are needed to update the usage model. In CIPM, additional fine-grained probes are needed to monitor the changed parts of the code and calibrate the related parts in PM iteratively. This means the instrumentation has to be updated to consider the new probes.
- Checking whether an additional update for the rest components is needed (e.g. the incremental performance parameter estimation component, the self-validation component etc.).
Manar Mazkatli and Anne Koziolek. Continuous integration of performance model. In Companion of the 2018 ACM/SPEC International Conference on Performance Engineering, Berlin, Germany, 2018, ICPE '18, pages 153--158. ACM, New York, NY, USA. 2018. http
R. Heinrich, R. Jung, C. Zirkelbach, W. Hasselbring, R. Reussner;[htt ps://www.elsevier.com/books/software-architecture-for-big-data-and-the-cloud/mistrik/978-0-12-805467-3 An Architectural Model-Based Approach to Quality-aware DevOps in Cloud Applications]. In: Software Architecture for Big Data and the Cloud, Elsevier, 2017. ISBN: 9780128054673.
R. Heinrich; Architectural Run-time Models for Performance and Privacy Analysis in Dynamic Cloud Applications. ACM SIGMETRICS Performance Evaluation Review, 43(4):13-22, ACM, 2016.
R. Heinrich, R. Jung, E. Schmieders, A. Metzger, W. Hasselbring, R. Reussner, K. Pohl; Architectural Run-Time Models for Operator-in-the-Loop Adaptation of Cloud Applications, In IEEE 9th Symposium on the Maintenance and Evolution of Service-Oriented Systems and Cloud-Based Environments, IEEE, 2015.
R. Heinrich, E. Schmieders, R. Jung, K. Rostami, A. Metzger, W. Hasselbring, R. Reussner, K. Pohl; Integrating Run-time Observations and Design Component Models for Cloud System Analysis, 9th Workshop on Models@run.time, pp. 41-46, CEUR Vol-1270, 2014.
W. Hasselbring, R. Heinrich, R. Jung, A. Metzger, K. Pohl, R. Reussner, E. Schmieders; iObserve: Integrated Observation and Modeling Techniques to Support Adaptation and Evolution of Software Systems, Technical Report CAU No. 1309, 2013.