SlideShare a Scribd company logo
1 of 33
Download to read offline
Reliable Software Systems
Towards Generating
Elastic Microservices:
A Declarative Specification for
Consistent Elasticity
Configurations
Floriment Klinaku, Vincenzo Ferme
Elastic Microservice
0/s
10/s
20/s
30/s
40/s
Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue
50/s
60/s
Time
Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 230.08.18
Arrival rate (req/sec)
Elastic Microservice
0/s
10/s
20/s
30/s
40/s
Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue
0
1
2
3
4
5
6
50/s
60/s
Time
Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 230.08.18
# of containersArrival rate (req/sec)
Elastic Microservice
Adaptation
process
# of containers
0/s
10/s
20/s
30/s
40/s
Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue
0
1
2
3
4
5
6
Arrival rate (req/sec)
50/s
60/s
Time
Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 230.08.18
Elastic Microservice
Adaptation
process
0/s
10/s
20/s
30/s
40/s
Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue
0
1
2
3
4
5
6
50/s
60/s
Time
Elasticity
configurations
replicas: 4
time: Thu
Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 230.08.18
# of containersArrival rate (req/sec)
Elastic Microservice
Adaptation
process
0/s
10/s
20/s
30/s
40/s
Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue
0
1
2
3
4
5
6
50/s
60/s
Time
Elasticity
configurations
Elasticity
requirements
replicas: 4
time: Thu
Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 230.08.18
# of containersArrival rate (req/sec)
Elastic Microservice
Adaptation
processfaster
algorithm
0/s
10/s
20/s
30/s
40/s
Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue
0
1
2
3
4
5
6
50/s
60/s
Time
Elasticity
configurations
Elasticity
requirements
replicas: 4
time: Thu
Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 230.08.18
# of containersArrival rate (req/sec)
Elastic Microservice
Adaptation
processfaster
algorithm
0/s
10/s
20/s
30/s
40/s
Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue
0
1
2
3
4
5
6
50/s
60/s
Time
Elasticity
configurations
replicas: 4
time: Thu
Elasticity
requirements
Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 230.08.18
# of containersArrival rate (req/sec)
Elastic Microservice
Adaptation
processfaster
algorithm
0/s
10/s
20/s
30/s
40/s
Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue
0
1
2
3
4
5
6
Arrival rate
50/s
60/s
Time
Elasticity
configurations
replicas: 4
time: Thu
Elasticity
requirements
Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 230.08.18
# of containers
Towards Generating Elastic Microservices
30.08.18Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 3
replicas: 4
time: Thu
replicas: 4
time: Thu
?
Towards Generating Elastic Microservices
30.08.18Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 3
replicas: 4
time: Thu
replicas: 4
time: Thu
?
Towards Generating Elastic Microservices
30.08.18Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 3
replicas: 4
time: Thu
replicas: 4
time: Thu
?
replicas: 3
time: Thu
Towards Generating Elastic Microservices
30.08.18Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 3
replicas: 4
time: Thu
replicas: 4
time: Thu
?
replicas: 3
time: Thu
Detection
RQ2: How to
automatically
detect elasticity
regression?
Towards Generating Elastic Microservices
30.08.18Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 3
replicas: 4
time: Thu
replicas: 4
time: Thu
?
replicas: 3
time: Thu
DetectionSpecification
RQ2: How to
automatically
detect elasticity
regression?
RQ1: How to
specify elasticity
requirements?
Towards Generating Elastic Microservices
30.08.18Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 3
replicas: 4
time: Thu
replicas: 4
time: Thu
?
replicas: 3
time: Thu
DetectionSpecification Resolution
RQ2: How to
automatically
detect elasticity
regression?
RQ3: How to
automatically fix
elasticity
configurations?
RQ1: How to
specify elasticity
requirements?
Towards Generating Elastic Microservices
30.08.18Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 3
replicas: 4
time: Thu
replicas: 4
time: Thu
?
replicas: 3
time: Thu
DetectionSpecification Resolution
RQ2: How to
automatically
detect elasticity
regression?
RQ3: How to
automatically fix
elasticity
configurations?
RQ1: How to
specify elasticity
requirements?
Extending BenchFlow
Future Work
BenchFlow
30.08.18Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 4
End-to-end automation of performance testing and analysis
BenchFlow
[Ferme et al. ]
BenchFlow
31.08.18Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 4
End-to-end automation of performance testing and analysis
BenchFlow
YAML
Workload Modeling
SUT Configuration
and Deployment
[Ferme et al. ]
BenchFlow
31.08.18Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 4
End-to-end automation of performance testing and analysis
BenchFlow
YAML
Workload Modeling
SUT Configuration
and Deployment
Test Execution
Data Collection
Data Analysis
[Ferme et al. ]
DetectionSpecification
BenchFlow
31.08.18Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 4
End-to-end automation of performance testing and analysis
BenchFlow
YAML
Workload Modeling
SUT Configuration
and Deployment
Test Execution
Data Collection
Data Analysis
[Ferme et al. ]
DetectionSpecification
BenchFlow
31.08.18Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 4
End-to-end automation of performance testing and analysis
BenchFlow
YAML
Workload Modeling
SUT Configuration
and Deployment
Test Execution
Data Collection
Data Analysis
Varying
Workloads?
[Ferme et al. ]
DetectionSpecification
BenchFlow
31.08.18Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 4
End-to-end automation of performance testing and analysis
BenchFlow
YAML
Workload Modeling
SUT Configuration
and Deployment
Test Execution
Data Collection
Data Analysis
Varying
Workloads?
Elasticity
Requirements?
[Ferme et al. ]
DetectionSpecification
BenchFlow
31.08.18Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 4
End-to-end automation of performance testing and analysis
BenchFlow
YAML
Workload Modeling
SUT Configuration
and Deployment
Test Execution
Data Collection
Data Analysis
Varying
Workloads?
Adaptation
Process?
Elasticity
Requirements?
[Ferme et al. ]
DetectionSpecification
BenchFlow
31.08.18Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 4
End-to-end automation of performance testing and analysis
BenchFlow
YAML
Workload Modeling
SUT Configuration
and Deployment
Test Execution
Data Collection
Data Analysis
Resources?Varying
Workloads?
Adaptation
Process?
Elasticity
Requirements?
[Ferme et al. ]
DetectionSpecification
BenchFlow
31.08.18Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 4
End-to-end automation of performance testing and analysis
BenchFlow
YAML
Workload Modeling
SUT Configuration
and Deployment
Test Execution
Data Collection
Data Analysis
Varying
Workloads?
Adaptation
Process?
Elasticity
Requirements?
Elasticity
Metrics?
Resources?
[Ferme et al. ]
Work Plan
2018 2019
Extending BenchFlow to support performance regression tests
Extending BenchFlow DSL to support the expression of elasticity
regression tests
Extending BenchFlow framework to execute elasticity tests
Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 529.08.18
Conclusion
Adaptation
processfaster
algorithm
0/s
10/s
20/s
30/s
40/s
Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue
0
1
2
3
4
5
6
50/s
60/s
Time
Elasticity
configurations
replicas: 4
time: Thu
Elasticity
requirements
Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 630.08.18
# of containersArrival rate (req/sec)
Conclusion
Adaptation
processfaster
algorithm
0/s
10/s
20/s
30/s
40/s
Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue
0
1
2
3
4
5
6
50/s
60/s
Time
Elasticity
configurations
replicas: 4
time: Thu
Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 630.08.18
Specification
YAML
Elasticity
requirements
# of containersArrival rate (req/sec)
Arrival rate (req/sec)
Conclusion
Adaptation
processfaster
algorithm
0/s
10/s
20/s
30/s
40/s
Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue
0
1
2
3
4
5
6
50/s
60/s
Time
Elasticity
configurations
replicas: 4
time: Thu
Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 630.08.18
Specification
Detection
YAML
Elasticity
requirements
BenchFlow
# of containers
Arrival rate (req/sec)
Conclusion
Adaptation
processfaster
algorithm
0/s
10/s
20/s
30/s
40/s
Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue
0
1
2
3
4
5
6
50/s
60/s
Time
Elasticity
configurations
replicas: 4
time: Thu
Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 630.08.18
Specification
Detection
YAML
Elasticity
requirements
replicas: 3
time: Thu
Resolution
BenchFlow
# of containers
Arrival rate (req/sec)
Conclusion
Adaptation
processfaster
algorithm
0/s
10/s
20/s
30/s
40/s
Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue
0
1
2
3
4
5
6
50/s
60/s
Time
Elasticity
configurations
replicas: 4
time: Thu
Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 630.08.18
Specification
Detection
YAML
Elasticity
requirements
replicas: 3
time: Thu
Resolution
BenchFlow
# of containers
Conclusion
Adaptation
processfaster
algorithm
0/s
10/s
20/s
30/s
40/s
Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue
0
1
2
3
4
5
6
Arrival rate
50/s
60/s
Time
Elasticity
configurations
replicas: 4
time: Thu
Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 630.08.18
Specification
Detection
YAML
Elasticity
requirements
replicas: 3
time: Thu
Resolution
BenchFlow
# of containers
Thank you
Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 729.08.18

More Related Content

Similar to Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations

Barga IC2E & IoTDI'16 Keynote
Barga IC2E & IoTDI'16 KeynoteBarga IC2E & IoTDI'16 Keynote
Barga IC2E & IoTDI'16 KeynoteRoger Barga
 
Dev309 from asgard to zuul - netflix oss-final
Dev309  from asgard to zuul - netflix oss-finalDev309  from asgard to zuul - netflix oss-final
Dev309 from asgard to zuul - netflix oss-finalRuslan Meshenberg
 
WORKSHOP: Microservices as Containers on AWS
WORKSHOP: Microservices as Containers on AWSWORKSHOP: Microservices as Containers on AWS
WORKSHOP: Microservices as Containers on AWSCasey Lee
 
Deep dive into Kubernetes monitoring with Elastic Observability.pptx
Deep dive into Kubernetes monitoring with Elastic Observability.pptxDeep dive into Kubernetes monitoring with Elastic Observability.pptx
Deep dive into Kubernetes monitoring with Elastic Observability.pptxChris Markou
 
QCon NYC: Distributed systems in practice, in theory
QCon NYC: Distributed systems in practice, in theoryQCon NYC: Distributed systems in practice, in theory
QCon NYC: Distributed systems in practice, in theoryAysylu Greenberg
 
(DEV309) From Asgard to Zuul: How Netflix’s Proven Open Source Tools Can Help...
(DEV309) From Asgard to Zuul: How Netflix’s Proven Open Source Tools Can Help...(DEV309) From Asgard to Zuul: How Netflix’s Proven Open Source Tools Can Help...
(DEV309) From Asgard to Zuul: How Netflix’s Proven Open Source Tools Can Help...Amazon Web Services
 
Unlimited Virtual Computing Capacity using the Cloud for Automated Parameter ...
Unlimited Virtual Computing Capacity using the Cloud for Automated Parameter ...Unlimited Virtual Computing Capacity using the Cloud for Automated Parameter ...
Unlimited Virtual Computing Capacity using the Cloud for Automated Parameter ...Joseph Luchette
 
Manufacturing Flow Time Reduction using Digital Twins and Operations Excellen...
Manufacturing Flow Time Reduction using Digital Twins and Operations Excellen...Manufacturing Flow Time Reduction using Digital Twins and Operations Excellen...
Manufacturing Flow Time Reduction using Digital Twins and Operations Excellen...DPrestin1
 
Make Java Microservices Resilient with Istio - Mangesh - IBM - CC18
Make Java Microservices Resilient with Istio - Mangesh - IBM - CC18Make Java Microservices Resilient with Istio - Mangesh - IBM - CC18
Make Java Microservices Resilient with Istio - Mangesh - IBM - CC18CodeOps Technologies LLP
 
MicroProfile as the Istio Programming Model | Virtual Eclipse Community Meetup
MicroProfile as the Istio Programming Model | Virtual Eclipse Community Meetup  MicroProfile as the Istio Programming Model | Virtual Eclipse Community Meetup
MicroProfile as the Istio Programming Model | Virtual Eclipse Community Meetup Stephanie Swart
 
Api service mesh and microservice tooling
Api service mesh and microservice toolingApi service mesh and microservice tooling
Api service mesh and microservice toolingLuca Mattia Ferrari
 
How to build megaservices mind7 2021 June 29
How to build megaservices   mind7 2021 June 29How to build megaservices   mind7 2021 June 29
How to build megaservices mind7 2021 June 29Hugh McKee
 
Istio Triangle Kubernetes Meetup Aug 2019
Istio Triangle Kubernetes Meetup Aug 2019Istio Triangle Kubernetes Meetup Aug 2019
Istio Triangle Kubernetes Meetup Aug 2019Ram Vennam
 
Introduction to Istio for APIs and Microservices meetup
Introduction to Istio for APIs and Microservices meetupIntroduction to Istio for APIs and Microservices meetup
Introduction to Istio for APIs and Microservices meetupDaniel Ciruli
 
Micro profile and istio
Micro profile and istioMicro profile and istio
Micro profile and istioEmily Jiang
 
SMI_SNUG_paper_v10
SMI_SNUG_paper_v10SMI_SNUG_paper_v10
SMI_SNUG_paper_v10Igor Lesik
 
PAC 2019 virtual Federico Toledo
PAC 2019 virtual Federico Toledo   PAC 2019 virtual Federico Toledo
PAC 2019 virtual Federico Toledo Neotys
 
BE Analytic Solutions
BE Analytic Solutions BE Analytic Solutions
BE Analytic Solutions Anil Ammina
 

Similar to Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations (20)

Barga IC2E & IoTDI'16 Keynote
Barga IC2E & IoTDI'16 KeynoteBarga IC2E & IoTDI'16 Keynote
Barga IC2E & IoTDI'16 Keynote
 
Dev309 from asgard to zuul - netflix oss-final
Dev309  from asgard to zuul - netflix oss-finalDev309  from asgard to zuul - netflix oss-final
Dev309 from asgard to zuul - netflix oss-final
 
WORKSHOP: Microservices as Containers on AWS
WORKSHOP: Microservices as Containers on AWSWORKSHOP: Microservices as Containers on AWS
WORKSHOP: Microservices as Containers on AWS
 
Deep dive into Kubernetes monitoring with Elastic Observability.pptx
Deep dive into Kubernetes monitoring with Elastic Observability.pptxDeep dive into Kubernetes monitoring with Elastic Observability.pptx
Deep dive into Kubernetes monitoring with Elastic Observability.pptx
 
QCon NYC: Distributed systems in practice, in theory
QCon NYC: Distributed systems in practice, in theoryQCon NYC: Distributed systems in practice, in theory
QCon NYC: Distributed systems in practice, in theory
 
(DEV309) From Asgard to Zuul: How Netflix’s Proven Open Source Tools Can Help...
(DEV309) From Asgard to Zuul: How Netflix’s Proven Open Source Tools Can Help...(DEV309) From Asgard to Zuul: How Netflix’s Proven Open Source Tools Can Help...
(DEV309) From Asgard to Zuul: How Netflix’s Proven Open Source Tools Can Help...
 
Unlimited Virtual Computing Capacity using the Cloud for Automated Parameter ...
Unlimited Virtual Computing Capacity using the Cloud for Automated Parameter ...Unlimited Virtual Computing Capacity using the Cloud for Automated Parameter ...
Unlimited Virtual Computing Capacity using the Cloud for Automated Parameter ...
 
Manufacturing Flow Time Reduction using Digital Twins and Operations Excellen...
Manufacturing Flow Time Reduction using Digital Twins and Operations Excellen...Manufacturing Flow Time Reduction using Digital Twins and Operations Excellen...
Manufacturing Flow Time Reduction using Digital Twins and Operations Excellen...
 
Make Java Microservices Resilient with Istio - Mangesh - IBM - CC18
Make Java Microservices Resilient with Istio - Mangesh - IBM - CC18Make Java Microservices Resilient with Istio - Mangesh - IBM - CC18
Make Java Microservices Resilient with Istio - Mangesh - IBM - CC18
 
MicroProfile as the Istio Programming Model | Virtual Eclipse Community Meetup
MicroProfile as the Istio Programming Model | Virtual Eclipse Community Meetup  MicroProfile as the Istio Programming Model | Virtual Eclipse Community Meetup
MicroProfile as the Istio Programming Model | Virtual Eclipse Community Meetup
 
main
mainmain
main
 
Api service mesh and microservice tooling
Api service mesh and microservice toolingApi service mesh and microservice tooling
Api service mesh and microservice tooling
 
Epics Qt requirements specification
Epics Qt requirements specificationEpics Qt requirements specification
Epics Qt requirements specification
 
How to build megaservices mind7 2021 June 29
How to build megaservices   mind7 2021 June 29How to build megaservices   mind7 2021 June 29
How to build megaservices mind7 2021 June 29
 
Istio Triangle Kubernetes Meetup Aug 2019
Istio Triangle Kubernetes Meetup Aug 2019Istio Triangle Kubernetes Meetup Aug 2019
Istio Triangle Kubernetes Meetup Aug 2019
 
Introduction to Istio for APIs and Microservices meetup
Introduction to Istio for APIs and Microservices meetupIntroduction to Istio for APIs and Microservices meetup
Introduction to Istio for APIs and Microservices meetup
 
Micro profile and istio
Micro profile and istioMicro profile and istio
Micro profile and istio
 
SMI_SNUG_paper_v10
SMI_SNUG_paper_v10SMI_SNUG_paper_v10
SMI_SNUG_paper_v10
 
PAC 2019 virtual Federico Toledo
PAC 2019 virtual Federico Toledo   PAC 2019 virtual Federico Toledo
PAC 2019 virtual Federico Toledo
 
BE Analytic Solutions
BE Analytic Solutions BE Analytic Solutions
BE Analytic Solutions
 

Recently uploaded

Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfjimielynbastida
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsAndrey Dotsenko
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 

Recently uploaded (20)

Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Science&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdfScience&tech:THE INFORMATION AGE STS.pdf
Science&tech:THE INFORMATION AGE STS.pdf
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
The transition to renewables in India.pdf
The transition to renewables in India.pdfThe transition to renewables in India.pdf
The transition to renewables in India.pdf
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptxVulnerability_Management_GRC_by Sohang Sengupta.pptx
Vulnerability_Management_GRC_by Sohang Sengupta.pptx
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
 
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort ServiceHot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Panjabi Bagh 🔝 9953056974 🔝 Delhi escort Service
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 

Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations

  • 1. Reliable Software Systems Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations Floriment Klinaku, Vincenzo Ferme
  • 2. Elastic Microservice 0/s 10/s 20/s 30/s 40/s Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue 50/s 60/s Time Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 230.08.18 Arrival rate (req/sec)
  • 3. Elastic Microservice 0/s 10/s 20/s 30/s 40/s Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue 0 1 2 3 4 5 6 50/s 60/s Time Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 230.08.18 # of containersArrival rate (req/sec)
  • 4. Elastic Microservice Adaptation process # of containers 0/s 10/s 20/s 30/s 40/s Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue 0 1 2 3 4 5 6 Arrival rate (req/sec) 50/s 60/s Time Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 230.08.18
  • 5. Elastic Microservice Adaptation process 0/s 10/s 20/s 30/s 40/s Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue 0 1 2 3 4 5 6 50/s 60/s Time Elasticity configurations replicas: 4 time: Thu Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 230.08.18 # of containersArrival rate (req/sec)
  • 6. Elastic Microservice Adaptation process 0/s 10/s 20/s 30/s 40/s Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue 0 1 2 3 4 5 6 50/s 60/s Time Elasticity configurations Elasticity requirements replicas: 4 time: Thu Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 230.08.18 # of containersArrival rate (req/sec)
  • 7. Elastic Microservice Adaptation processfaster algorithm 0/s 10/s 20/s 30/s 40/s Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue 0 1 2 3 4 5 6 50/s 60/s Time Elasticity configurations Elasticity requirements replicas: 4 time: Thu Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 230.08.18 # of containersArrival rate (req/sec)
  • 8. Elastic Microservice Adaptation processfaster algorithm 0/s 10/s 20/s 30/s 40/s Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue 0 1 2 3 4 5 6 50/s 60/s Time Elasticity configurations replicas: 4 time: Thu Elasticity requirements Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 230.08.18 # of containersArrival rate (req/sec)
  • 9. Elastic Microservice Adaptation processfaster algorithm 0/s 10/s 20/s 30/s 40/s Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue 0 1 2 3 4 5 6 Arrival rate 50/s 60/s Time Elasticity configurations replicas: 4 time: Thu Elasticity requirements Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 230.08.18 # of containers
  • 10. Towards Generating Elastic Microservices 30.08.18Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 3 replicas: 4 time: Thu replicas: 4 time: Thu ?
  • 11. Towards Generating Elastic Microservices 30.08.18Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 3 replicas: 4 time: Thu replicas: 4 time: Thu ?
  • 12. Towards Generating Elastic Microservices 30.08.18Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 3 replicas: 4 time: Thu replicas: 4 time: Thu ? replicas: 3 time: Thu
  • 13. Towards Generating Elastic Microservices 30.08.18Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 3 replicas: 4 time: Thu replicas: 4 time: Thu ? replicas: 3 time: Thu Detection RQ2: How to automatically detect elasticity regression?
  • 14. Towards Generating Elastic Microservices 30.08.18Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 3 replicas: 4 time: Thu replicas: 4 time: Thu ? replicas: 3 time: Thu DetectionSpecification RQ2: How to automatically detect elasticity regression? RQ1: How to specify elasticity requirements?
  • 15. Towards Generating Elastic Microservices 30.08.18Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 3 replicas: 4 time: Thu replicas: 4 time: Thu ? replicas: 3 time: Thu DetectionSpecification Resolution RQ2: How to automatically detect elasticity regression? RQ3: How to automatically fix elasticity configurations? RQ1: How to specify elasticity requirements?
  • 16. Towards Generating Elastic Microservices 30.08.18Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 3 replicas: 4 time: Thu replicas: 4 time: Thu ? replicas: 3 time: Thu DetectionSpecification Resolution RQ2: How to automatically detect elasticity regression? RQ3: How to automatically fix elasticity configurations? RQ1: How to specify elasticity requirements? Extending BenchFlow Future Work
  • 17. BenchFlow 30.08.18Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 4 End-to-end automation of performance testing and analysis BenchFlow [Ferme et al. ]
  • 18. BenchFlow 31.08.18Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 4 End-to-end automation of performance testing and analysis BenchFlow YAML Workload Modeling SUT Configuration and Deployment [Ferme et al. ]
  • 19. BenchFlow 31.08.18Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 4 End-to-end automation of performance testing and analysis BenchFlow YAML Workload Modeling SUT Configuration and Deployment Test Execution Data Collection Data Analysis [Ferme et al. ]
  • 20. DetectionSpecification BenchFlow 31.08.18Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 4 End-to-end automation of performance testing and analysis BenchFlow YAML Workload Modeling SUT Configuration and Deployment Test Execution Data Collection Data Analysis [Ferme et al. ]
  • 21. DetectionSpecification BenchFlow 31.08.18Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 4 End-to-end automation of performance testing and analysis BenchFlow YAML Workload Modeling SUT Configuration and Deployment Test Execution Data Collection Data Analysis Varying Workloads? [Ferme et al. ]
  • 22. DetectionSpecification BenchFlow 31.08.18Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 4 End-to-end automation of performance testing and analysis BenchFlow YAML Workload Modeling SUT Configuration and Deployment Test Execution Data Collection Data Analysis Varying Workloads? Elasticity Requirements? [Ferme et al. ]
  • 23. DetectionSpecification BenchFlow 31.08.18Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 4 End-to-end automation of performance testing and analysis BenchFlow YAML Workload Modeling SUT Configuration and Deployment Test Execution Data Collection Data Analysis Varying Workloads? Adaptation Process? Elasticity Requirements? [Ferme et al. ]
  • 24. DetectionSpecification BenchFlow 31.08.18Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 4 End-to-end automation of performance testing and analysis BenchFlow YAML Workload Modeling SUT Configuration and Deployment Test Execution Data Collection Data Analysis Resources?Varying Workloads? Adaptation Process? Elasticity Requirements? [Ferme et al. ]
  • 25. DetectionSpecification BenchFlow 31.08.18Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 4 End-to-end automation of performance testing and analysis BenchFlow YAML Workload Modeling SUT Configuration and Deployment Test Execution Data Collection Data Analysis Varying Workloads? Adaptation Process? Elasticity Requirements? Elasticity Metrics? Resources? [Ferme et al. ]
  • 26. Work Plan 2018 2019 Extending BenchFlow to support performance regression tests Extending BenchFlow DSL to support the expression of elasticity regression tests Extending BenchFlow framework to execute elasticity tests Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 529.08.18
  • 27. Conclusion Adaptation processfaster algorithm 0/s 10/s 20/s 30/s 40/s Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue 0 1 2 3 4 5 6 50/s 60/s Time Elasticity configurations replicas: 4 time: Thu Elasticity requirements Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 630.08.18 # of containersArrival rate (req/sec)
  • 28. Conclusion Adaptation processfaster algorithm 0/s 10/s 20/s 30/s 40/s Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue 0 1 2 3 4 5 6 50/s 60/s Time Elasticity configurations replicas: 4 time: Thu Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 630.08.18 Specification YAML Elasticity requirements # of containersArrival rate (req/sec)
  • 29. Arrival rate (req/sec) Conclusion Adaptation processfaster algorithm 0/s 10/s 20/s 30/s 40/s Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue 0 1 2 3 4 5 6 50/s 60/s Time Elasticity configurations replicas: 4 time: Thu Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 630.08.18 Specification Detection YAML Elasticity requirements BenchFlow # of containers
  • 30. Arrival rate (req/sec) Conclusion Adaptation processfaster algorithm 0/s 10/s 20/s 30/s 40/s Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue 0 1 2 3 4 5 6 50/s 60/s Time Elasticity configurations replicas: 4 time: Thu Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 630.08.18 Specification Detection YAML Elasticity requirements replicas: 3 time: Thu Resolution BenchFlow # of containers
  • 31. Arrival rate (req/sec) Conclusion Adaptation processfaster algorithm 0/s 10/s 20/s 30/s 40/s Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue 0 1 2 3 4 5 6 50/s 60/s Time Elasticity configurations replicas: 4 time: Thu Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 630.08.18 Specification Detection YAML Elasticity requirements replicas: 3 time: Thu Resolution BenchFlow # of containers
  • 32. Conclusion Adaptation processfaster algorithm 0/s 10/s 20/s 30/s 40/s Sun Mon Tue Wed Thu Fri Sat Sun Mon Tue 0 1 2 3 4 5 6 Arrival rate 50/s 60/s Time Elasticity configurations replicas: 4 time: Thu Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 630.08.18 Specification Detection YAML Elasticity requirements replicas: 3 time: Thu Resolution BenchFlow # of containers
  • 33. Thank you Towards Generating Elastic Microservices: A Declarative Specification for Consistent Elasticity Configurations 729.08.18