Towards a pattern language for self-adaptation of cloud-based architectures

  • Authors:
  • Aakash Ahmad;Muhammad Ali Babar

  • Affiliations:
  • IT University of Copenhagen, Denmark;University of Adelaide, Australia and IT University of Copenhagen, Denmark

  • Venue:
  • Proceedings of the WICSA 2014 Companion Volume
  • Year:
  • 2014

Quantified Score

Hi-index 0.00

Visualization

Abstract

Cloud computing enables organisations to deploy their software systems over a pool of available services -- exploiting pay-per-use models -- rather than upfront purchase of an overprovisioned infrastructure. In an architectural context for cloud systems that demand elasticity in terms of service availability, reliability, and efficiency, there is a need to capitalise on the 'build-once, use-often' solutions that support reuse-driven self-adaptations of cloud-based architectures. We support the composition and application of a pattern language that exploits adaptation patterns and their relations to support 'adaptation-off-the-shelf' for cloud-based software architectures. We unify the concepts of software repository mining and software evolution to support the composition and application of an adaptation pattern language. First, we exploit the software repository mining concepts by investigating adaptation logs to empirically discover architecture adaptation patterns and their relations. Second, we utilise the software evolution techniques for self-adaptation of cloud architectures guided by a systematic selection and application of adaptation patterns. In the context of the IBM'S MAPE-K model for self-adaptation, we propose reusable policies for self-adaptive cloud architectures. Architectural adaptation knowledge in the proposed pattern language is expressed as a formalised collection of interconnected-patterns. Individual patterns in the language build on each other to provide a generic and reusable solution to address the recurring adaptation problems. In future, we focus on an incremental evolution of pattern language by discovering new patterns from adaptation logs over time.