SlideShare a Scribd company logo
1 of 49
Download to read offline
08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan |
Harini Gunabalan
Master Thesis, Distributed Software systems
Feedback Driven Development of
Cloud Applications
1
Execution Analytics Coordinated Adaptation Feedback
08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan |
Motivation
2
08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan |
Motivation
Cloud
3
08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan |
Motivation
Cloud
Developer
Operator
End Users
4
08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan |
Motivation
Cloud
Developer
Operator
End Users
App App
Deploy app
5
08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan |
Motivation
Cloud
Developer
Operator
End Users
App App
Deploy app
VMVM VM VM
Provision resources
6
08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan |
Motivation
Cloud
Developer
Operator
End Users
App App
Deploy app
VMVM VM VM
Provision resources
Use App
7
08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan |
Cloud
Developer
Operator
End Users
App App
Deploy app
VMVM VM VM
Provision resources
Use App
8
Not
working!
Motivation
08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan |
Motivation
Cloud
Developer
Operator
End Users
App App
Deploy app
VMVM VM VM
Provision resources
Use App
Where is the problem?Not
working!
9
08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan |
Cloud
Developer
Operator
End Users
App App
Deploy app
VMVM VM VM
Provision resources
Use App
Where is the problem?
Maybe, I
should
improve
code?
Not
working!
10
Motivation
08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan |
Cloud
VMVM VM VM
Provision resources
App
End Users
App
Use App Developer
Operator
Maybe, I
should
improve
code?
Is the
resource
provisioning
not sufficient?
Deploy app
Where is the problem?Not
working!
11
Motivation
08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan |
Problem Statement
12
08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan |
Problem Statement – APM Information
13
08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan |
Problem Statement - FDD
14
Automating Resource
provisioning Using the
Run-time information
Identifying Source
Code Issues
What is Feedback Driven Development?
08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan |
Problem Statement – Auto-scaling
15
Automating Resource
provisioning Using the Run-
time information
Problem:
Automate Resource
Provisioning
Solution:
Auto-scaling
What is Auto-scaling?
On-demand scale out and
scale in depending on
Load.
08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan |
System Design
16
Architecture
17
• 3 components
Ø Cloud
monitoring
Ø Scaling-
service
Ø Data modeling
• Platform level
autoscaling
Component Interaction
18
Component Interaction
19
Component Interaction
20
Component Interaction
21
08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan |
Implementation
22
08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan |
System Footprint
23
08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan |
Component 1: Cloud Monitoring
24
Key metrics monitored
• Average response time (CF Logs)
• Number of incoming requests (CF
Logs)
• Number of running app instances
(CF API)
• CPU utilization (CF API)
• Memory utilization (CF API)
• Disk utilization (CF API)
Component 2:
Auto-scaling
25
08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan |
• Model data to identify correlation between metrics
• Most real world data are Multi-dimensional.
• Multiple-input and Multiple-output (MIMO) models.
Ø State-space Model
Ø Polynomial Models
Ø ARX
Ø ARMAX
Component 3: Data Modeling
26
08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan |
State Space Models
• Represented by differential equations and state variables.
• Output can be predicted for any future time provided the input, output,
and a minimum set of state variables xi(t), are known.
dx/dt = Ax + Bu
y = C x + Du
27
08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan |
Polynomial models - ARX & ARMAX
ARX:
• Auto regression - current
output depends on the past
input and output values.
• Considering auto regression
and the current inputs, ARX
model can be mathematically
described as:
A(z) y(t) = B(z)u(t - n) + e(t)
28
ARMAX:
• Unlike ARX, ARMAX considers
stochastic dynamics.
• Better for systems with extra
disturbances
• Includes both AR(p) and MA(q)
models.
• ARMAX is represented mathematically
as
A(z) y(t) = B(z)u(t - n) + c(z)e(t)
08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan |
1. Set Output = [Response
Time]
2. Set Input = [ Number of
incoming requests, No of
instances, CPU%,
memory, and disk
utilization]
Data Modeling in MATLAB System
Identification Toolbox: Import Data
29
08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan |
MATLAB System Identification Toolbox –
Dataset splitting
30
08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan |
• Model estimation
• State-space Model
• Polynomial Models
• ARX
• ARMAX
• Validate the
model
Model Estimation and Validation
31
08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan |
Estimating State Space model
32
08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan |
Estimating ARX and ARMAX models
33
08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan |
Evaluation
34
Image Source: https://www.usu.edu/ccampis/evaluation/
08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan |
Deploy Guestbook Application to Cloud
35
08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan |
Generate Load on Guestbook app
36
08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan |
Scaling occurs
37
RequestspersecondNo.ofinstances
08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan |
Configuration File Settings
38
08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan |
Comparison with and without the Auto-scaler
39
Requests
persecond
Average
response
time
Requests
persecond
Average
response
time
Without Auto-scaler,
Maximum response
time is 750 ms
With Auto-scaler,
Maximum response
time is 100 ms
08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan |
Model output
The Model estimation output for State space, ARX and ARMAX models.
40
08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan |
Insert page title
Headline here
§ Lorem ipsum dolor sit amet, consectetur
adipiscing elit. Maecenas pellentesque laoreet
urna molestie placerat ipsum.
Headline here
§ Lorem ipsum dolor sit amet, consectetur
adipiscing elit. Maecenas pellentesque laoreet
urna molestie placerat ipsum.
Video
Demo
08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan |
Insert page title
Headline here
§ Lorem ipsum dolor sit amet, consectetur
adipiscing elit. Maecenas pellentesque laoreet
urna molestie placerat ipsum.
Headline here
§ Lorem ipsum dolor sit amet, consectetur
adipiscing elit. Maecenas pellentesque laoreet
urna molestie placerat ipsum.
Video
Demo
08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan |
Conculsion
43
Automated Resource
provisioning Using the run-
time metrics
Solved!
ü Monitoring Service
ü Auto-scaler
ü Correlation Model to
make the auto-scaler
smart!
08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan |
• Metric parameter tuning
• Metric combination & Custom Metrics
• Determining metric thresholds
• Testing with different applications types - memory or database
intensive.
• Improved modeling, collection of larger sample datasets
Open Challenges and Future work
08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan |
References
Ø M. Httermann,DevOps for developers.Apress, 2012.
Ø J. Cito, P. Leitner,H. C. Gall, A. Dadashi,A. Keller,and A. Roth, “Runtime metric meets developer:building better cloud
applications using feedback,” in 2015 ACM International Symposium on New Ideas, New Paradigms,and Reflections on
Programming and Software,pp. 14–27,ACM, 2015.
Ø “Amazon web services.” https://aws.amazon.com/, Accessed:08-Aug-2016.
Ø “New relic.” https://newrelic.com/, Accessed: 08-Aug-2016.
Ø J. Cito, P. Leitner,T. Fritz, and H. C. Gall, “The making of cloud applications:An empirical study on software development
for the cloud,” in Proceedings ofthe 2015 10th Joint Meeting on Foundations of Software Engineering,pp.393–403,ACM,
2015.
Ø L. Ljung,System identification.Springer,1998.
Ø “Sap hana cloud platform.” https://hcp.sap.com/index.html, Accessed: 08-Aug-2016.
Ø S. R. Seelam,P. Dettori, P. Westerink, and B. B. Yang,“Polyglotapplication auto scaling service for platform as a service
cloud,” in Cloud Engineering (IC2E),2015 IEEE International Conference on,pp. 84–91,IEEE, 2015.
Ø J. Humble and D. Farley, Continuous delivery:reliable software releases through build,test, and deploymentautomation.
Pearson Education,2010.
Ø http://docs.pivotal.io/pivotalcf/1-7/customizing/autoscale-configuration.html
Ø Cloud wave project- http://cloudwave-fp7.eu/
45
08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan |
Thank You
46
www.cloudwave-fp7.eu
Prof. Dr. –Ing. Mira Mezini
Dr. –Ing. Guido Salvaneschi
Dr. Gerald Junkermann
Aryan Dadashi
Jürgen Cito
08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan |
Appendix: Polynomial models - ARX
• The ARX model to evaluate the output is based on auto-regression.
• Auto regressive model is a model whose current output depends on the past
input and output values. The generic notion to denote auto-regressive model of
order p, AR(p) for a variable X is:
where c and i are constants and e(t) is the noise. Considering auto regression and
the inputs, ARX model can be mathematically described as:
A(z) y(t) = B(z)u(t - n) + e(t)
where y(t) is the output, u(t) is the input, and e(t) is the noise/error measured in the
output. A(z) and B(z) are polynomials of the specified order with respect to the
backward shift operator z-1.
47
08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan |
Appendix: Polynomial models - ARMAX
Unlike the ARX model, in ARMAX, the stochastic dynamics are considered. ARMAX models
are better for systems with more disturbances. In general, the moving average model of
order q, MA(q) is represented in the below notation:
where e(t-i) is the noise/error. The notation for the autoregressive moving average(ARMA)
model is as below:
This model includes both AR(p) and MA(q) models. Based on these the following
mathematical equation for the ARMAX model can be written as:
A(z) y(t) = B(z)u(t - n) + c(z)e(t)
where, y(t) is the output, u(t)is the input, and e(t) is the noise. A(z), B(z) and C(z) are
polynomials of specified orders with respect to the backward shift operator z-1
48
08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan |
Appendix: CASpott
Feedback Handler
- Queries the raw logs
- Prepares the raw logs for
further processing by
mapping them to the API
format of the Statistical
Analysis Engine
Statistical Analysis Engine
- Analyzes and aggregates
the collected information
coming from Feedback
Handler based on
predefined metrics
Static Code Analysis Engine
- Analyzes the code and
realizes the connection
between the feedback and
the code

More Related Content

Similar to Feedback Driven Development

Maintaining SLOs of Cloud-native Applications via Self-Adaptive Resource Sharing
Maintaining SLOs of Cloud-native Applications via Self-Adaptive Resource SharingMaintaining SLOs of Cloud-native Applications via Self-Adaptive Resource Sharing
Maintaining SLOs of Cloud-native Applications via Self-Adaptive Resource Sharing
Vladimir Podolskiy
 
It‘s Math That Drives Things – Simulink as Simulation and Modeling Environment
It‘s Math That Drives Things – Simulink as Simulation and Modeling EnvironmentIt‘s Math That Drives Things – Simulink as Simulation and Modeling Environment
It‘s Math That Drives Things – Simulink as Simulation and Modeling Environment
Joachim Schlosser
 
Resume Dhananjay Gowda
Resume Dhananjay GowdaResume Dhananjay Gowda
Resume Dhananjay Gowda
DhananjayGowda
 
CNC Training Center
CNC Training CenterCNC Training Center
CNC Training Center
ttehnologie
 
cv_Junhong Lin(5_26)
cv_Junhong Lin(5_26)cv_Junhong Lin(5_26)
cv_Junhong Lin(5_26)
Junhong Lin
 

Similar to Feedback Driven Development (20)

Model Risk Management for Machine Learning
Model Risk Management for Machine LearningModel Risk Management for Machine Learning
Model Risk Management for Machine Learning
 
Maintaining SLOs of Cloud-native Applications via Self-Adaptive Resource Sharing
Maintaining SLOs of Cloud-native Applications via Self-Adaptive Resource SharingMaintaining SLOs of Cloud-native Applications via Self-Adaptive Resource Sharing
Maintaining SLOs of Cloud-native Applications via Self-Adaptive Resource Sharing
 
2020 09-16-ai-engineering challanges
2020 09-16-ai-engineering challanges2020 09-16-ai-engineering challanges
2020 09-16-ai-engineering challanges
 
Cornell University Uses Splashtop to Deliver 2D/3D Applications using Amazon ...
Cornell University Uses Splashtop to Deliver 2D/3D Applications using Amazon ...Cornell University Uses Splashtop to Deliver 2D/3D Applications using Amazon ...
Cornell University Uses Splashtop to Deliver 2D/3D Applications using Amazon ...
 
D space magazin_2019_2_iupui_english
D space magazin_2019_2_iupui_englishD space magazin_2019_2_iupui_english
D space magazin_2019_2_iupui_english
 
Model-Based Optimization for Effective and Reliable Decision-Making
Model-Based Optimization for Effective and Reliable Decision-MakingModel-Based Optimization for Effective and Reliable Decision-Making
Model-Based Optimization for Effective and Reliable Decision-Making
 
Designing Swarms of Cyber-Physical Systems: The H2020 CPSwarm Project
Designing Swarms of Cyber-Physical Systems: The H2020 CPSwarm ProjectDesigning Swarms of Cyber-Physical Systems: The H2020 CPSwarm Project
Designing Swarms of Cyber-Physical Systems: The H2020 CPSwarm Project
 
It‘s Math That Drives Things – Simulink as Simulation and Modeling Environment
It‘s Math That Drives Things – Simulink as Simulation and Modeling EnvironmentIt‘s Math That Drives Things – Simulink as Simulation and Modeling Environment
It‘s Math That Drives Things – Simulink as Simulation and Modeling Environment
 
ASD PDEng
ASD PDEngASD PDEng
ASD PDEng
 
Machine Learning Meets Quantitative Planning: Enabling Self-Adaptation in Aut...
Machine Learning Meets Quantitative Planning: Enabling Self-Adaptation in Aut...Machine Learning Meets Quantitative Planning: Enabling Self-Adaptation in Aut...
Machine Learning Meets Quantitative Planning: Enabling Self-Adaptation in Aut...
 
Resume Dhananjay Gowda
Resume Dhananjay GowdaResume Dhananjay Gowda
Resume Dhananjay Gowda
 
CNC Training Center
CNC Training CenterCNC Training Center
CNC Training Center
 
Project template for projects looks like this
Project template for projects looks like thisProject template for projects looks like this
Project template for projects looks like this
 
[Capella Day Toulouse] Driving intelligent transportation systems with Capella
[Capella Day Toulouse] Driving intelligent transportation systems with Capella[Capella Day Toulouse] Driving intelligent transportation systems with Capella
[Capella Day Toulouse] Driving intelligent transportation systems with Capella
 
4.1_Simulation & Analysis Tools for Microgrids_Weng and Cortes_EPRI/SNL Micro...
4.1_Simulation & Analysis Tools for Microgrids_Weng and Cortes_EPRI/SNL Micro...4.1_Simulation & Analysis Tools for Microgrids_Weng and Cortes_EPRI/SNL Micro...
4.1_Simulation & Analysis Tools for Microgrids_Weng and Cortes_EPRI/SNL Micro...
 
BSSML16 L8. REST API, Bindings, and Basic Workflows
BSSML16 L8. REST API, Bindings, and Basic WorkflowsBSSML16 L8. REST API, Bindings, and Basic Workflows
BSSML16 L8. REST API, Bindings, and Basic Workflows
 
cv_Junhong Lin(5_26)
cv_Junhong Lin(5_26)cv_Junhong Lin(5_26)
cv_Junhong Lin(5_26)
 
Applying Machine learning to IOT: End to End Distributed Distributed Pipeline...
Applying Machine learning to IOT: End to End Distributed Distributed Pipeline...Applying Machine learning to IOT: End to End Distributed Distributed Pipeline...
Applying Machine learning to IOT: End to End Distributed Distributed Pipeline...
 
Kettemann, Rainer, Track 5
Kettemann, Rainer, Track 5Kettemann, Rainer, Track 5
Kettemann, Rainer, Track 5
 
Abdelrhman hashesh-cv
Abdelrhman hashesh-cvAbdelrhman hashesh-cv
Abdelrhman hashesh-cv
 

Recently uploaded

“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
Muhammad Subhan
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
FIDO Alliance
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
FIDO Alliance
 

Recently uploaded (20)

Oauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoftOauth 2.0 Introduction and Flows with MuleSoft
Oauth 2.0 Introduction and Flows with MuleSoft
 
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties ReimaginedEasier, Faster, and More Powerful – Notes Document Properties Reimagined
Easier, Faster, and More Powerful – Notes Document Properties Reimagined
 
How to Check GPS Location with a Live Tracker in Pakistan
How to Check GPS Location with a Live Tracker in PakistanHow to Check GPS Location with a Live Tracker in Pakistan
How to Check GPS Location with a Live Tracker in Pakistan
 
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptxCyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
Cyber Insurance - RalphGilot - Embry-Riddle Aeronautical University.pptx
 
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
Event-Driven Architecture Masterclass: Engineering a Robust, High-performance...
 
Vector Search @ sw2con for slideshare.pptx
Vector Search @ sw2con for slideshare.pptxVector Search @ sw2con for slideshare.pptx
Vector Search @ sw2con for slideshare.pptx
 
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
“Iamnobody89757” Understanding the Mysterious of Digital Identity.pdf
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
How to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cfHow to Check CNIC Information Online with Pakdata cf
How to Check CNIC Information Online with Pakdata cf
 
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider  Progress from Awareness to Implementation.pptxTales from a Passkey Provider  Progress from Awareness to Implementation.pptx
Tales from a Passkey Provider Progress from Awareness to Implementation.pptx
 
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
TEST BANK For, Information Technology Project Management 9th Edition Kathy Sc...
 
2024 May Patch Tuesday
2024 May Patch Tuesday2024 May Patch Tuesday
2024 May Patch Tuesday
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024
 
Overview of Hyperledger Foundation
Overview of Hyperledger FoundationOverview of Hyperledger Foundation
Overview of Hyperledger Foundation
 
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
AI+A11Y 11MAY2024 HYDERBAD GAAD 2024 - HelloA11Y (11 May 2024)
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data Science
 
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...Hyatt driving innovation and exceptional customer experiences with FIDO passw...
Hyatt driving innovation and exceptional customer experiences with FIDO passw...
 
ADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptxADP Passwordless Journey Case Study.pptx
ADP Passwordless Journey Case Study.pptx
 
UiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overviewUiPath manufacturing technology benefits and AI overview
UiPath manufacturing technology benefits and AI overview
 

Feedback Driven Development

  • 1. 08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan | Harini Gunabalan Master Thesis, Distributed Software systems Feedback Driven Development of Cloud Applications 1 Execution Analytics Coordinated Adaptation Feedback
  • 2. 08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan | Motivation 2
  • 3. 08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan | Motivation Cloud 3
  • 4. 08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan | Motivation Cloud Developer Operator End Users 4
  • 5. 08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan | Motivation Cloud Developer Operator End Users App App Deploy app 5
  • 6. 08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan | Motivation Cloud Developer Operator End Users App App Deploy app VMVM VM VM Provision resources 6
  • 7. 08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan | Motivation Cloud Developer Operator End Users App App Deploy app VMVM VM VM Provision resources Use App 7
  • 8. 08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan | Cloud Developer Operator End Users App App Deploy app VMVM VM VM Provision resources Use App 8 Not working! Motivation
  • 9. 08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan | Motivation Cloud Developer Operator End Users App App Deploy app VMVM VM VM Provision resources Use App Where is the problem?Not working! 9
  • 10. 08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan | Cloud Developer Operator End Users App App Deploy app VMVM VM VM Provision resources Use App Where is the problem? Maybe, I should improve code? Not working! 10 Motivation
  • 11. 08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan | Cloud VMVM VM VM Provision resources App End Users App Use App Developer Operator Maybe, I should improve code? Is the resource provisioning not sufficient? Deploy app Where is the problem?Not working! 11 Motivation
  • 12. 08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan | Problem Statement 12
  • 13. 08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan | Problem Statement – APM Information 13
  • 14. 08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan | Problem Statement - FDD 14 Automating Resource provisioning Using the Run-time information Identifying Source Code Issues What is Feedback Driven Development?
  • 15. 08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan | Problem Statement – Auto-scaling 15 Automating Resource provisioning Using the Run- time information Problem: Automate Resource Provisioning Solution: Auto-scaling What is Auto-scaling? On-demand scale out and scale in depending on Load.
  • 16. 08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan | System Design 16
  • 17. Architecture 17 • 3 components Ø Cloud monitoring Ø Scaling- service Ø Data modeling • Platform level autoscaling
  • 22. 08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan | Implementation 22
  • 23. 08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan | System Footprint 23
  • 24. 08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan | Component 1: Cloud Monitoring 24 Key metrics monitored • Average response time (CF Logs) • Number of incoming requests (CF Logs) • Number of running app instances (CF API) • CPU utilization (CF API) • Memory utilization (CF API) • Disk utilization (CF API)
  • 26. 08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan | • Model data to identify correlation between metrics • Most real world data are Multi-dimensional. • Multiple-input and Multiple-output (MIMO) models. Ø State-space Model Ø Polynomial Models Ø ARX Ø ARMAX Component 3: Data Modeling 26
  • 27. 08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan | State Space Models • Represented by differential equations and state variables. • Output can be predicted for any future time provided the input, output, and a minimum set of state variables xi(t), are known. dx/dt = Ax + Bu y = C x + Du 27
  • 28. 08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan | Polynomial models - ARX & ARMAX ARX: • Auto regression - current output depends on the past input and output values. • Considering auto regression and the current inputs, ARX model can be mathematically described as: A(z) y(t) = B(z)u(t - n) + e(t) 28 ARMAX: • Unlike ARX, ARMAX considers stochastic dynamics. • Better for systems with extra disturbances • Includes both AR(p) and MA(q) models. • ARMAX is represented mathematically as A(z) y(t) = B(z)u(t - n) + c(z)e(t)
  • 29. 08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan | 1. Set Output = [Response Time] 2. Set Input = [ Number of incoming requests, No of instances, CPU%, memory, and disk utilization] Data Modeling in MATLAB System Identification Toolbox: Import Data 29
  • 30. 08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan | MATLAB System Identification Toolbox – Dataset splitting 30
  • 31. 08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan | • Model estimation • State-space Model • Polynomial Models • ARX • ARMAX • Validate the model Model Estimation and Validation 31
  • 32. 08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan | Estimating State Space model 32
  • 33. 08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan | Estimating ARX and ARMAX models 33
  • 34. 08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan | Evaluation 34 Image Source: https://www.usu.edu/ccampis/evaluation/
  • 35. 08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan | Deploy Guestbook Application to Cloud 35
  • 36. 08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan | Generate Load on Guestbook app 36
  • 37. 08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan | Scaling occurs 37 RequestspersecondNo.ofinstances
  • 38. 08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan | Configuration File Settings 38
  • 39. 08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan | Comparison with and without the Auto-scaler 39 Requests persecond Average response time Requests persecond Average response time Without Auto-scaler, Maximum response time is 750 ms With Auto-scaler, Maximum response time is 100 ms
  • 40. 08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan | Model output The Model estimation output for State space, ARX and ARMAX models. 40
  • 41. 08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan | Insert page title Headline here § Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas pellentesque laoreet urna molestie placerat ipsum. Headline here § Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas pellentesque laoreet urna molestie placerat ipsum. Video Demo
  • 42. 08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan | Insert page title Headline here § Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas pellentesque laoreet urna molestie placerat ipsum. Headline here § Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas pellentesque laoreet urna molestie placerat ipsum. Video Demo
  • 43. 08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan | Conculsion 43 Automated Resource provisioning Using the run- time metrics Solved! ü Monitoring Service ü Auto-scaler ü Correlation Model to make the auto-scaler smart!
  • 44. 08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan | • Metric parameter tuning • Metric combination & Custom Metrics • Determining metric thresholds • Testing with different applications types - memory or database intensive. • Improved modeling, collection of larger sample datasets Open Challenges and Future work
  • 45. 08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan | References Ø M. Httermann,DevOps for developers.Apress, 2012. Ø J. Cito, P. Leitner,H. C. Gall, A. Dadashi,A. Keller,and A. Roth, “Runtime metric meets developer:building better cloud applications using feedback,” in 2015 ACM International Symposium on New Ideas, New Paradigms,and Reflections on Programming and Software,pp. 14–27,ACM, 2015. Ø “Amazon web services.” https://aws.amazon.com/, Accessed:08-Aug-2016. Ø “New relic.” https://newrelic.com/, Accessed: 08-Aug-2016. Ø J. Cito, P. Leitner,T. Fritz, and H. C. Gall, “The making of cloud applications:An empirical study on software development for the cloud,” in Proceedings ofthe 2015 10th Joint Meeting on Foundations of Software Engineering,pp.393–403,ACM, 2015. Ø L. Ljung,System identification.Springer,1998. Ø “Sap hana cloud platform.” https://hcp.sap.com/index.html, Accessed: 08-Aug-2016. Ø S. R. Seelam,P. Dettori, P. Westerink, and B. B. Yang,“Polyglotapplication auto scaling service for platform as a service cloud,” in Cloud Engineering (IC2E),2015 IEEE International Conference on,pp. 84–91,IEEE, 2015. Ø J. Humble and D. Farley, Continuous delivery:reliable software releases through build,test, and deploymentautomation. Pearson Education,2010. Ø http://docs.pivotal.io/pivotalcf/1-7/customizing/autoscale-configuration.html Ø Cloud wave project- http://cloudwave-fp7.eu/ 45
  • 46. 08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan | Thank You 46 www.cloudwave-fp7.eu Prof. Dr. –Ing. Mira Mezini Dr. –Ing. Guido Salvaneschi Dr. Gerald Junkermann Aryan Dadashi Jürgen Cito
  • 47. 08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan | Appendix: Polynomial models - ARX • The ARX model to evaluate the output is based on auto-regression. • Auto regressive model is a model whose current output depends on the past input and output values. The generic notion to denote auto-regressive model of order p, AR(p) for a variable X is: where c and i are constants and e(t) is the noise. Considering auto regression and the inputs, ARX model can be mathematically described as: A(z) y(t) = B(z)u(t - n) + e(t) where y(t) is the output, u(t) is the input, and e(t) is the noise/error measured in the output. A(z) and B(z) are polynomials of the specified order with respect to the backward shift operator z-1. 47
  • 48. 08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan | Appendix: Polynomial models - ARMAX Unlike the ARX model, in ARMAX, the stochastic dynamics are considered. ARMAX models are better for systems with more disturbances. In general, the moving average model of order q, MA(q) is represented in the below notation: where e(t-i) is the noise/error. The notation for the autoregressive moving average(ARMA) model is as below: This model includes both AR(p) and MA(q) models. Based on these the following mathematical equation for the ARMAX model can be written as: A(z) y(t) = B(z)u(t - n) + c(z)e(t) where, y(t) is the output, u(t)is the input, and e(t) is the noise. A(z), B(z) and C(z) are polynomials of specified orders with respect to the backward shift operator z-1 48
  • 49. 08.09.16 | Dept. of CS – Software Technology Group | Technical University of Darmstadt | Harini Gunabalan | Appendix: CASpott Feedback Handler - Queries the raw logs - Prepares the raw logs for further processing by mapping them to the API format of the Statistical Analysis Engine Statistical Analysis Engine - Analyzes and aggregates the collected information coming from Feedback Handler based on predefined metrics Static Code Analysis Engine - Analyzes the code and realizes the connection between the feedback and the code