Home Page Icon
Home Page
Table of Contents for
I. Availability
Close
I. Availability
by Lee Atchison
Architecting for Scale
Foreword
Preface
Who Should Read This Book
Why I Wrote This Book
A Word on Scale Today
Navigating This Book
Part I, “Availability”
Part II, “Risk Management”
Part III, “Services and Microservices”
Part IV, “Scaling Applications”
Part V, “Cloud Services”
Part VI, “Conclusion”
Online Resources
Conventions Used in This Book
Safari® Books Online
How to Contact Us
Acknowledgments
I. Availability
1. What Is Availability?
Availability Versus Reliability
What Causes Poor Availability?
2. Five Focuses to Improve Application Availability
Focus #1: Build with Failure in Mind
Focus #2: Always Think About Scaling
Focus #3: Mitigate Risk
Focus #4: Monitor Availability
Focus #5: Respond to Availability Issues in a Predictable and Defined Way
Being Prepared
3. Measuring Availability
The Nines
What’s Reasonable?
Don’t Be Fooled
Availability by the Numbers
4. Improving Your Availability When It Slips
Measure and Track Your Current Availability
Automate Your Manual Processes
Automated Deploys
Configuration Management
Change Experiments and High Frequency Changes
Automated Change Sanity Testing
Improve Your Systems
Your Changing and Growing Application
Keeping on Top of Availability
II. Risk Management
5. What Is Risk Management?
Managing Risk
Identify Risk
Remove Worst Offenders
Mitigate
Review Regularly
Managing Risk Summary
6. Likelihood Versus Severity
The Top 10 List: Low Likelihood, Low Severity Risk
The Order Database: Low Likelihood, High Severity Risk
Custom Fonts: High Likelihood, Low Severity Risk
T-Shirt Photos: High Likelihood, High Severity Risk
7. The Risk Matrix
Scope of the Risk Matrix
Creating the Risk Matrix
Brainstorming the List
Set the Likelihood and Severity Fields
Risk Item Details
Mitigation Plan
Triggered Plan
Using the Risk Matrix for Planning
Maintaining the Risk Matrix
8. Risk Mitigation
Recovery Plans
Disaster Recovery Plans
Improving Our Risk Situation
9. Game Days
Staging Versus Production Environments
Concerns with Running Game Days in Production
Game Day Testing
10. Building Systems with Reduced Risk
Redundancy
Examples of Idempotent Interfaces
Redundancy Improvements That Increase Complexity
Independence
Security
Simplicity
Self-Repair
Operational Processes
III. Services and Microservices
11. Why Use Services?
The Monolith Application
The Service-Based Application
The Ownership Benefit
The Scaling Benefit
12. Using Microservices
What Should Be a Service?
Dividing into Services
Guideline #1: Specific Business Requirements
Guideline #2: Distinct and Separable Team Ownership
Guideline #3: Naturally Separable Data
Guideline #4: Shared Capabilities/Data
Mixed Reasons
Going Too Far
The Right Balance
13. Dealing with Service Failures
Cascading Service Failures
Responding to a Service Failure
Predictable Response
Understandable Response
Reasonable Response
Determining Failures
Appropriate Action
Graceful Degradation
Graceful Backoff
Fail as Early as Possible
Customer-Caused Problems
IV. Scaling Applications
14. Two Mistakes High
What Is “Two Mistakes High”?
“Two Mistakes High” in Practice
Losing a Node
Problems During Upgrades
Data Center Resiliency
Hidden Shared Failure Types
Failure Loops
Managing Your Applications
The Space Shuttle
15. Service Ownership
Single Team Owned Service Architecture
Advantages of a STOSA Application and Organization
What Does it Mean to Be a Service Owner?
16. Service Tiers
Application Complexity
What Are Service Tiers?
Assigning Service Tier Labels to Services
Tier 1
Tier 2
Tier 3
Tier 4
Example: Online Store
What’s Next?
17. Using Service Tiers
Expectations
Responsiveness
Dependencies
Critical Dependency
Noncritical Dependency
Summary
18. Service-Level Agreements
What are Service-Level Agreements?
External Versus Internal SLAs
Why Are Internal SLAs Important?
SLAs as Trust
SLAs for Problem Diagnosis
Performance Measurements for SLAs
Limit SLAs
Top Percentile SLAs
Latency Groups
How Many and Which Internal SLAs?
Additional Comments on SLAs
19. Continuous Improvement
Examine Your Application Regularly
Microservices
Service Ownership
Stateless Services
Where’s the Data?
Data Partitioning
The Importance of Continuous Improvement
V. Cloud Services
20. Change and the Cloud
What Has Changed in the Cloud?
Acceptance of Microservice-Based Architectures
Smaller, More Specialized Services
Greater Focus on the Application
The Micro Startup
Security and Compliance Has Matured
Change Continues
21. Distributing the Cloud
AWS Architecture
AWS Region
AWS Availability Zone
Data Center
Architecture Overview
Availability Zones Are Not Data Centers
Maintaining Location Diversity for Availability Reasons
22. Managed Infrastructure
Structure of Cloud-Based Services
Raw Resource
Managed Resource (Server-Based)
Managed Resource (Non-server-based)
Implications of Using Managed Resources
Implications of Using Non-Managed Resources
Monitoring and CloudWatch
23. Cloud Resource Allocation
Allocated-Capacity Resource Allocation
Changing Allocations
Reserved Capacity
Usage-Based Resource Allocation
The “Magic” of Usage-Based Resource Allocation
The Pros and Cons of Resource Allocation Techniques
24. Scalable Computing Options
Cloud-Based Servers
Advantages
Disadvantages
Optimized Use Cases
Compute Slices
Advantages
Disadvantages
Optimized Use Cases
Dynamic Containers
Advantages
Disadvantages
Optimized Use Cases
Microcompute
Advantages
Disadvantages
Optimized Use Cases
Now What?
25. AWS Lambda
Using Lambda
Event Processing
Mobile Backend
Internet of Things Data Intake
Advantages and Disadvantages of Lambda
VI. Conclusion
26. Putting It All Together
Availability
Risk Management
Services
Scaling
Cloud
Architecting for Scale
Index
Search in book...
Toggle Font Controls
Playlists
Add To
Create new playlist
Name your new playlist
Playlist description (optional)
Cancel
Create playlist
Sign In
Email address
Password
Forgot Password?
Create account
Login
or
Continue with Facebook
Continue with Google
Sign Up
Full Name
Email address
Confirm Email Address
Password
Login
Create account
or
Continue with Facebook
Continue with Google
Prev
Previous Chapter
Preface
Next
Next Chapter
1. What Is Availability?
Part I.
Availability
Without high availability, you have no reason to scale.
Add Highlight
No Comment
..................Content has been hidden....................
You can't read the all page of ebook, please click
here
login for view all page.
Day Mode
Cloud Mode
Night Mode
Reset