SlideShare a Scribd company logo
1 of 24
Download to read offline
Performance assessment of microservices with strong guarantees


Towards agile formal methods
Matteo Camilli, Assistant Professor “Junior” (RTDA)

Faculty of Computer Science,

Free University of Bozen-Bolzano, Italy

matteo.camilli@unibz.it

https://matteocamilli.github.io
1
Matteo Camilli - matteo.camilli@unibz.it
Outline
2
• Introduction

• DevOps practices for microservices

• QA: performance & scalability

• Our approach

• Automated test-based learning of performance models

• Automated formal veri
fi
cation of performance requirements

• Some results from controlled experiments

• Take away message

Matteo Camilli - matteo.camilli@unibz.it
Introduction
3
• The microservice architectural style

• Distributed application where all its modules are microservices

• Microservice: cohesive, independent process interacting via messages (HTTP API)

SOA Microservices
Unix

design

principles
✓ modularity

✓ maintainability

✓ easier deployment of latest build

…
Matteo Camilli - matteo.camilli@unibz.it
• The DevOps setting

• Frequent releases in short cycles

• Changes —> easy to introduce

• E
ff
ects of changes —> hard to understand

• Decisions

• e.g., go/no-go, speci
fi
c deployment con
fi
g

• Important for success/failure!

• We’d like to make them with

“strong guarantees”

Introduction (2)
4
requirements
performance


testing
Matteo Camilli - matteo.camilli@unibz.it
• The DevOps setting

• Frequent releases in short cycles

• Changes —> easy to introduce

• E
ff
ects of changes —> hard to understand

• Decisions

• e.g., go/no-go, speci
fi
c deployment con
fi
g

• Important for success/failure!

• We’d like to make them with

“strong guarantees”

Introduction (2)
4
requirements
performance


testing
How should I drive the testing process?
Matteo Camilli - matteo.camilli@unibz.it
• The DevOps setting

• Frequent releases in short cycles

• Changes —> easy to introduce

• E
ff
ects of changes —> hard to understand

• Decisions

• e.g., go/no-go, speci
fi
c deployment con
fi
g

• Important for success/failure!

• We’d like to make them with

“strong guarantees”

Introduction (2)
4
requirements
performance


testing
How do I specify


requirements?
How should I drive the testing process?
Matteo Camilli - matteo.camilli@unibz.it
• The DevOps setting

• Frequent releases in short cycles

• Changes —> easy to introduce

• E
ff
ects of changes —> hard to understand

• Decisions

• e.g., go/no-go, speci
fi
c deployment con
fi
g

• Important for success/failure!

• We’d like to make them with

“strong guarantees”

Introduction (2)
4
requirements
performance


testing
How do I specify


requirements?
How should I drive the testing process?
How to make


the “right” decisions?
Matteo Camilli - matteo.camilli@unibz.it
• Analysis of the operational setting

• Usage pro
fi
le —> behavior of the users in terms of possible sequences of interactions Actors <—> App
Our approach — how to drive testing
5
Timestamp Session id Request
t1 1 home
t2 1 login
t3 2 home
…
Valid requests RESTful API Log of sessions (HTTP requests) Graph of traces (DTMC model)
(E.g., Disco https://
fl
uxicon.com/disco/)
Process Mining Graph structure


with probability


on edges
SockShop demo


API
Matteo Camilli - matteo.camilli@unibz.it
• Analysis of the operational setting

• Workload intensity —> number of concurrent users accessing the App
Our approach — how to drive testing (2)
6
Empirical distribution


of the workload intensity
Discrete distribution
Data binning
Matteo Camilli - matteo.camilli@unibz.it
• Analysis of the operational setting

• Workload intensity —> number of concurrent users accessing the App
Our approach — how to drive testing (2)
6
Empirical distribution


of the workload intensity
Discrete distribution
Data binning
Very likely


workload
unlikely


workload
Matteo Camilli - matteo.camilli@unibz.it
• Elicitation of the factors

• DTMC model represents the behavior of the users;

• the empirical distribution for each workload intensity ;

• the set of alternative deployment con
fi
gurations, each one de
fi
ning (in our case)

• amount of RAM, 

• CPU share, 

• replicas per microservice

• Testing sessions

• One session for each 

• Each session shall generate synthetic users according to
ℳ
f(λ1), . . . , f(λk) λi ∈ Λ
𝒞
⟨λ, c⟩ ∈ Λ ×
𝒞
ℳ
Our approach — how to drive testing (3)
7
(in our in-vitro experiments)
Matteo Camilli - matteo.camilli@unibz.it
Our approach — how to drive testing (4)
8
Matteo Camilli - matteo.camilli@unibz.it
Our approach — how to drive testing (4)
8
• For each testing session

• Docker deploys the SUT according to 

• LOCUST generates users according to
and 

• Inference module automatically augment
with time information to obtain
(CTMC model)
c
λ
ℳ
ℳ
𝒳
Matteo Camilli - matteo.camilli@unibz.it
Our approach — how to drive testing (4)
8
• For each testing session

• Docker deploys the SUT according to 

• LOCUST generates users according to
and 

• Inference module automatically augment
with time information to obtain
(CTMC model)
c
λ
ℳ
ℳ
𝒳
• Bayesian inference

• For each edge i,j

• We collect #times , total time 

• Gamma posterior —> 

• CTMC rate
Ni Ti
νi = Ni/Ti
rij = pijνi
Matteo Camilli - matteo.camilli@unibz.it
Our approach — how to drive testing (4)
8
• For each testing session

• Docker deploys the SUT according to 

• LOCUST generates users according to
and 

• Inference module automatically augment
with time information to obtain
(CTMC model)
c
λ
ℳ
ℳ
𝒳
• Bayesian inference

• For each edge i,j

• We collect #times , total time 

• Gamma posterior —> 

• CTMC rate
Ni Ti
νi = Ni/Ti
rij = pijνi
• Bayes factor

• Termination criterion (inferred parameters
are statistically stable)
Matteo Camilli - matteo.camilli@unibz.it
Our approach — how to make the “right” decisions
9
Critical!


lower probability,


Higher likelihood
Matteo Camilli - matteo.camilli@unibz.it
Our approach — how to make the “right” decisions
9
• Computation of the cumulative probability distributions

• For each service Zs(x) = P(RTs < x)
Critical!


lower probability,


Higher likelihood
Matteo Camilli - matteo.camilli@unibz.it
Our approach — how to make the “right” decisions
9
• Computation of the cumulative probability distributions

• For each service Zs(x) = P(RTs < x)
• Con
fi
guration score

• Given a workload we’d like to maximize the

area under the curve weighted by the likelihood

•
λ
As Zs
φ(λ) =
∑
s
As
𝒮
(s)
Critical!


lower probability,


Higher likelihood
Matteo Camilli - matteo.camilli@unibz.it
Our approach — how to make the “right” decisions
9
• Computation of the cumulative probability distributions

• For each service Zs(x) = P(RTs < x)
• Con
fi
guration score

• Given a workload we’d like to maximize the

area under the curve weighted by the likelihood

•
λ
As Zs
φ(λ) =
∑
s
As
𝒮
(s)
• Total score

• Then maximize the score over multiple sessions
weighed by the likelihood of a given workload

•
Φ(Λ) =
∑
λ
φλ f(λ)
Critical!


lower probability,


Higher likelihood
Matteo Camilli - matteo.camilli@unibz.it
Our approach — how to make the “right” decisions (2)
10
Matteo Camilli - matteo.camilli@unibz.it
Our approach — how to make the “right” decisions (2)
10
4 replicas are likely


to decrease performance
Matteo Camilli - matteo.camilli@unibz.it
Our approach — how to make the “right” decisions (2)
10
4 replicas are likely


to decrease performance
Good options (we could then chose based on resource consumption)
Matteo Camilli - matteo.camilli@unibz.it
Our approach — how to make the “right” decisions (3)
11
• Formal veri
fi
cation of performance requirements

• Expressed using Continuous Stochastic Logic (CSL)

• Fully automated by o
ff
-the-shelf model checking tools (e.g., PRISM https://www.prismmodelchecker.org/)
CSL requirement examples
Automated verification report
E.g., config 7 does not meet


all the reqs R1-R5
Matteo Camilli - matteo.camilli@unibz.it
Take away message
12
• Make the “right” decisions with strong guarantees is important!

• We shown how to achieve this goal by integrating formal approaches into DevOps practices

• Automated execution load testing sessions

• Automated building of formal models (CTMCs)

• Automated computation of the con
fi
guration score

• Automated veri
fi
cation of domain-dependent requirements

• Our implementation is open source

• PPTAM load testing tool https://github.com/pptam/pptam-tool 

• Test-based learning and veri
fi
cation https://github.com/matteocamilli/pptam-ctmc-experiments


More Related Content

What's hot

Continuous Performance Testing
Continuous Performance TestingContinuous Performance Testing
Continuous Performance TestingGrid Dynamics
 
Performance Testing With Jmeter
Performance Testing With JmeterPerformance Testing With Jmeter
Performance Testing With JmeterAdam Goucher
 
This Is How We Test Our Performance With JMeter
This Is How We Test Our Performance With JMeterThis Is How We Test Our Performance With JMeter
This Is How We Test Our Performance With JMeterMedianova
 
Load and performance testing
Load and performance testingLoad and performance testing
Load and performance testingQualitest
 
Jmeter Tester Certification
Jmeter Tester CertificationJmeter Tester Certification
Jmeter Tester CertificationVskills
 
How to Record Scripts in JMeter? JMeter Script Recording Tutorial | Edureka
How to Record Scripts in JMeter? JMeter Script Recording Tutorial | EdurekaHow to Record Scripts in JMeter? JMeter Script Recording Tutorial | Edureka
How to Record Scripts in JMeter? JMeter Script Recording Tutorial | EdurekaEdureka!
 
Perofrmance testing and apache jmeter
Perofrmance testing and apache jmeterPerofrmance testing and apache jmeter
Perofrmance testing and apache jmeterlethibichhoa
 
JMeter & ColdFusion
JMeter & ColdFusion JMeter & ColdFusion
JMeter & ColdFusion isummation
 
Load Testing Strategy 101
Load Testing Strategy 101Load Testing Strategy 101
Load Testing Strategy 101iradari
 
Performance testing using jmeter
Performance testing using jmeterPerformance testing using jmeter
Performance testing using jmeterRachappa Bandi
 
Getting Started with Apache Jmeter
Getting Started with Apache JmeterGetting Started with Apache Jmeter
Getting Started with Apache JmeterMindfire Solutions
 
Performance and load testing
Performance and load testingPerformance and load testing
Performance and load testingsonukalpana
 

What's hot (20)

Continuous Performance Testing
Continuous Performance TestingContinuous Performance Testing
Continuous Performance Testing
 
JMeter Database Performace Testing - Keytorc Approach
JMeter Database Performace Testing - Keytorc ApproachJMeter Database Performace Testing - Keytorc Approach
JMeter Database Performace Testing - Keytorc Approach
 
Performance Testing With Jmeter
Performance Testing With JmeterPerformance Testing With Jmeter
Performance Testing With Jmeter
 
This Is How We Test Our Performance With JMeter
This Is How We Test Our Performance With JMeterThis Is How We Test Our Performance With JMeter
This Is How We Test Our Performance With JMeter
 
Load and performance testing
Load and performance testingLoad and performance testing
Load and performance testing
 
Fundamentals Performance Testing
Fundamentals Performance TestingFundamentals Performance Testing
Fundamentals Performance Testing
 
Jmeter From Scratch
Jmeter From ScratchJmeter From Scratch
Jmeter From Scratch
 
JMETER-SKILLWISE
JMETER-SKILLWISEJMETER-SKILLWISE
JMETER-SKILLWISE
 
Jmeter Tester Certification
Jmeter Tester CertificationJmeter Tester Certification
Jmeter Tester Certification
 
Load testing jmeter
Load testing jmeterLoad testing jmeter
Load testing jmeter
 
How to Record Scripts in JMeter? JMeter Script Recording Tutorial | Edureka
How to Record Scripts in JMeter? JMeter Script Recording Tutorial | EdurekaHow to Record Scripts in JMeter? JMeter Script Recording Tutorial | Edureka
How to Record Scripts in JMeter? JMeter Script Recording Tutorial | Edureka
 
Perofrmance testing and apache jmeter
Perofrmance testing and apache jmeterPerofrmance testing and apache jmeter
Perofrmance testing and apache jmeter
 
JMeter & ColdFusion
JMeter & ColdFusion JMeter & ColdFusion
JMeter & ColdFusion
 
Load Testing Strategy 101
Load Testing Strategy 101Load Testing Strategy 101
Load Testing Strategy 101
 
Types of performance testing
Types of performance testingTypes of performance testing
Types of performance testing
 
Performance testing using jmeter
Performance testing using jmeterPerformance testing using jmeter
Performance testing using jmeter
 
Getting Started with Apache Jmeter
Getting Started with Apache JmeterGetting Started with Apache Jmeter
Getting Started with Apache Jmeter
 
Performance and load testing
Performance and load testingPerformance and load testing
Performance and load testing
 
Jmeter Walkthrough
Jmeter WalkthroughJmeter Walkthrough
Jmeter Walkthrough
 
J Meter Intro
J Meter IntroJ Meter Intro
J Meter Intro
 

Similar to SFScon 21 - Matteo Camilli - Performance assessment of microservices with strong guarantees

SCM Transformation Challenges and How to Overcome Them
SCM Transformation Challenges and How to Overcome ThemSCM Transformation Challenges and How to Overcome Them
SCM Transformation Challenges and How to Overcome ThemCompuware
 
Performance Testing Java Applications
Performance Testing Java ApplicationsPerformance Testing Java Applications
Performance Testing Java ApplicationsC4Media
 
Keynote VST2020 (Workshop on Validation, Analysis and Evolution of Software ...
Keynote VST2020 (Workshop on  Validation, Analysis and Evolution of Software ...Keynote VST2020 (Workshop on  Validation, Analysis and Evolution of Software ...
Keynote VST2020 (Workshop on Validation, Analysis and Evolution of Software ...University of Antwerp
 
Making Model-Driven Verification Practical and Scalable: Experiences and Less...
Making Model-Driven Verification Practical and Scalable: Experiences and Less...Making Model-Driven Verification Practical and Scalable: Experiences and Less...
Making Model-Driven Verification Practical and Scalable: Experiences and Less...Lionel Briand
 
Automated Testing of Autonomous Driving Assistance Systems
Automated Testing of Autonomous Driving Assistance SystemsAutomated Testing of Autonomous Driving Assistance Systems
Automated Testing of Autonomous Driving Assistance SystemsLionel Briand
 
TLC2018 Thomas Haver: The Automation Firehose - Be Strategic and Tactical
TLC2018 Thomas Haver: The Automation Firehose - Be Strategic and TacticalTLC2018 Thomas Haver: The Automation Firehose - Be Strategic and Tactical
TLC2018 Thomas Haver: The Automation Firehose - Be Strategic and TacticalAnna Royzman
 
Mike Bartley - Innovations for Testing Parallel Software - EuroSTAR 2012
Mike Bartley - Innovations for Testing Parallel Software - EuroSTAR 2012Mike Bartley - Innovations for Testing Parallel Software - EuroSTAR 2012
Mike Bartley - Innovations for Testing Parallel Software - EuroSTAR 2012TEST Huddle
 
The Automation Firehose: Be Strategic and Tactical by Thomas Haver
The Automation Firehose: Be Strategic and Tactical by Thomas HaverThe Automation Firehose: Be Strategic and Tactical by Thomas Haver
The Automation Firehose: Be Strategic and Tactical by Thomas HaverQA or the Highway
 
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web TestingThe Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web TestingPerfecto by Perforce
 
Patterns for Scalability in Windows Azure Applications (Alex Mang)
Patterns for Scalability in Windows Azure Applications (Alex Mang)Patterns for Scalability in Windows Azure Applications (Alex Mang)
Patterns for Scalability in Windows Azure Applications (Alex Mang)ITCamp
 
Leveraging Analytics for DevOps
Leveraging Analytics for DevOpsLeveraging Analytics for DevOps
Leveraging Analytics for DevOpsMichael Floyd
 
MCA Daemon: Hybrid Throughput Analysis Beyond Basic Blocks
MCA Daemon: Hybrid Throughput Analysis Beyond Basic BlocksMCA Daemon: Hybrid Throughput Analysis Beyond Basic Blocks
MCA Daemon: Hybrid Throughput Analysis Beyond Basic BlocksMin-Yih Hsu
 
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...Roberto Pérez Alcolea
 
Technical debt management strategies
Technical debt management strategiesTechnical debt management strategies
Technical debt management strategiesRaquel Pau
 
DevOps/Flow workshop for agile india 2015
DevOps/Flow workshop for agile india 2015DevOps/Flow workshop for agile india 2015
DevOps/Flow workshop for agile india 2015Yuval Yeret
 
Tools. Techniques. Trouble?
Tools. Techniques. Trouble?Tools. Techniques. Trouble?
Tools. Techniques. Trouble?Testplant
 

Similar to SFScon 21 - Matteo Camilli - Performance assessment of microservices with strong guarantees (20)

SCM Transformation Challenges and How to Overcome Them
SCM Transformation Challenges and How to Overcome ThemSCM Transformation Challenges and How to Overcome Them
SCM Transformation Challenges and How to Overcome Them
 
Performance Testing Java Applications
Performance Testing Java ApplicationsPerformance Testing Java Applications
Performance Testing Java Applications
 
When Should I Use Simulation?
When Should I Use Simulation?When Should I Use Simulation?
When Should I Use Simulation?
 
Keynote VST2020 (Workshop on Validation, Analysis and Evolution of Software ...
Keynote VST2020 (Workshop on  Validation, Analysis and Evolution of Software ...Keynote VST2020 (Workshop on  Validation, Analysis and Evolution of Software ...
Keynote VST2020 (Workshop on Validation, Analysis and Evolution of Software ...
 
Agile Testing Days
Agile Testing DaysAgile Testing Days
Agile Testing Days
 
Making Model-Driven Verification Practical and Scalable: Experiences and Less...
Making Model-Driven Verification Practical and Scalable: Experiences and Less...Making Model-Driven Verification Practical and Scalable: Experiences and Less...
Making Model-Driven Verification Practical and Scalable: Experiences and Less...
 
Automated Testing of Autonomous Driving Assistance Systems
Automated Testing of Autonomous Driving Assistance SystemsAutomated Testing of Autonomous Driving Assistance Systems
Automated Testing of Autonomous Driving Assistance Systems
 
TLC2018 Thomas Haver: The Automation Firehose - Be Strategic and Tactical
TLC2018 Thomas Haver: The Automation Firehose - Be Strategic and TacticalTLC2018 Thomas Haver: The Automation Firehose - Be Strategic and Tactical
TLC2018 Thomas Haver: The Automation Firehose - Be Strategic and Tactical
 
Mike Bartley - Innovations for Testing Parallel Software - EuroSTAR 2012
Mike Bartley - Innovations for Testing Parallel Software - EuroSTAR 2012Mike Bartley - Innovations for Testing Parallel Software - EuroSTAR 2012
Mike Bartley - Innovations for Testing Parallel Software - EuroSTAR 2012
 
ESP POC Findings
ESP POC FindingsESP POC Findings
ESP POC Findings
 
DevOps 101
DevOps 101DevOps 101
DevOps 101
 
The Automation Firehose: Be Strategic and Tactical by Thomas Haver
The Automation Firehose: Be Strategic and Tactical by Thomas HaverThe Automation Firehose: Be Strategic and Tactical by Thomas Haver
The Automation Firehose: Be Strategic and Tactical by Thomas Haver
 
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web TestingThe Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
The Automation Firehose: Be Strategic & Tactical With Your Mobile & Web Testing
 
Patterns for Scalability in Windows Azure Applications (Alex Mang)
Patterns for Scalability in Windows Azure Applications (Alex Mang)Patterns for Scalability in Windows Azure Applications (Alex Mang)
Patterns for Scalability in Windows Azure Applications (Alex Mang)
 
Leveraging Analytics for DevOps
Leveraging Analytics for DevOpsLeveraging Analytics for DevOps
Leveraging Analytics for DevOps
 
MCA Daemon: Hybrid Throughput Analysis Beyond Basic Blocks
MCA Daemon: Hybrid Throughput Analysis Beyond Basic BlocksMCA Daemon: Hybrid Throughput Analysis Beyond Basic Blocks
MCA Daemon: Hybrid Throughput Analysis Beyond Basic Blocks
 
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
[DPE Summit] How Improving the Testing Experience Goes Beyond Quality: A Deve...
 
Technical debt management strategies
Technical debt management strategiesTechnical debt management strategies
Technical debt management strategies
 
DevOps/Flow workshop for agile india 2015
DevOps/Flow workshop for agile india 2015DevOps/Flow workshop for agile india 2015
DevOps/Flow workshop for agile india 2015
 
Tools. Techniques. Trouble?
Tools. Techniques. Trouble?Tools. Techniques. Trouble?
Tools. Techniques. Trouble?
 

More from South Tyrol Free Software Conference

SFSCON23 - Rufai Omowunmi Balogun - SMODEX – a Python package for understandi...
SFSCON23 - Rufai Omowunmi Balogun - SMODEX – a Python package for understandi...SFSCON23 - Rufai Omowunmi Balogun - SMODEX – a Python package for understandi...
SFSCON23 - Rufai Omowunmi Balogun - SMODEX – a Python package for understandi...South Tyrol Free Software Conference
 
SFSCON23 - Roberto Innocenti - From the design to reality is here the Communi...
SFSCON23 - Roberto Innocenti - From the design to reality is here the Communi...SFSCON23 - Roberto Innocenti - From the design to reality is here the Communi...
SFSCON23 - Roberto Innocenti - From the design to reality is here the Communi...South Tyrol Free Software Conference
 
SFSCON23 - Martin Rabanser - Real-time aeroplane tracking and the Open Data Hub
SFSCON23 - Martin Rabanser - Real-time aeroplane tracking and the Open Data HubSFSCON23 - Martin Rabanser - Real-time aeroplane tracking and the Open Data Hub
SFSCON23 - Martin Rabanser - Real-time aeroplane tracking and the Open Data HubSouth Tyrol Free Software Conference
 
SFSCON23 - Marianna d'Atri Enrico Zanardo - How can Blockchain technologies i...
SFSCON23 - Marianna d'Atri Enrico Zanardo - How can Blockchain technologies i...SFSCON23 - Marianna d'Atri Enrico Zanardo - How can Blockchain technologies i...
SFSCON23 - Marianna d'Atri Enrico Zanardo - How can Blockchain technologies i...South Tyrol Free Software Conference
 
SFSCON23 - Lucas Lasota - The Future of Connectivity, Open Internet and Human...
SFSCON23 - Lucas Lasota - The Future of Connectivity, Open Internet and Human...SFSCON23 - Lucas Lasota - The Future of Connectivity, Open Internet and Human...
SFSCON23 - Lucas Lasota - The Future of Connectivity, Open Internet and Human...South Tyrol Free Software Conference
 
SFSCON23 - Giovanni Giannotta - Intelligent Decision Support System for trace...
SFSCON23 - Giovanni Giannotta - Intelligent Decision Support System for trace...SFSCON23 - Giovanni Giannotta - Intelligent Decision Support System for trace...
SFSCON23 - Giovanni Giannotta - Intelligent Decision Support System for trace...South Tyrol Free Software Conference
 
SFSCON23 - Elena Maines - Embracing CI/CD workflows for building ETL pipelines
SFSCON23 - Elena Maines - Embracing CI/CD workflows for building ETL pipelinesSFSCON23 - Elena Maines - Embracing CI/CD workflows for building ETL pipelines
SFSCON23 - Elena Maines - Embracing CI/CD workflows for building ETL pipelinesSouth Tyrol Free Software Conference
 
SFSCON23 - Charles H. Schulz - Why open digital infrastructure matters
SFSCON23 - Charles H. Schulz - Why open digital infrastructure mattersSFSCON23 - Charles H. Schulz - Why open digital infrastructure matters
SFSCON23 - Charles H. Schulz - Why open digital infrastructure mattersSouth Tyrol Free Software Conference
 
SFSCON23 - Thomas Aichner - How IoT and AI are revolutionizing Mass Customiza...
SFSCON23 - Thomas Aichner - How IoT and AI are revolutionizing Mass Customiza...SFSCON23 - Thomas Aichner - How IoT and AI are revolutionizing Mass Customiza...
SFSCON23 - Thomas Aichner - How IoT and AI are revolutionizing Mass Customiza...South Tyrol Free Software Conference
 
SFSCON23 - Mirko Boehm - European regulators cast their eyes on maturing OSS ...
SFSCON23 - Mirko Boehm - European regulators cast their eyes on maturing OSS ...SFSCON23 - Mirko Boehm - European regulators cast their eyes on maturing OSS ...
SFSCON23 - Mirko Boehm - European regulators cast their eyes on maturing OSS ...South Tyrol Free Software Conference
 
SFSCON23 - Marco Pavanelli - Monitoring the fleet of Sasa with free software
SFSCON23 - Marco Pavanelli - Monitoring the fleet of Sasa with free softwareSFSCON23 - Marco Pavanelli - Monitoring the fleet of Sasa with free software
SFSCON23 - Marco Pavanelli - Monitoring the fleet of Sasa with free softwareSouth Tyrol Free Software Conference
 
SFSCON23 - Marco Cortella - KNOWAGE and AICS for 2030 agenda SDG goals monito...
SFSCON23 - Marco Cortella - KNOWAGE and AICS for 2030 agenda SDG goals monito...SFSCON23 - Marco Cortella - KNOWAGE and AICS for 2030 agenda SDG goals monito...
SFSCON23 - Marco Cortella - KNOWAGE and AICS for 2030 agenda SDG goals monito...South Tyrol Free Software Conference
 
SFSCON23 - Lina Ceballos - Interoperable Europe Act - A real game changer
SFSCON23 - Lina Ceballos - Interoperable Europe Act - A real game changerSFSCON23 - Lina Ceballos - Interoperable Europe Act - A real game changer
SFSCON23 - Lina Ceballos - Interoperable Europe Act - A real game changerSouth Tyrol Free Software Conference
 
SFSCON23 - Johannes Näder Linus Sehn - Let’s monitor implementation of Free S...
SFSCON23 - Johannes Näder Linus Sehn - Let’s monitor implementation of Free S...SFSCON23 - Johannes Näder Linus Sehn - Let’s monitor implementation of Free S...
SFSCON23 - Johannes Näder Linus Sehn - Let’s monitor implementation of Free S...South Tyrol Free Software Conference
 
SFSCON23 - Gabriel Ku Wei Bin - Why Do We Need A Next Generation Internet
SFSCON23 - Gabriel Ku Wei Bin - Why Do We Need A Next Generation InternetSFSCON23 - Gabriel Ku Wei Bin - Why Do We Need A Next Generation Internet
SFSCON23 - Gabriel Ku Wei Bin - Why Do We Need A Next Generation InternetSouth Tyrol Free Software Conference
 
SFSCON23 - Davide Vernassa - Empowering Insights Unveiling the latest innova...
SFSCON23 - Davide Vernassa - Empowering Insights  Unveiling the latest innova...SFSCON23 - Davide Vernassa - Empowering Insights  Unveiling the latest innova...
SFSCON23 - Davide Vernassa - Empowering Insights Unveiling the latest innova...South Tyrol Free Software Conference
 

More from South Tyrol Free Software Conference (20)

SFSCON23 - Rufai Omowunmi Balogun - SMODEX – a Python package for understandi...
SFSCON23 - Rufai Omowunmi Balogun - SMODEX – a Python package for understandi...SFSCON23 - Rufai Omowunmi Balogun - SMODEX – a Python package for understandi...
SFSCON23 - Rufai Omowunmi Balogun - SMODEX – a Python package for understandi...
 
SFSCON23 - Roberto Innocenti - From the design to reality is here the Communi...
SFSCON23 - Roberto Innocenti - From the design to reality is here the Communi...SFSCON23 - Roberto Innocenti - From the design to reality is here the Communi...
SFSCON23 - Roberto Innocenti - From the design to reality is here the Communi...
 
SFSCON23 - Martin Rabanser - Real-time aeroplane tracking and the Open Data Hub
SFSCON23 - Martin Rabanser - Real-time aeroplane tracking and the Open Data HubSFSCON23 - Martin Rabanser - Real-time aeroplane tracking and the Open Data Hub
SFSCON23 - Martin Rabanser - Real-time aeroplane tracking and the Open Data Hub
 
SFSCON23 - Marianna d'Atri Enrico Zanardo - How can Blockchain technologies i...
SFSCON23 - Marianna d'Atri Enrico Zanardo - How can Blockchain technologies i...SFSCON23 - Marianna d'Atri Enrico Zanardo - How can Blockchain technologies i...
SFSCON23 - Marianna d'Atri Enrico Zanardo - How can Blockchain technologies i...
 
SFSCON23 - Lucas Lasota - The Future of Connectivity, Open Internet and Human...
SFSCON23 - Lucas Lasota - The Future of Connectivity, Open Internet and Human...SFSCON23 - Lucas Lasota - The Future of Connectivity, Open Internet and Human...
SFSCON23 - Lucas Lasota - The Future of Connectivity, Open Internet and Human...
 
SFSCON23 - Giovanni Giannotta - Intelligent Decision Support System for trace...
SFSCON23 - Giovanni Giannotta - Intelligent Decision Support System for trace...SFSCON23 - Giovanni Giannotta - Intelligent Decision Support System for trace...
SFSCON23 - Giovanni Giannotta - Intelligent Decision Support System for trace...
 
SFSCON23 - Elena Maines - Embracing CI/CD workflows for building ETL pipelines
SFSCON23 - Elena Maines - Embracing CI/CD workflows for building ETL pipelinesSFSCON23 - Elena Maines - Embracing CI/CD workflows for building ETL pipelines
SFSCON23 - Elena Maines - Embracing CI/CD workflows for building ETL pipelines
 
SFSCON23 - Christian Busse - Free Software and Open Science
SFSCON23 - Christian Busse - Free Software and Open ScienceSFSCON23 - Christian Busse - Free Software and Open Science
SFSCON23 - Christian Busse - Free Software and Open Science
 
SFSCON23 - Charles H. Schulz - Why open digital infrastructure matters
SFSCON23 - Charles H. Schulz - Why open digital infrastructure mattersSFSCON23 - Charles H. Schulz - Why open digital infrastructure matters
SFSCON23 - Charles H. Schulz - Why open digital infrastructure matters
 
SFSCON23 - Andrea Vianello - Achieving FAIRness with EDP-portal
SFSCON23 - Andrea Vianello - Achieving FAIRness with EDP-portalSFSCON23 - Andrea Vianello - Achieving FAIRness with EDP-portal
SFSCON23 - Andrea Vianello - Achieving FAIRness with EDP-portal
 
SFSCON23 - Thomas Aichner - How IoT and AI are revolutionizing Mass Customiza...
SFSCON23 - Thomas Aichner - How IoT and AI are revolutionizing Mass Customiza...SFSCON23 - Thomas Aichner - How IoT and AI are revolutionizing Mass Customiza...
SFSCON23 - Thomas Aichner - How IoT and AI are revolutionizing Mass Customiza...
 
SFSCON23 - Stefan Mutschlechner - Smart Werke Meran
SFSCON23 - Stefan Mutschlechner - Smart Werke MeranSFSCON23 - Stefan Mutschlechner - Smart Werke Meran
SFSCON23 - Stefan Mutschlechner - Smart Werke Meran
 
SFSCON23 - Mirko Boehm - European regulators cast their eyes on maturing OSS ...
SFSCON23 - Mirko Boehm - European regulators cast their eyes on maturing OSS ...SFSCON23 - Mirko Boehm - European regulators cast their eyes on maturing OSS ...
SFSCON23 - Mirko Boehm - European regulators cast their eyes on maturing OSS ...
 
SFSCON23 - Marco Pavanelli - Monitoring the fleet of Sasa with free software
SFSCON23 - Marco Pavanelli - Monitoring the fleet of Sasa with free softwareSFSCON23 - Marco Pavanelli - Monitoring the fleet of Sasa with free software
SFSCON23 - Marco Pavanelli - Monitoring the fleet of Sasa with free software
 
SFSCON23 - Marco Cortella - KNOWAGE and AICS for 2030 agenda SDG goals monito...
SFSCON23 - Marco Cortella - KNOWAGE and AICS for 2030 agenda SDG goals monito...SFSCON23 - Marco Cortella - KNOWAGE and AICS for 2030 agenda SDG goals monito...
SFSCON23 - Marco Cortella - KNOWAGE and AICS for 2030 agenda SDG goals monito...
 
SFSCON23 - Lina Ceballos - Interoperable Europe Act - A real game changer
SFSCON23 - Lina Ceballos - Interoperable Europe Act - A real game changerSFSCON23 - Lina Ceballos - Interoperable Europe Act - A real game changer
SFSCON23 - Lina Ceballos - Interoperable Europe Act - A real game changer
 
SFSCON23 - Johannes Näder Linus Sehn - Let’s monitor implementation of Free S...
SFSCON23 - Johannes Näder Linus Sehn - Let’s monitor implementation of Free S...SFSCON23 - Johannes Näder Linus Sehn - Let’s monitor implementation of Free S...
SFSCON23 - Johannes Näder Linus Sehn - Let’s monitor implementation of Free S...
 
SFSCON23 - Gabriel Ku Wei Bin - Why Do We Need A Next Generation Internet
SFSCON23 - Gabriel Ku Wei Bin - Why Do We Need A Next Generation InternetSFSCON23 - Gabriel Ku Wei Bin - Why Do We Need A Next Generation Internet
SFSCON23 - Gabriel Ku Wei Bin - Why Do We Need A Next Generation Internet
 
SFSCON23 - Edoardo Scepi - The Brand-New Version of IGis Maps
SFSCON23 - Edoardo Scepi - The Brand-New Version of IGis MapsSFSCON23 - Edoardo Scepi - The Brand-New Version of IGis Maps
SFSCON23 - Edoardo Scepi - The Brand-New Version of IGis Maps
 
SFSCON23 - Davide Vernassa - Empowering Insights Unveiling the latest innova...
SFSCON23 - Davide Vernassa - Empowering Insights  Unveiling the latest innova...SFSCON23 - Davide Vernassa - Empowering Insights  Unveiling the latest innova...
SFSCON23 - Davide Vernassa - Empowering Insights Unveiling the latest innova...
 

Recently uploaded

Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxnull - The Open Security Community
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 

Recently uploaded (20)

Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
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
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptxMaking_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
Making_way_through_DLL_hollowing_inspite_of_CFG_by_Debjeet Banerjee.pptx
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
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
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
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
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 

SFScon 21 - Matteo Camilli - Performance assessment of microservices with strong guarantees

  • 1. Performance assessment of microservices with strong guarantees Towards agile formal methods Matteo Camilli, Assistant Professor “Junior” (RTDA) Faculty of Computer Science,
 Free University of Bozen-Bolzano, Italy matteo.camilli@unibz.it https://matteocamilli.github.io 1
  • 2. Matteo Camilli - matteo.camilli@unibz.it Outline 2 • Introduction • DevOps practices for microservices • QA: performance & scalability • Our approach • Automated test-based learning of performance models • Automated formal veri fi cation of performance requirements • Some results from controlled experiments • Take away message

  • 3. Matteo Camilli - matteo.camilli@unibz.it Introduction 3 • The microservice architectural style • Distributed application where all its modules are microservices • Microservice: cohesive, independent process interacting via messages (HTTP API)
 SOA Microservices Unix
 design
 principles ✓ modularity ✓ maintainability ✓ easier deployment of latest build
 …
  • 4. Matteo Camilli - matteo.camilli@unibz.it • The DevOps setting • Frequent releases in short cycles • Changes —> easy to introduce • E ff ects of changes —> hard to understand • Decisions • e.g., go/no-go, speci fi c deployment con fi g • Important for success/failure! • We’d like to make them with
 “strong guarantees”
 Introduction (2) 4 requirements performance testing
  • 5. Matteo Camilli - matteo.camilli@unibz.it • The DevOps setting • Frequent releases in short cycles • Changes —> easy to introduce • E ff ects of changes —> hard to understand • Decisions • e.g., go/no-go, speci fi c deployment con fi g • Important for success/failure! • We’d like to make them with
 “strong guarantees”
 Introduction (2) 4 requirements performance testing How should I drive the testing process?
  • 6. Matteo Camilli - matteo.camilli@unibz.it • The DevOps setting • Frequent releases in short cycles • Changes —> easy to introduce • E ff ects of changes —> hard to understand • Decisions • e.g., go/no-go, speci fi c deployment con fi g • Important for success/failure! • We’d like to make them with
 “strong guarantees”
 Introduction (2) 4 requirements performance testing How do I specify 
 requirements? How should I drive the testing process?
  • 7. Matteo Camilli - matteo.camilli@unibz.it • The DevOps setting • Frequent releases in short cycles • Changes —> easy to introduce • E ff ects of changes —> hard to understand • Decisions • e.g., go/no-go, speci fi c deployment con fi g • Important for success/failure! • We’d like to make them with
 “strong guarantees”
 Introduction (2) 4 requirements performance testing How do I specify 
 requirements? How should I drive the testing process? How to make 
 the “right” decisions?
  • 8. Matteo Camilli - matteo.camilli@unibz.it • Analysis of the operational setting • Usage pro fi le —> behavior of the users in terms of possible sequences of interactions Actors <—> App Our approach — how to drive testing 5 Timestamp Session id Request t1 1 home t2 1 login t3 2 home … Valid requests RESTful API Log of sessions (HTTP requests) Graph of traces (DTMC model) (E.g., Disco https:// fl uxicon.com/disco/) Process Mining Graph structure 
 with probability 
 on edges SockShop demo 
 API
  • 9. Matteo Camilli - matteo.camilli@unibz.it • Analysis of the operational setting • Workload intensity —> number of concurrent users accessing the App Our approach — how to drive testing (2) 6 Empirical distribution 
 of the workload intensity Discrete distribution Data binning
  • 10. Matteo Camilli - matteo.camilli@unibz.it • Analysis of the operational setting • Workload intensity —> number of concurrent users accessing the App Our approach — how to drive testing (2) 6 Empirical distribution 
 of the workload intensity Discrete distribution Data binning Very likely 
 workload unlikely 
 workload
  • 11. Matteo Camilli - matteo.camilli@unibz.it • Elicitation of the factors • DTMC model represents the behavior of the users; • the empirical distribution for each workload intensity ; • the set of alternative deployment con fi gurations, each one de fi ning (in our case) • amount of RAM, • CPU share, • replicas per microservice • Testing sessions • One session for each • Each session shall generate synthetic users according to ℳ f(λ1), . . . , f(λk) λi ∈ Λ 𝒞 ⟨λ, c⟩ ∈ Λ × 𝒞 ℳ Our approach — how to drive testing (3) 7 (in our in-vitro experiments)
  • 12. Matteo Camilli - matteo.camilli@unibz.it Our approach — how to drive testing (4) 8
  • 13. Matteo Camilli - matteo.camilli@unibz.it Our approach — how to drive testing (4) 8 • For each testing session • Docker deploys the SUT according to • LOCUST generates users according to and • Inference module automatically augment with time information to obtain (CTMC model) c λ ℳ ℳ 𝒳
  • 14. Matteo Camilli - matteo.camilli@unibz.it Our approach — how to drive testing (4) 8 • For each testing session • Docker deploys the SUT according to • LOCUST generates users according to and • Inference module automatically augment with time information to obtain (CTMC model) c λ ℳ ℳ 𝒳 • Bayesian inference • For each edge i,j • We collect #times , total time • Gamma posterior —> • CTMC rate Ni Ti νi = Ni/Ti rij = pijνi
  • 15. Matteo Camilli - matteo.camilli@unibz.it Our approach — how to drive testing (4) 8 • For each testing session • Docker deploys the SUT according to • LOCUST generates users according to and • Inference module automatically augment with time information to obtain (CTMC model) c λ ℳ ℳ 𝒳 • Bayesian inference • For each edge i,j • We collect #times , total time • Gamma posterior —> • CTMC rate Ni Ti νi = Ni/Ti rij = pijνi • Bayes factor • Termination criterion (inferred parameters are statistically stable)
  • 16. Matteo Camilli - matteo.camilli@unibz.it Our approach — how to make the “right” decisions 9 Critical! 
 lower probability, 
 Higher likelihood
  • 17. Matteo Camilli - matteo.camilli@unibz.it Our approach — how to make the “right” decisions 9 • Computation of the cumulative probability distributions • For each service Zs(x) = P(RTs < x) Critical! 
 lower probability, 
 Higher likelihood
  • 18. Matteo Camilli - matteo.camilli@unibz.it Our approach — how to make the “right” decisions 9 • Computation of the cumulative probability distributions • For each service Zs(x) = P(RTs < x) • Con fi guration score • Given a workload we’d like to maximize the
 area under the curve weighted by the likelihood • λ As Zs φ(λ) = ∑ s As 𝒮 (s) Critical! 
 lower probability, 
 Higher likelihood
  • 19. Matteo Camilli - matteo.camilli@unibz.it Our approach — how to make the “right” decisions 9 • Computation of the cumulative probability distributions • For each service Zs(x) = P(RTs < x) • Con fi guration score • Given a workload we’d like to maximize the
 area under the curve weighted by the likelihood • λ As Zs φ(λ) = ∑ s As 𝒮 (s) • Total score • Then maximize the score over multiple sessions weighed by the likelihood of a given workload • Φ(Λ) = ∑ λ φλ f(λ) Critical! 
 lower probability, 
 Higher likelihood
  • 20. Matteo Camilli - matteo.camilli@unibz.it Our approach — how to make the “right” decisions (2) 10
  • 21. Matteo Camilli - matteo.camilli@unibz.it Our approach — how to make the “right” decisions (2) 10 4 replicas are likely 
 to decrease performance
  • 22. Matteo Camilli - matteo.camilli@unibz.it Our approach — how to make the “right” decisions (2) 10 4 replicas are likely 
 to decrease performance Good options (we could then chose based on resource consumption)
  • 23. Matteo Camilli - matteo.camilli@unibz.it Our approach — how to make the “right” decisions (3) 11 • Formal veri fi cation of performance requirements • Expressed using Continuous Stochastic Logic (CSL) • Fully automated by o ff -the-shelf model checking tools (e.g., PRISM https://www.prismmodelchecker.org/) CSL requirement examples Automated verification report E.g., config 7 does not meet 
 all the reqs R1-R5
  • 24. Matteo Camilli - matteo.camilli@unibz.it Take away message 12 • Make the “right” decisions with strong guarantees is important! • We shown how to achieve this goal by integrating formal approaches into DevOps practices • Automated execution load testing sessions • Automated building of formal models (CTMCs) • Automated computation of the con fi guration score • Automated veri fi cation of domain-dependent requirements
 • Our implementation is open source • PPTAM load testing tool https://github.com/pptam/pptam-tool • Test-based learning and veri fi cation https://github.com/matteocamilli/pptam-ctmc-experiments