Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
Cloud Architecture Patterns
Preface
Audience
Why This Book Exists
Assumptions This Book Makes
Contents of This Book
Building Page of Photos on Windows Azure
Terminology
Conventions Used in This Book
Using Code Examples
Safari® Books Online
How to Contact Us
Acknowledgments
1. Scalability Primer
Scalability Defined
Vertically Scaling Up
Horizontally Scaling Out
Describing Scalability
The Scale Unit
Resource Contention Limits Scalability
Easing Resource Contention
Scalability is a Business Concern
The Cloud-Native Application
Cloud Platform Defined
Cloud-Native Application Defined
Summary
2. Horizontally Scaling Compute Pattern
Context
Cloud Significance
Impact
Mechanics
Cloud Scaling is Reversible
Cloud scaling terminology
Managing Session State
Session state varies by application tier
Sticky sessions in the web tier
Stateful node challenges
Session state without stateful nodes
Stateless service nodes in the service tier
Managing Many Nodes
Efficient management enables horizontal scaling
Capacity planning for large scale
Sizing virtual machines
Failure is partial
Operational data collection
Example: Building PoP on Windows Azure
Web Tier
Stateless Role Instances (or Nodes)
Service Tier
Operational Logs and Metrics
Summary
3. Queue-Centric Workflow Pattern
Context
Cloud Significance
Impact
Mechanics
Queues are Reliable
Programming Model for Receiver
Invisibility window and at-least-once processing
Idempotent processing for repeat messages
Poison messages handling for excessive repeats
User Experience Implications
Scaling Tiers Independently
Example: Building PoP on Windows Azure
User Interface Tier
Service Tier
Synopsis of Changes to Page of Photos System
Summary
4. Auto-Scaling Pattern
Context
Cloud Significance
Impact
Mechanics
Automation Based on Rules and Signals
Separate Concerns
Be Responsive to Horizontally Scaling Out
Don’t Be Too Responsive to Horizontally Scaling In
Set Limits, Overriding as Needed
Take Note of Platform-Enforced Scaling Limits
Example: Building PoP on Windows Azure
Throttling
Auto-Scaling Other Resource Types
Summary
5. Eventual Consistency Primer
CAP Theorem and Eventual Consistency
Eventual Consistency Examples
Relational ACID and NoSQL BASE
Impact of Eventual Consistency on Application Logic
User Experience Concerns
Programmatic Differences
Summary
6. MapReduce Pattern
Context
Cloud Significance
Impact
Mechanics
MapReduce Use Cases
Beyond Custom Map and Reduce Functions
More Than Map and Reduce
Example: Building PoP on Windows Azure
Summary
7. Database Sharding Pattern
Context
Cloud Significance
Impact
Mechanics
Shard Identification
Shard Distribution
When Not to Shard
Not All Tables Are Sharded
Cloud Database Instances
Example: Building PoP on Windows Azure
Rebalancing Federations
Fan-Out Queries Across Federations
NoSQL Alternative
Summary
8. Multitenancy and Commodity Hardware Primer
Multitenancy
Security
Performance Management
Impact of Multitenancy on Application Logic
Commodity Hardware
Shift in Emphasis from MTBF to MTTR
Impact of Commodity Hardware on Application Logic
Homogeneous Hardware
Summary
9. Busy Signal Pattern
Context
Cloud Significance
Impact
Mechanics
Transient Failures Result in Busy Signals
Recognizing Busy Signals
Responding to Busy Signals
User Experience Impact
Logging and Reducing Busy Signals
Testing
Example: Building PoP on Windows Azure
Summary
10. Node Failure Pattern
Context
Cloud Significance
Impact
Mechanics
Failure Scenarios
Treat All Interruptions as Node Failures
Maintain Sufficient Capacity for Failure with N+1 Rule
Handling Node Shutdown
Node shutdown with minimal impact to user experience
Node shutdown without losing partially completed work
Node shutdown without losing operational data
Recovering From Node Failure
Shielding interactive users from failures
Resuming work-in-progress on backend systems
Example: Building PoP on Windows Azure
Preparing PoP for Failure
N+1 rule
Windows Azure fault domains
Upgrade domains
Handling PoP Role Instance Shutdown
Web role instance shutdown
Worker role instance shutdown
Use controlled reboots
Recovering PoP From Failure
Summary
11. Network Latency Primer
Network Latency Challenges
Reducing Perceived Network Latency
Reducing Network Latency
Summary
12. Colocate Pattern
Context
Cloud Significance
Impact
Mechanics
Automation Helps
Cost Considerations
Non-Technical Considerations
Example: Building PoP on Windows Azure
Affinity Groups
Operational Logs and Metrics
Summary
13. Valet Key Pattern
Context
Cloud Significance
Impact
Mechanics
Public Access
Granting Temporary Access
Security Considerations
Example: Building PoP on Windows Azure
Public Read Access
Shared Access Signatures
Summary
14. CDN Pattern
Context
Cloud Significance
Impact
Mechanics
Caches Can Be Inconsistent
Example: Building PoP on Windows Azure
Cost Considerations
Security Considerations
Additional Capabilities
Summary
15. Multisite Deployment Pattern
Context
Cloud Significance
Impact
Mechanics
Non-Technical Considerations in Data Center Selection
Cost Implications
Failover Across Data Centers
Example: Building PoP on Windows Azure
Choosing a Data Center
Routing to the Closest Data Center
Replicating User Data for Performance
Replicating Identity Information for Account Owners
Data Center Failover
Colocation Alternatives
Summary
A. Further Reading
Page of Photos (PoP) Sample
Resources From Preface and Chapters
Chapter 1
Chapter 2
Chapter 3
Chapter 4
Chapter 5
Chapter 6
Chapter 7
Chapter 8
Chapter 9
Chapter 10
Chapter 11
Chapter 12
Chapter 13
Chapter 14
Chapter 15
Index
About the Author
Copyright
← Prev
Back
Next →
← Prev
Back
Next →