P4L4. Datacenter Technologies Flashcards
What is a functionally homogeneous architecture?
All nodes execute any possible step in processing for any request.
+ keeps front-end simple (doesn’t have to track which node can do which type of action)
- little opportunity to benefit from caching
What is functionally heterogeneous architecture?
Nodes execute some specific step in request processing for some request types.
+ can take advantage of locality and caching
- more complex front-end (needs to know which node can service request)
- more complex management (when a node fails or traffic increases we have to know what kind of machines to add and how to configure them)…it’s easy to end up with hotspots that create backlogs
What is the traditional approach to scaling resources? Pros/Cons
Buy and configure resources. Determine capacity based on expected demand (peak)
Pros
?
Cons
When demand exceeds capacity we
- drop requests
- lost opportunity
What is the cloud approach to scaling resources? Pros/Cons?
+ capacity scales elastically with demand
+ scaling is instantaneous, both up and down
+ cost is proportional to demand and revenue opportunity
+ all of this happens automatically
+ can access anytime, anywhere
What are the four cloud deployment models?
Public
- third party customers/tenants
Private
- leverage technology internally
Hybrid (public + private)
- failover, dealing with spikes, testing
Community
- used by certain type of users
What are the requirements for the cloud?
- “fungible” resources
- elastic, dynamic resource allocation methods
- scale: management at scale, scalable resource allocations
- dealing with failures
- multi-tenancy: performance & isolation
- security
How to calculate the probability of a system failure?
Probability of a single component NOT failing:
(1-p)
Probability of none of the components failing:
(1-p)^n
System failure probability:
1 - [(1-p)^n] (and * 100 for % value)
Variables:
p = failure probability of a single component
n = number of components
1 - [(1-p)^n] (* 100 for %).