Search-Based Genetic Optimization for Deployment and Reconfiguration of Software in the Cloud 35th International Conference on Software Engineering (ICSE 2013) San Francisco, CA, USA Sören Frey, Florian Fittkau, and Wilhelm Hasselbring Software Engineering Group Dept. Computer Science Kiel University, Kiel, Germany May 23, 2013 S. Frey, F. Fittkau, and W. Hasselbring Optimizing the Deployment of Software in the Cloud May 23, 2013 1 / 20
Migrating Software to the Cloud Huge Variety of Cloud Deployment Options Motivation IEEE Software “Deploying and migrating software applications March/ April 2012 to the cloud involves many combinations of options that vary widely in their characteristics and performances , from different combinations of CPU, memory, storage, and network options to IT resource management services, to algorithms that can perform dynamic resource scaling. Developing software systems and choosing the most suitable cloud deployment option using these heterogeneous resources is both nontrivial and difficult [...]” ⇒ Impractical to incorporate all cloud environments in an actual comparison. [Grundy et al., 2012] S. Frey, F. Fittkau, and W. Hasselbring Optimizing the Deployment of Software in the Cloud May 23, 2013 2 / 20
Simple Cloud Deployment Option Example (No reconfiguration rules, for simplicity) Motivation On premise deployment (Status quo deployment) On-Premise Server 0 <<component>> Functionality A <<component>> <<component>> Functionality B Functionality C On-Premise Server 1 <<component>> Functionality E <<component>> Functionality D On-Premise Server 2 <<component>> <<component>> Functionality F Functionality G <<component>> Functionality H S. Frey, F. Fittkau, and W. Hasselbring Optimizing the Deployment of Software in the Cloud May 23, 2013 3 / 20
Simple Cloud Deployment Option Example (No reconfiguration rules, for simplicity) Motivation On premise deployment Cloud Deployment Options (CDOs): (Status quo deployment) Cloud environment to use Cloud Environment? On-Premise Server 0 <<component>> Functionality A - Amazon EC2 - BitRefinery - CloudSigma <<component>> <<component>> Functionality B Functionality C - Enomaly - GoGrid - Hosting.com On-Premise Server 1 - HP Cloud Compute <<component>> - IBM SmartCloud Functionality E - Joyent <<component>> Functionality D - Lunacloud - NephoScale - OpSource - Rackspace On-Premise Server 2 - ReliaCloud <<component>> <<component>> Functionality F Functionality G - Softlayer - Terremark Enterprise Cloud <<component>> Functionality H ... S. Frey, F. Fittkau, and W. Hasselbring Optimizing the Deployment of Software in the Cloud May 23, 2013 3 / 20
Simple Cloud Deployment Option Example (No reconfiguration rules, for simplicity) Motivation On premise deployment Cloud Deployment Options (CDOs): (Status quo deployment) By chance Cloud Environment? On-Premise Server 0 <<component>> Functionality A - Amazon EC2 - BitRefinery - CloudSigma <<component>> <<component>> Functionality B Functionality C - Enomaly - GoGrid - Hosting.com On-Premise Server 1 - HP Cloud Compute <<component>> - IBM SmartCloud Functionality E - Joyent <<component>> Functionality D - Lunacloud - NephoScale - OpSource - Rackspace On-Premise Server 2 - ReliaCloud <<component>> <<component>> Functionality F Functionality G - Softlayer - Terremark Enterprise Cloud <<component>> Functionality H ... S. Frey, F. Fittkau, and W. Hasselbring Optimizing the Deployment of Software in the Cloud May 23, 2013 3 / 20
Simple Cloud Deployment Option Example (No reconfiguration rules, for simplicity) Motivation On premise deployment Cloud Deployment Options (CDOs): (Status quo deployment) Number of VM instances <<VM instance>> On-Premise Server 0 <<component>> Functionality A <<component>> <<component>> Functionality B Functionality C On-Premise Server 1 <<VM instance>> <<component>> Functionality E <<component>> Functionality D On-Premise Server 2 <<component>> <<component>> Functionality F Functionality G <<component>> Functionality H S. Frey, F. Fittkau, and W. Hasselbring Optimizing the Deployment of Software in the Cloud May 23, 2013 3 / 20
Simple Cloud Deployment Option Example (No reconfiguration rules, for simplicity) Motivation On premise deployment Cloud Deployment Options (CDOs): (Status quo deployment) VM instance types to use <<VM instance>> On-Premise Server 0 m1.medium <<component>> Functionality A <<component>> <<component>> Functionality B Functionality C On-Premise Server 1 <<VM instance>> m1.large <<component>> Functionality E <<component>> Functionality D On-Premise Server 2 <<component>> <<component>> Functionality F Functionality G <<component>> Functionality H S. Frey, F. Fittkau, and W. Hasselbring Optimizing the Deployment of Software in the Cloud May 23, 2013 3 / 20
Simple Cloud Deployment Option Example (No reconfiguration rules, for simplicity) Motivation On premise deployment Cloud Deployment Options (CDOs): (Status quo deployment) Mapping of components to VM images <<VM instance>> On-Premise Server 0 m1.medium <<component>> <<component>> Service 0 Functionality A <<component>> Functionality A <<component>> <<component>> Functionality B Functionality C <<component>> <<component>> Functionality B Functionality C On-Premise Server 1 <<VM instance>> m1.large <<component>> Functionality E <<component>> Service 1 <<component>> <<component>> Functionality E Functionality D <<component>> Functionality D <<component>> On-Premise Server 2 Service 2 <<component>> <<component>> <<component>> <<component>> Functionality F Functionality G Functionality F Functionality G <<component>> <<component>> Functionality H Functionality H S. Frey, F. Fittkau, and W. Hasselbring Optimizing the Deployment of Software in the Cloud May 23, 2013 3 / 20
Huge Variety of Cloud Deployment Options Motivation So, which Cloud Deployment Option (CDO) to use? A CDO defines: • Cloud environment to use • Number of VM instances to start • VM instance types to use • Mapping of software components to VM images • Runtime reconfiguration rules S. Frey, F. Fittkau, and W. Hasselbring Optimizing the Deployment of Software in the Cloud May 23, 2013 4 / 20
Huge Variety of Cloud Deployment Options Motivation So, which Cloud Deployment Option (CDO) to use? A CDO defines: • Cloud environment to use • Number of VM instances to start • VM instance types to use • Mapping of software components to VM images • Runtime reconfiguration rules Example runtime reconfiguration rule: Start R 1 = 2 new VM instances of VM instance type R 2 = m 1 . medium if average CPU utilization ≥ R 3 = 80 % for R 4 = 5 minutes. S. Frey, F. Fittkau, and W. Hasselbring Optimizing the Deployment of Software in the Cloud May 23, 2013 4 / 20
Huge Variety of Cloud Deployment Options Motivation So, which Cloud Deployment Option (CDO) to use? A CDO defines: • Cloud environment to use • Number of VM instances to start • VM instance types to use • Mapping of software components to VM images • Runtime reconfiguration rules Example runtime reconfiguration rule: Start R 1 = 2 new VM instances of VM instance type R 2 = m 1 . medium if average CPU utilization ≥ R 3 = 80 % for R 4 = 5 minutes. Which are the best suited values for R 1 , R 2 , R 3 , and R 4 ? S. Frey, F. Fittkau, and W. Hasselbring Optimizing the Deployment of Software in the Cloud May 23, 2013 4 / 20
Outline Motivation Motivation 1 Project Context 2 CDOXplorer 3 Experiments 4 Conclusion 5 S. Frey, F. Fittkau, and W. Hasselbring Optimizing the Deployment of Software in the Cloud May 23, 2013 5 / 20
Outline Project Context Motivation 1 Project Context 2 CDOXplorer 3 Experiments 4 Conclusion 5 S. Frey, F. Fittkau, and W. Hasselbring Optimizing the Deployment of Software in the Cloud May 23, 2013 5 / 20
A4,A3 A6 A3 Optional A5 Rating A B C Migrated Constraint System A4,A3 Legend: A1: Extraction A2: Selection A3: Generation A4: Adaptation Violations ? A6: Transformation Utilization Mandatory Existing System A2 Actual Architecture A1 Model ? Cloud Environment Model Target Architecture Mapping Model A1 A5: Evaluation The CloudMIG Method [Frey and Hasselbring, 2011] Project Context S. Frey, F. Fittkau, and W. Hasselbring Optimizing the Deployment of Software in the Cloud May 23, 2013 5 / 20
Recommend
More recommend