Envisage: Engineering Virtualized Servicesenvisage-project.eu/.../WP1-T1.3-Review_Zavattaro.pdf ·...
Transcript of Envisage: Engineering Virtualized Servicesenvisage-project.eu/.../WP1-T1.3-Review_Zavattaro.pdf ·...
![Page 1: Envisage: Engineering Virtualized Servicesenvisage-project.eu/.../WP1-T1.3-Review_Zavattaro.pdf · - Given a set of ABS classes (enriched with deployment information)- Given a “declarative”](https://reader033.fdocuments.in/reader033/viewer/2022042914/5f4fa54492c6d838603b1433/html5/thumbnails/1.jpg)
Envisage: Engineering Virtualized ServicesD1.3.1 — Modeling of Deployment (Initial Report)
Presenter: !Behrooz Nobakht���[email protected]
Envisage Year 2 Project Review Brussels, Dec. 1, 2015
http://www.envisage-project.eu
Deliverable responsibility: ���BOL (Gianluigi Zavattaro) ���
![Page 2: Envisage: Engineering Virtualized Servicesenvisage-project.eu/.../WP1-T1.3-Review_Zavattaro.pdf · - Given a set of ABS classes (enriched with deployment information)- Given a “declarative”](https://reader033.fdocuments.in/reader033/viewer/2022042914/5f4fa54492c6d838603b1433/html5/thumbnails/2.jpg)
Behrooz Nobakht (FRH) Envisage Brussels 1.12.2015
T1.3 – from the DoW
2
This task formalizes deployment models for virtualized architectures and addresses objective O1.3
O1.3: Formal models of virtualized architectures !
These models will be described in terms of combinations of several features: the amount of processing or memory resources allocated to abstract virtual machines, best and worst execution times, the choice of application-level scheduling policies for client requests, and the distribution over different abstract virtual machines
![Page 3: Envisage: Engineering Virtualized Servicesenvisage-project.eu/.../WP1-T1.3-Review_Zavattaro.pdf · - Given a set of ABS classes (enriched with deployment information)- Given a “declarative”](https://reader033.fdocuments.in/reader033/viewer/2022042914/5f4fa54492c6d838603b1433/html5/thumbnails/3.jpg)
Behrooz Nobakht (FRH) Envisage Brussels 1.12.2015
T1.3 – from the DoW
This task formalizes deployment models for virtualized architectures and addresses objective O1.3
O1.3: Formal models of virtualized architectures !
These models will be described in terms of combinations of several features: the amount of processing or memory resources allocated to abstract virtual machines, best and worst execution times, the choice of application-level scheduling policies for client requests, and the distribution over different abstract virtual machines
3
Done in collaboration with T1.2 ���(see D1.2.1 “modeling of resources”)
![Page 4: Envisage: Engineering Virtualized Servicesenvisage-project.eu/.../WP1-T1.3-Review_Zavattaro.pdf · - Given a set of ABS classes (enriched with deployment information)- Given a “declarative”](https://reader033.fdocuments.in/reader033/viewer/2022042914/5f4fa54492c6d838603b1433/html5/thumbnails/4.jpg)
Behrooz Nobakht (FRH) Envisage Brussels 1.12.2015
T1.3 – from the DoW
This task formalizes deployment models for virtualized architectures and addresses objective O1.3
O1.3: Formal models of virtualized architectures !
These models will be described in terms of combinations of several features: the amount of processing or memory resources allocated to abstract virtual machines, best and worst execution times, the choice of application-level scheduling policies for client requests, and the distribution over different abstract virtual machines
4
This deliverable ���(see the remainder of this presentation)
![Page 5: Envisage: Engineering Virtualized Servicesenvisage-project.eu/.../WP1-T1.3-Review_Zavattaro.pdf · - Given a set of ABS classes (enriched with deployment information)- Given a “declarative”](https://reader033.fdocuments.in/reader033/viewer/2022042914/5f4fa54492c6d838603b1433/html5/thumbnails/5.jpg)
Behrooz Nobakht (FRH) Envisage Brussels 1.12.2015
T1.3 – from the DoW
This task formalizes deployment models for virtualized architectures and addresses objective O1.3
O1.3: Formal models of virtualized architectures !
These models will be described in terms of combinations of several features: the amount of processing or memory resources allocated to abstract virtual machines, best and worst execution times, the choice of application-level scheduling policies for client requests, and the distribution over different abstract virtual machines
5
Initiated in this deliverable ���(to be completed in D1.3.2… see next review)
![Page 6: Envisage: Engineering Virtualized Servicesenvisage-project.eu/.../WP1-T1.3-Review_Zavattaro.pdf · - Given a set of ABS classes (enriched with deployment information)- Given a “declarative”](https://reader033.fdocuments.in/reader033/viewer/2022042914/5f4fa54492c6d838603b1433/html5/thumbnails/6.jpg)
Behrooz Nobakht (FRH) Envisage Brussels 1.12.2015
The “deployment problem”
- When a cloud application must be deployed it is necessary to:
1. Select the software components to be used
6
![Page 7: Envisage: Engineering Virtualized Servicesenvisage-project.eu/.../WP1-T1.3-Review_Zavattaro.pdf · - Given a set of ABS classes (enriched with deployment information)- Given a “declarative”](https://reader033.fdocuments.in/reader033/viewer/2022042914/5f4fa54492c6d838603b1433/html5/thumbnails/7.jpg)
Behrooz Nobakht (FRH) Envisage Brussels 1.12.2015
The “deployment problem”
- When a cloud application must be deployed it is necessary to:
2. Define the software architecture (relationships among components)
7
![Page 8: Envisage: Engineering Virtualized Servicesenvisage-project.eu/.../WP1-T1.3-Review_Zavattaro.pdf · - Given a set of ABS classes (enriched with deployment information)- Given a “declarative”](https://reader033.fdocuments.in/reader033/viewer/2022042914/5f4fa54492c6d838603b1433/html5/thumbnails/8.jpg)
Behrooz Nobakht (FRH) Envisage Brussels 1.12.2015
The “deployment problem”
- When a cloud application must be deployed it is necessary to:
3. Acquire the virtual machines to realize the software architecture
8
![Page 9: Envisage: Engineering Virtualized Servicesenvisage-project.eu/.../WP1-T1.3-Review_Zavattaro.pdf · - Given a set of ABS classes (enriched with deployment information)- Given a “declarative”](https://reader033.fdocuments.in/reader033/viewer/2022042914/5f4fa54492c6d838603b1433/html5/thumbnails/9.jpg)
Behrooz Nobakht (FRH) Envisage Brussels 1.12.2015
A “deployed application” in ABS
- Virtual machines deployment components ���(small and large with their type/memory/CPU in the example)
9
DeploymentComponent small = new DeploymentComponent ("m1”,map[Pair(Memory,500), Pair(CPU,1)]);DeploymentComponent large = new DeploymentComponent ("m2”,map[Pair(Memory,1500), Pair(CPU,4)]);[DC: large] Service s1 = new Service();[DC: large] Service s2 = new Service();[DC: small] Balancer b = new Balancer(list[s1,s2]);
![Page 10: Envisage: Engineering Virtualized Servicesenvisage-project.eu/.../WP1-T1.3-Review_Zavattaro.pdf · - Given a set of ABS classes (enriched with deployment information)- Given a “declarative”](https://reader033.fdocuments.in/reader033/viewer/2022042914/5f4fa54492c6d838603b1433/html5/thumbnails/10.jpg)
Behrooz Nobakht (FRH) Envisage Brussels 1.12.2015
A “deployed application” in ABS
- Virtual machines deployment components ���(small and large with their type/memory/CPU in the example)
- Software components objects to be initially instantiated ���(s1, s2 and b in the example)
10
DeploymentComponent small = new DeploymentComponent ("m1”,map[Pair(Memory,500), Pair(CPU,1)]);DeploymentComponent large = new DeploymentComponent ("m2”,map[Pair(Memory,1500), Pair(CPU,4)]);[DC: large] Service s1 = new Service();[DC: large] Service s2 = new Service();[DC: small] Balancer b = new Balancer(list[s1,s2]);
![Page 11: Envisage: Engineering Virtualized Servicesenvisage-project.eu/.../WP1-T1.3-Review_Zavattaro.pdf · - Given a set of ABS classes (enriched with deployment information)- Given a “declarative”](https://reader033.fdocuments.in/reader033/viewer/2022042914/5f4fa54492c6d838603b1433/html5/thumbnails/11.jpg)
Behrooz Nobakht (FRH) Envisage Brussels 1.12.2015
A “deployed application” in ABS
- Virtual machines deployment components ���(small and large with their type/memory/CPU in the example)
- Software components objects to be initially instantiated ���(s1, s2 and b in the example)
- Relationships the instantiation parameters ���(b is the balancer of the s1 and s2 services)
11
DeploymentComponent small = new DeploymentComponent ("m1”,map[Pair(Memory,500), Pair(CPU,1)]);DeploymentComponent large = new DeploymentComponent ("m2”,map[Pair(Memory,1500), Pair(CPU,4)]);[DC: large] Service s1 = new Service();[DC: large] Service s2 = new Service();[DC: small] Balancer b = new Balancer(list[s1,s2]);
![Page 12: Envisage: Engineering Virtualized Servicesenvisage-project.eu/.../WP1-T1.3-Review_Zavattaro.pdf · - Given a set of ABS classes (enriched with deployment information)- Given a “declarative”](https://reader033.fdocuments.in/reader033/viewer/2022042914/5f4fa54492c6d838603b1433/html5/thumbnails/12.jpg)
Behrooz Nobakht (FRH) Envisage Brussels 1.12.2015
The “deployment problem” in ABS
- Current approach in ABS specifications :
- manually write the “deployed application” in a main procedure
- Main contribution of this deliverable:
- incorporation inside ABS of state-of-the-art approaches to automatically generate the main procedure
12
John A. Hewson, Paul Anderson, Andrew D. Gordon: ��� A Declarative Approach to Automated Configuration. LISA 2012: 51-66
Jeffrey Fischer, Rupak Majumdar, Shahram Esmaeilsabzali: ��� Engage: a deployment management system. PLDI 2012: 263-274
Roberto Di Cosmo, Michael Lienhardt, Ralf Treinen, Stefano Zacchiroli, Jakub Zwolakowski, ��� Antoine Eiche, Alexis Agahi: ��� Automated synthesis and deployment of cloud applications. ASE 2014: 211-222
![Page 13: Envisage: Engineering Virtualized Servicesenvisage-project.eu/.../WP1-T1.3-Review_Zavattaro.pdf · - Given a set of ABS classes (enriched with deployment information)- Given a “declarative”](https://reader033.fdocuments.in/reader033/viewer/2022042914/5f4fa54492c6d838603b1433/html5/thumbnails/13.jpg)
Behrooz Nobakht (FRH) Envisage Brussels 1.12.2015
The “deployment problem” in ABS
- Given a set of ABS classes (enriched with deployment information)
13
[Deploy: scenario[ MaxUse(1), Cost("CPU", 1), Cost("Memory", 400), Param("c", Default("CustomerX")), Param("ds", Req)]]class QueryServiceImpl (DeploymentService ds, Customer c)
![Page 14: Envisage: Engineering Virtualized Servicesenvisage-project.eu/.../WP1-T1.3-Review_Zavattaro.pdf · - Given a set of ABS classes (enriched with deployment information)- Given a “declarative”](https://reader033.fdocuments.in/reader033/viewer/2022042914/5f4fa54492c6d838603b1433/html5/thumbnails/14.jpg)
Behrooz Nobakht (FRH) Envisage Brussels 1.12.2015
The “deployment problem” in ABS
- Given a set of ABS classes (enriched with deployment information)
14
[Deploy: scenario[ MaxUse(1), Cost("CPU", 1), Cost("Memory", 400), Param("c", Default("CustomerX")), Param("ds", Req)]]class QueryServiceImpl (DeploymentService ds, Customer c)
Resource consumptionFunctional dependencies
![Page 15: Envisage: Engineering Virtualized Servicesenvisage-project.eu/.../WP1-T1.3-Review_Zavattaro.pdf · - Given a set of ABS classes (enriched with deployment information)- Given a “declarative”](https://reader033.fdocuments.in/reader033/viewer/2022042914/5f4fa54492c6d838603b1433/html5/thumbnails/15.jpg)
Behrooz Nobakht (FRH) Envisage Brussels 1.12.2015
The “deployment problem” in ABS
- Given a set of ABS classes (enriched with deployment information)
- Given a “declarative” specification of the desired application
15
INTERFACE[IQueryService] >= 2 and CLASS[PlatformServiceImpl] = 1 and
DC[ CLASS[QueryServiceImpl] > 0 and CLASS[DeploymentServiceImpl] = 0 ] = 0
![Page 16: Envisage: Engineering Virtualized Servicesenvisage-project.eu/.../WP1-T1.3-Review_Zavattaro.pdf · - Given a set of ABS classes (enriched with deployment information)- Given a “declarative”](https://reader033.fdocuments.in/reader033/viewer/2022042914/5f4fa54492c6d838603b1433/html5/thumbnails/16.jpg)
Behrooz Nobakht (FRH) Envisage Brussels 1.12.2015
The “deployment problem” in ABS
- Given a set of ABS classes (enriched with deployment information)
- Given a “declarative” specification of the desired application
16
INTERFACE[IQueryService] >= 2 and CLASS[PlatformServiceImpl] = 1 and
DC[ CLASS[QueryServiceImpl] > 0 and CLASS[DeploymentServiceImpl] = 0 ] = 0
Constraints on the initial objects
Co-installability requirement
![Page 17: Envisage: Engineering Virtualized Servicesenvisage-project.eu/.../WP1-T1.3-Review_Zavattaro.pdf · - Given a set of ABS classes (enriched with deployment information)- Given a “declarative”](https://reader033.fdocuments.in/reader033/viewer/2022042914/5f4fa54492c6d838603b1433/html5/thumbnails/17.jpg)
Behrooz Nobakht (FRH) Envisage Brussels 1.12.2015
The “deployment problem” in ABS
- Given a set of ABS classes (enriched with deployment information)
- Given a “declarative” specification of the desired application
- Given a set of available virtual machines!
!
17
{ "DC_description": [ { "name" : "c3.large", "cost" : 105, "provide_resources" : {"CPU" : 2, "Memory" : 375} }, { "name" : "c3.xlarge", "cost" : 210 "provide_resources" : {"CPU" : 4, "Memory" : 750} } ], "DC_availability": { "c3.large" : 5, "c3.xlarge" : 3 } }
![Page 18: Envisage: Engineering Virtualized Servicesenvisage-project.eu/.../WP1-T1.3-Review_Zavattaro.pdf · - Given a set of ABS classes (enriched with deployment information)- Given a “declarative”](https://reader033.fdocuments.in/reader033/viewer/2022042914/5f4fa54492c6d838603b1433/html5/thumbnails/18.jpg)
Behrooz Nobakht (FRH) Envisage Brussels 1.12.2015
The “deployment problem” in ABS
- Given a set of ABS classes (enriched with deployment information)
- Given a “declarative” specification of the desired application
- Given a set of available virtual machines!
!
18
{ "DC_description": [ { "name" : "c3.large", "cost" : 105, "provide_resources" : {"CPU" : 2, "Memory" : 375} }, { "name" : "c3.xlarge", "cost" : 210 "provide_resources" : {"CPU" : 4, "Memory" : 750} } ], "DC_availability": { "c3.large" : 5, "c3.xlarge" : 3 } }
Types of machines
Maximal amount of available instances
![Page 19: Envisage: Engineering Virtualized Servicesenvisage-project.eu/.../WP1-T1.3-Review_Zavattaro.pdf · - Given a set of ABS classes (enriched with deployment information)- Given a “declarative”](https://reader033.fdocuments.in/reader033/viewer/2022042914/5f4fa54492c6d838603b1433/html5/thumbnails/19.jpg)
Behrooz Nobakht (FRH) Envisage Brussels 1.12.2015
The “deployment problem” in ABS
- Given a set of ABS classes (enriched with deployment information)
- Given a “declarative” specification of the desired application
- Given a set of available virtual machines!
Compute the “optimal” deployment !
19
DeploymentComponent m1.large_1 = new DeploymentComponent("m1.large_1", map[Pair(Memory,750), Pair(CPU,2)]);DeploymentComponent m1.large_2 = new DeploymentComponent("m1.large_2", map[Pair(Memory,750), Pair(CPU,2)]);DeploymentComponent m1.xlarge_1 = new DeploymentComponent("m1.xlarge_1", map[Pair(Memory,1500), Pair(CPU,4)]);DeploymentComponent m1.xlarge_2 = new DeploymentComponent("m1.xlarge_2", map[Pair(Memory,1500), Pair(CPU,4)]);DeploymentComponent amazon_internals = new DeploymentComponent("amazon_internals", map[]);
[DC: amazon_internals] InfrastructureService o1 = new InfrastructureServiceImpl();[DC: m1.xlarge_1] LoadBalancerService o2 = new LoadBalancerServiceImpl();[DC: m1.large_1] DeploymentService o3 = new DeploymentServiceImpl(o1);[DC: m1.large_2] DeploymentService o4 = new DeploymentServiceImpl(o1);[DC: m1.xlarge_2] MonitorPlatformService o5 = new PlatformServiceImpl(list[o3,o4], o2);[DC: m1.large_2] IQueryService o6 = new QueryServiceImpl(o4, CustomerX);[DC: m1.large_1] IQueryService o7 = new QueryServiceImpl(o3, CustomerX);[DC: m1.xlarge_2] ServiceProvider o8 = new ServiceProviderImpl(o5, o2);
![Page 20: Envisage: Engineering Virtualized Servicesenvisage-project.eu/.../WP1-T1.3-Review_Zavattaro.pdf · - Given a set of ABS classes (enriched with deployment information)- Given a “declarative”](https://reader033.fdocuments.in/reader033/viewer/2022042914/5f4fa54492c6d838603b1433/html5/thumbnails/20.jpg)
Behrooz Nobakht (FRH) Envisage Brussels 1.12.2015
The “deployment problem” in ABS
- Given a set of ABS classes (enriched with deployment information)
- Given a “declarative” specification of the desired application
- Given a set of available virtual machines!
Compute the “optimal” deployment !
20
DeploymentComponent m1.large_1 = new DeploymentComponent("m1.large_1", map[Pair(Memory,750), Pair(CPU,2)]);DeploymentComponent m1.large_2 = new DeploymentComponent("m1.large_2", map[Pair(Memory,750), Pair(CPU,2)]);DeploymentComponent m1.xlarge_1 = new DeploymentComponent("m1.xlarge_1", map[Pair(Memory,1500), Pair(CPU,4)]);DeploymentComponent m1.xlarge_2 = new DeploymentComponent("m1.xlarge_2", map[Pair(Memory,1500), Pair(CPU,4)]);DeploymentComponent amazon_internals = new DeploymentComponent("amazon_internals", map[]);
[DC: amazon_internals] InfrastructureService o1 = new InfrastructureServiceImpl();[DC: m1.xlarge_1] LoadBalancerService o2 = new LoadBalancerServiceImpl();[DC: m1.large_1] DeploymentService o3 = new DeploymentServiceImpl(o1);[DC: m1.large_2] DeploymentService o4 = new DeploymentServiceImpl(o1);[DC: m1.xlarge_2] MonitorPlatformService o5 = new PlatformServiceImpl(list[o3,o4], o2);[DC: m1.large_2] IQueryService o6 = new QueryServiceImpl(o4, CustomerX);[DC: m1.large_1] IQueryService o7 = new QueryServiceImpl(o3, CustomerX);[DC: m1.xlarge_2] ServiceProvider o8 = new ServiceProviderImpl(o5, o2);
Application to the FRH case study
![Page 21: Envisage: Engineering Virtualized Servicesenvisage-project.eu/.../WP1-T1.3-Review_Zavattaro.pdf · - Given a set of ABS classes (enriched with deployment information)- Given a “declarative”](https://reader033.fdocuments.in/reader033/viewer/2022042914/5f4fa54492c6d838603b1433/html5/thumbnails/21.jpg)
Behrooz Nobakht (FRH) Envisage Brussels 1.12.2015
The “deployment problem” in FRH case study
- Fredhopper Cloud Services: customizable web shop platform!
- Considered problem: deploy an appropriate number of service instances, on cloud premises, minimasing the total cost
21
Service EndpointService Endpoint
Infrastructure
Platform Service
Service Instance
Load Balancing Service
Monitoring/AlertingService
Service Endpoint
Service Instance
Service Instance
Service Instance
Deployment Service
Service APIs
Fredhopper Cloud Service
Cloud Provider
Consumes Provides
CustomersCustomers
![Page 22: Envisage: Engineering Virtualized Servicesenvisage-project.eu/.../WP1-T1.3-Review_Zavattaro.pdf · - Given a set of ABS classes (enriched with deployment information)- Given a “declarative”](https://reader033.fdocuments.in/reader033/viewer/2022042914/5f4fa54492c6d838603b1433/html5/thumbnails/22.jpg)
Behrooz Nobakht (FRH) Envisage Brussels 1.12.2015
The “deployment problem” in FRH case study
22
INPUT: !
- Specification in ABS already available: ���
Class declarations annotated !with deployment information
- Declarative description of the desired deployment
- Description of the available machines (enriched with costs)
![Page 23: Envisage: Engineering Virtualized Servicesenvisage-project.eu/.../WP1-T1.3-Review_Zavattaro.pdf · - Given a set of ABS classes (enriched with deployment information)- Given a “declarative”](https://reader033.fdocuments.in/reader033/viewer/2022042914/5f4fa54492c6d838603b1433/html5/thumbnails/23.jpg)
Behrooz Nobakht (FRH) Envisage Brussels 1.12.2015
The “deployment problem” in FRH case study
23
OUTPUT: !
- An optimal deployment (minimize the costs) modeled in ABS
![Page 24: Envisage: Engineering Virtualized Servicesenvisage-project.eu/.../WP1-T1.3-Review_Zavattaro.pdf · - Given a set of ABS classes (enriched with deployment information)- Given a “declarative”](https://reader033.fdocuments.in/reader033/viewer/2022042914/5f4fa54492c6d838603b1433/html5/thumbnails/24.jpg)
Behrooz Nobakht (FRH) Envisage Brussels 1.12.2015
Conclusion- We are now able to automatically generate the typical deployment ���
manually realised by the operation teams at Fredhopper Cloud Services
- Deployment tool integrated inside the ABS tools platform:
24
![Page 25: Envisage: Engineering Virtualized Servicesenvisage-project.eu/.../WP1-T1.3-Review_Zavattaro.pdf · - Given a set of ABS classes (enriched with deployment information)- Given a “declarative”](https://reader033.fdocuments.in/reader033/viewer/2022042914/5f4fa54492c6d838603b1433/html5/thumbnails/25.jpg)
Behrooz Nobakht (FRH) Envisage Brussels 1.12.2015
D1.3.1 – Modeling of Deployment
QUESTIONS
25