improving service availabiliy with rule based adaptation
play

Improving Service Availabiliy with Rule-Based Adaptation SSP 2018, - PowerPoint PPT Presentation

Improving Service Availabiliy with Rule-Based Adaptation SSP 2018, Hildesheim Marc Adolf Reiner Jung & Lars Blmke 8 th November 2018 Introduction Cloud application rely on adaptation Up- and Down-Scaling (De-)Replication


  1. Improving Service Availabiliy with Rule-Based Adaptation SSP 2018, Hildesheim Marc Adolf Reiner Jung & Lars Blümke 8 th November 2018

  2. Introduction Cloud application rely on adaptation ‚ Up- and Down-Scaling ‚ (De-)Replication ‚ Migration ‚ Reconfiguration ñ Potential information loss during scaling and reconfiguration Reiner Jung 2 / 10

  3. Example Scenarios System Border Cart A EasyPay Frontend 10.10.1.3 134.2.5.125 Database 10.10.1.2 10.10.1.4 Reiner Jung 3 / 10

  4. Example Scenarios System Border Cart A EasyPay Frontend 10.10.1.3 134.2.5.125 Database 10.10.1.2 Cart B 10.10.1.4 10.10.1.7 deploy Cart B, configure Database Reiner Jung 3 / 10

  5. Example Scenarios System Border Cart A EasyPay Frontend 10.10.1.3 134.2.5.125 Database 10.10.1.2 Cart B 10.10.1.4 10.10.1.7 transfer state Reiner Jung 3 / 10

  6. Example Scenarios System Border Cart A EasyPay Frontend 10.10.1.3 134.2.5.125 Database 10.10.1.2 Cart B 10.10.1.4 10.10.1.7 connect Cart B, update state Reiner Jung 3 / 10

  7. Example Scenarios System Border Cart A EasyPay Frontend 10.10.1.3 134.2.5.125 Database 10.10.1.2 Cart B 10.10.1.4 10.10.1.7 disconnect Cart A Reiner Jung 3 / 10

  8. Example Scenarios System Border Cart A EasyPay Frontend 10.10.1.3 134.2.5.125 Database 10.10.1.2 Cart B 10.10.1.4 10.10.1.7 Reiner Jung 3 / 10

  9. Example Scenarios System Border EasyPay Frontend 134.2.5.125 Database 10.10.1.2 Cart B 10.10.1.4 10.10.1.7 undeploy Cart A Reiner Jung 3 / 10

  10. Example Scenarios System Border EasyPay Frontend 134.2.5.125 Database 10.10.1.2 Cart B 10.10.1.4 SecuPay 10.10.1.7 104.9.4.22 configure Cart B to use SecuPay Reiner Jung 3 / 10

  11. Example Scenarios System Border EasyPay Frontend 134.2.5.125 Database 10.10.1.2 10.10.1.4 Cart B SecuPay 10.10.1.7 104.9.4.22 confiugure Cart B to no longer use EasyPay Reiner Jung 3 / 10

  12. Solution Divide adaptions actions in smaller execution actions Reiner Jung 4 / 10

  13. iObserve Application Reiner Jung 5 / 10

  14. iObserve <<service>> <<service>> Monitoring Analysis Monitoring Events TCP Application Reiner Jung 5 / 10

  15. iObserve Planning <<service>> <<service>> <<service>> <<service>> PAM PAM Monitoring Analysis Candidate Adaptation Architecture HTTP Planning Selection HTTP CAM Monitoring Events TCP Application Reiner Jung 5 / 10

  16. iObserve Planning <<service>> <<service>> <<service>> <<service>> PAM PAM Monitoring Analysis Candidate Adaptation Architecture HTTP Planning Selection HTTP CAM HTTP Ex.- CAM PAM Monitoring Events TCP Plan <<service>> Execution Application Reiner Jung 5 / 10

  17. iObserve Planning <<service>> <<service>> <<service>> <<service>> PAM PAM Monitoring Analysis Candidate Adaptation Architecture HTTP Planning Selection HTTP CAM HTTP Ex.- CAM PAM Monitoring Events TCP Plan <<service>> Execution Execute Adaptations Application Reiner Jung 5 / 10

  18. Planning Candidate Architecutre Selection PerOpteryx Model Model Runner Receiver Selection PerOpteryx Model Sender Adaptation Planning Model Palladio Execution Receiver Model Planner Model Send Reiner Jung 6 / 10

  19. Adaptation Planning Compute composed adaptation actions A B C ‚ Difference B' C' PAM vs. CAM ‚ Consider data B B B B B B C' dependencies B' B' C C C' C' B' ‚ Consider state ... C C' B' C' B' C B C' C C' B' C B' C 4! = 24 options, only two safe Reiner Jung 7 / 10

  20. Generating atomic actions Migration of B to B' A deploy B' start state sync B connect B' -> C' connect A -> B' disallow new sessions from A -> B wait for session completion C C' complete sync disconnect A -> B disconnect B -> C undeploy B Reiner Jung 8 / 10

  21. Generating atomic actions Migration of B to B' A deploy B' deploy B' start state sync B B' connect B' -> C' connect A -> B' disallow new sessions from A -> B wait for session completion C C' complete sync disconnect A -> B disconnect B -> C undeploy B Reiner Jung 8 / 10

  22. Generating atomic actions Migration of B to B' A deploy B' start state sync start state sync B B' connect B' -> C' connect A -> B' disallow new sessions from A -> B wait for session completion C C' complete sync disconnect A -> B disconnect B -> C undeploy B Reiner Jung 8 / 10

  23. Generating atomic actions Migration of B to B' A deploy B' start state sync B B' connect B' -> C' connect B' -> C' connect A -> B' connect A -> B' disallow new sessions from A -> B wait for session completion C C' complete sync disconnect A -> B disconnect B -> C undeploy B Reiner Jung 8 / 10

  24. Generating atomic actions Migration of B to B' A deploy B' start state sync B B' connect B' -> C' connect A -> B' disallow new sessions from A -> B disallow new sessions from A -> B wait for session completion wait for session completion C C' complete sync disconnect A -> B disconnect B -> C undeploy B Reiner Jung 8 / 10

  25. Generating atomic actions Migration of B to B' A deploy B' start state sync B B' connect B' -> C' connect A -> B' disallow new sessions from A -> B wait for session completion C C' complete sync complete sync disconnect A -> B disconnect B -> C undeploy B Reiner Jung 8 / 10

  26. Generating atomic actions Migration of B to B' A deploy B' start state sync B B' connect B' -> C' connect A -> B' disallow new sessions from A -> B wait for session completion C C' complete sync disconnect A -> B disconnect A -> B disconnect B -> C disconnect B -> C undeploy B Reiner Jung 8 / 10

  27. Generating atomic actions Migration of B to B' A deploy B' start state sync B' connect B' -> C' connect A -> B' disallow new sessions from A -> B wait for session completion C C' complete sync disconnect A -> B disconnect B -> C undeploy B undeploy B Reiner Jung 8 / 10

  28. Execution Service ‚ Map atomic action to cloud API calls ‚ Execute actions without violating data constraints ‚ Currently sequential execution ‚ Future concurrent execution Mapping ‚ Depends on cloud API ‚ Depends on service features ‚ State transfer ‚ Availability checks Reiner Jung 9 / 10

  29. https://github.com/research-iobserve/iobserve-analysis Conclusion Summary ‚ Introduced iObserve services for MAPE-K ‚ Candidate Selection ‚ Planning ‚ Execution ‚ Rule-based adaption with Drools Code Outlook ‚ Concurrent execution ‚ Additional atomic actions ‚ More executors supporting different techologies ‚ Use of Kieker probes to check availability of services Reiner Jung 10 / 10

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend