1) The document proposes CAUS, an elasticity controller for containerized microservices that provisions resources based on current demand plus a buffer for anticipated future demand.
2) CAUS monitors arrival rates and provisions enough containers to handle the current rate plus 50% extra capacity as a threshold to anticipate spikes.
3) Test results found CAUS overprovisioned most of the time with less than two extra containers, and instances of underprovisioning did not result in high queue lengths when demand increased.
Reliable Software Systems CAUS: An Elasticity Controller for a Containerized Microservice
1. Institut für Softwaretechnologie
Reliable Software Systems
CAUS: An Elasticity
Controller for a
Containerized
Microservice
Floriment Klinaku, Markus Frank,
Steffen Becker
10. CAUS: Extra Capacity
Initial Size Threshold
Arrival Rate Processing Capacity
Always anticipate
this much
Anticipate
more
1
2
08.04.18
Universität Stuttgart
7
11. CAUS: Current Demand + Extra Capacity
08.04.18 8
Initial Size
Threshold
time0 time1
1
50%
Containers
0
1
2
3
4
Arrival rate
rate0
rate1
Time
Universität Stuttgart
12. CAUS: Current Demand + Extra Capacity
08.04.18 8
time0 time1
Containers
0
1
2
3
4
Arrival rate
rate0
rate1
+1
Time
Initial Size
Threshold
1
50%
Universität Stuttgart
14. Results
08.04.18 10
Overprovisions
most of the time,
but with less then
two containers
When
underprovisioning,
the need is not
high
87% 73%
<2 <2
2% 2%
<1 <1
Inc.-
Dec.
Spike
Overprovisioning
timeshare
precision
timeshare
precisionUnderprovisioning
Universität Stuttgart
15. Future work
08.04.18 11
CAUS
provisions for
the average rate
Use Feedback
Containers
0/s
10/s
20/s
30/s
40/s
14:36 14:37 14:38 14:39 14:40 14:41 14:42 14:43 14:44
0
1
2
3
4
5
6
Arrival rate
50/s
60/s
Universität Stuttgart
Queue Length
16. Conclusion
08.04.18 12
Initial Size Threshold
Arrival Rate Processing Capacity
Always anticipate
this much
Anticipate
more
1
2
Universität Stuttgart