Self-adaptive cloud-based applications Alessandro Rossini Future Internet Assembly, Athens 17 March 2014 Challenge Wed, 19 Feb Facebook acquires WhatsApp Wed, 19 Feb Facebook acquires WhatsApp Sat, 22 Feb 1.8 million users register to Telegram… Wed, 19 Feb Facebook acquires WhatsApp Sat, 22 Feb 1.8 million users register to Telegram… …and Telegram crashes… Self-adaptive cloud-based applications Cloud-based applications that self-adapt to changes in environment and requirements Self-adaptive cloud-based applications Cloud-based applications that self-adapt to changes in environment and requirements Dynamically adaptive systems • Continuous design and adaptation • Short-term changes in execution environment • Long-term changes in system requirements Cloud-based applications Cloud-based applications IaaS Virtualisation Servers Storage Network Cloud-based applications Run-time OS IaaS PaaS Virtualisation Servers Storage Network Cloud-based applications Applications Data Run-time SaaS OS IaaS PaaS Virtualisation Servers Storage Network SensApp example Design-time deployment model Notifier [elasticity: 1..4 response time < 50ms] Tomcat:SC SL:VM Flexiant [location: UK] Dispatcher [elasticity: 1..8] MongoDB [elasticity: 1..8] Tomcat:SC LL:VM SINTEF (OpenStack) [location: NO] VM: Virtual machine SC: Servlet container LB: Load balancer SL: Small GNU/Linux ML: Medium GNU/Linux LL: Large GNU/Linux Run-time deployment model 1:Notifier LB [response time = 20ms] 2:Tomcat 1:SL Flexiant [location: UK] 1:Dispatcher LB 1:MongoDB LB 2:MongoDB 1:Tomcat 1:LL SINTEF (OpenStack) [location: NO] VM: Virtual machine SC: Servlet container LB: Load balancer SL: Small GNU/Linux ML: Medium GNU/Linux LL: Large GNU/Linux Run-time deployment model 1:Notifier LB [response time = 80ms] 2:Tomcat 1:SL Flexiant [location: UK] 1:Dispatcher LB 1:MongoDB LB 2:MongoDB 1:Tomcat 1:LL SINTEF (OpenStack) [location: NO] VM: Virtual machine SC: Servlet container LB: Load balancer SL: Small GNU/Linux ML: Medium GNU/Linux LL: Large GNU/Linux Run-time deployment model 1:Notifier [response time = 80ms] LB 2:Tomcat 1:SL Flexiant [location: UK] 1:Dispatcher 2:Dispatcher LB 1:Tomcat 1:MongoDB LB 2:MongoDB 3:Tomcat 1:LL SINTEF (OpenStack) [location: NO] VM: Virtual machine SC: Servlet container LB: Load balancer SL: Small GNU/Linux ML: Medium GNU/Linux LL: Large GNU/Linux Run-time deployment model 1:Notifier 2:Notifier [response time = 20ms] LB 2:Tomcat 4:Tomcat 1:SL Flexiant [location: UK] 1:Dispatcher 2:Dispatcher LB 1:Tomcat 1:MongoDB LB 2:MongoDB 3:Tomcat 1:LL SINTEF (OpenStack) [location: NO] VM: Virtual machine SC: Servlet container LB: Load balancer SL: Small GNU/Linux ML: Medium GNU/Linux LL: Large GNU/Linux Models@run-time Models@run-time Current model Reasoning engine Models@run-time Current model Reasoning engine Target model Models@run-time Current model Reasoning engine Target model Models@run-time Diff Current model Reasoning engine Target model Models@run-time Diff Current model Adaptation engine Reasoning engine Target model Models@run-time Diff Adaptation engine Current model Execution environments Reasoning engine Target model Models@run-time Diff Adaptation engine Current model Execution environments PaaSage platform Cloud-based application PaaSage platform Cloud-based application PaaSage platform Cloud-based application CAMEL • Provisioning and deployment model • Requirements and constraints • Service-level objectives • Scalability rules PaaSage platform Cloud-based application CAMEL • Provisioning and deployment model • Requirements and constraints • Service-level objectives • Scalability rules Profiler Design-time optimisation loop Reasoner Adapter PaaSage platform Cloud-based application CAMEL • Provisioning and deployment model • Requirements and constraints • Service-level objectives • Scalability rules Profiler Design-time optimisation loop Reasoner Adapter Execution monitoring Platform specific mapping Run-time optimisation loop Execution control Execution environments Cloud-based application Metadata sharing CAMEL • Provisioning and deployment model • Requirements and constraints • Service-level objectives • Scalability rules Profiler Run-time optimisation loop Execution control Design-time optimisation loop Reasoner Adapter Metadata collection Execution monitoring Platform specific mapping Execution environments Metadata PaaSage platform Social network Cloud Application Modelling and Execution Language (CAMEL) • • • • • • Saloon WS-Agreement Scalability Rule Language CERIF … Thank you! More info: paasage.eu Get in touch: @alerossini alessandrorossini.org
© Copyright 2024 ExpyDoc