Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
DO-AS-CASPOTT: DevOps AutoScaler and Critical Artifact Spotter
1. PAGE 1 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
#GHC16
2016Feedback Driven Development
of Cloud Applications
Harini Gunabalan,
Technical University of Darmstadt, Germany
@harinigunabalan
4. PAGE 4 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
Motivation
Cloud
Developer
Operator
End Users
5. PAGE 5 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
Motivation
Cloud
Developer
Operator
End Users
App App
Deploy app
6. PAGE 6 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
Motivation
Cloud
Developer
Operator
End Users
App App
Deploy app
VMVM VM VM
Provision resources
7. PAGE 7 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
Motivation
Cloud
Developer
Operator
End Users
App App
Deploy app
VMVM VM VM
Provision resources
Use App
8. PAGE 8 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
Cloud
Developer
Operator
End Users
App App
Deploy app
VMVM VM VM
Provision resources
Use App
Not
working!
Motivation
9. PAGE 9 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
Motivation
Cloud
Developer
Operator
End Users
App App
Deploy app
VMVM VM VM
Provision resources
Use App
Where is the problem?Not
working!
10. PAGE 10 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
Motivation
Cloud
Developer
Operator
End Users
App App
Deploy app
VMVM VM VM
Provision resources
Use App
Where is the problem?Not
working!
Maybe, I
should
improve
code?
11. PAGE 11 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
Motivation
Cloud
Developer
Operator
End Users
App App
Deploy app
VMVM VM VM
Provision resources
Use App
Where is the problem?Not
working!
Maybe, I
should
improve
code?
Is the resource
provisioning
not sufficient?
13. PAGE 13 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
Problem Statement – APM Information
What is Feedback Driven Development?
15. PAGE 15 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
Problem Statement - FDD
What is CASPOTT?
Critical Artifact Spotter.
Identifies source code
issues and performance
hotspots.
Solution: Combination of plug-ins that
support the Developer (CASPOTT) and
Operator (Auto-scaler)
What is Auto-scaling?
On-demand scale out and
scale in depending on Load.
24. PAGE 24 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
CASPOTT
• Implemented
as an Eclipse
Plug-in
• Store run-time
information in
Elastic Search
• Display
hotspots to
Developer
• Direct
Mapping to
source code
25. PAGE 25 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
Component 1: Cloud Monitoring
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)
27. PAGE 27 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
• 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
27
28. PAGE 28 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
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
28
29. PAGE 29 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
MATLAB System Identification Toolbox – Dataset splitting
29
30. PAGE 30 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
• Model
estimation
• State-space Model
• Polynomial
Models
• ARX
• ARMAX
• Validate the
model
Model Estimation and Validation
30
32. PAGE 32 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
Estimating ARX and ARMAX models
32
33. PAGE 33 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
Evaluation
33
Image Source: https://www.usu.edu/ccampis/evaluation/
34. PAGE 34 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
Deploy Guestbook Application to Cloud
34
35. PAGE 35 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
Generate Load on Guestbook app
35
36. PAGE 36 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
Scaling occurs
36
Requests per secondNo. of instances
37. PAGE 37 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
Comparison with and without the Auto-scaler
37
Requests
per second
Average
response
time
Requests
per second
Average
response
time
Without Auto-scaler,
Maximum response
time is 750 ms
With Auto-scaler,
Maximum response
time is 100 ms
39. PAGE 39 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
Conculsion
39
Auto-scaler
Solved!
ü CASPOTT
ü Auto-scaler
ü Correlation Model to
make the auto-scaler
smart!
CASPOTT
40. PAGE 40 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
• 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
41. PAGE 41 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
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 of the 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, “Polyglot application 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 deployment automation. Pearson
Education, 2010.
Ø http://docs.pivotal.io/pivotalcf/1-7/customizing/autoscale-configuration.html
Ø Cloud wave project - http://cloudwave-fp7.eu/
41
42. PAGE 42 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
Thank you
Supervisors:
Prof. Dr. –Ing. Mira Mezini
Dr. –Ing. Guido Salvaneschi
43. PAGE 43 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
Appendix - 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
43
44. PAGE 44 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
Appendix - 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)
44
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)
45. PAGE 45 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
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 canbe 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.
45
46. PAGE 46 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
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
46
47. PAGE 47 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
Appendix - Model output
The Model estimation output for State space, ARX and ARMAX models.
47
48. PAGE 48 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
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
49. PAGE 49 | GRACE HOPPER CELEBRATION 2016 | #GHC16
PRESENTED BY THE ANITA BORG INSTITUTE AND THE ASSOCIATION FOR COMPUTING MACHINERY
Appendix - System Footprint for Auto-Scaler
Implementation
49