LV 5 Flashcards
Why elastic workload?
Reduce over/under provisioning
Reduce const
Increase customer satisfaction
Scalability limit
Web: overhead with parallelisation, sequential part dominates the execution
Transaction based apps: shared resources (e.g database)
Scalability
Characteristic of an application to increase capacity with the amount of resources
Capacity of application depends on
Available resource capacities
Application design
Elasticity
Dynamic adaptation of capacity to change in workload
No shutdown/restart required
Capacity planning in cloud
Possible due to dynamic resource management and pay per use cost model
High elasticity
Vertical Scaling - Scaling up
Increase capacity of singe Service instance by increasing its resources
( increase cpu time percentage, clock frequency, more cores)
Advantage: no change in service required
Horizontal Scaling - Scaling out
Capacity increase if service by creating more instances ( copies of services, load balancer on top)
Vertical scaling
Advantages: easy to replace resource with more powerful
No application redesign
Disadvantages:
More powerful resource might be too expensive
Resource capacity is limited
Replacement of resource causes service interruption
Horizontal scaling: pros and cons
Pros: scaling through adding more resources
No requirement for more powerful hardware
Cons: increased amount of resources comes with more management overhead
Required distributed software architecture
Long term solution !
SLO
service level objective
Latency of requests
Failed request rate
Service availability
Auto scaling policy
Analyzer -> scheduler -> scaling actions -> executer -> cloud CMDs
Policy -> scheduler
Auto scaling approach: reactive
Detect under/overloaded service
Scale in/out or down/up according to policy
Autoscaling approaches: scheduled
Policy specifies scaling events
Apply scaling actions at appropriate time
Autoscaling approaches: predictive
Continuously predict future workload
If workload change, schedule scaling actions ahead in time
Goals: circumvent scaling latency, enable more time consuming scaling decisions