This document discusses concepts related to scalability, availability, and autoscaling in cloud computing. It defines key terms like scalability, availability, and high availability. It describes techniques for vertical and horizontal scaling as well as load balancing. The document discusses capacity planning and choosing the required scale based on factors like throughput and cost of downtime. It also covers autoscaling and how systems can dynamically scale based on load. Finally, it compares different architecture patterns for availability from single node to multi-region deployments.
6. *
High Availability
A system that is designed for continuous operation
in the event of a failure of one or more
components. However, the system may display
some degradation of service, but will continue to
perform correctly.
High Availability: The proportion of time during
which the service is accessible with reasonable
response times should be close to 100%.
7. *
How to decide required scale
(capacity) & availability?
• Average throughput (TPS)
• Max throughput (TPS)
• Monetary value of a transaction
• Average loss & max loss per second of
downtime
• Decide on how much to invest based on cost vs.
benefit tradeoff
8. *
Vertical Scaling
• Get the maximum out of each allocated JVM or
resource
• Increase CPU size
• Increase memory
14. *
Capacity Planning
Throughput = number of completed requests / time to complete the requests
No. of servers = (projected max load * 1.3) / max throughput of one server
max throughput of one server = max throughput of that server for the slowest
scenario in the set of use cases
16. *
Dynamic membership
• No predefined members
• Nodes can join & leave
M2
M1
M3
M4
Dynamic group
N
Join
17. *
Hybrid membership
• Some predefined (well-known) members, and some
dynamic members
• Nodes can join & leave
• Membership revolves around the static members
Hybrid group
N
M2
M1
M3 M4
Static members
M6M5
M7
Dynamic members
Join (IP,
Port)
19. *
Well-known Address (WKA) based
membership management
Hybrid group
N
WK
2
WK
1
WK
3 WK
4
Static members
M6
M5
M
7
Dynamic members
Join (IP,
Port)
Notify
20. *
Multicast vs. WKA
Multicast WKA
All nodes should be in the same subnet Nodes can be in different networks
All nodes should be in the same multicast domain
No multicasting requirement
Multicasting should not be blocked
No fixed IP addresses or hosts required At least one well-known IP address or host
required
Failure of any member does not affect
membership discovery
New members can join with some WKA nodes
down, but not if all WKA nodes are down
Does not work on IaaSs such as Amazon EC2 IaaS-friendly
Requires keepalived, elastic IPs or some other
mechanism for remapping IP addresses of WK
members in cases of failure
21. *
● Solves performance, availability, and
economic costs issues
● Currently the customer needs a considerable
capacity planning
● Reduce cost of cloud: reduce economic cost
and energy footprint
SLA Awareness
22. *
● Monitoring the cloud parameters
● Trigger an event if a SLA violation happened
● Acting upon the events
SLA Awareness: Solution
23. *
Auto-scaling
• Scale-out when load increases
• Scale-in when load decreases
• Always use the optimum amount of resources
• Try out
• AWS ELB
• Apache Stratos Load Balancer
• WSO2 ELB
39. *
Multiple IaaS (hybrid) DeploymentAvailability
Cost
LOWEST
HIGHEST
Private cloud (data center)
Zone 1
Zone 2
Amazon EC2
Zone 1
Zone 2
Rackspace Cloud
Zone 1
Zone 2