Log In
Or create an account ->
Imperial Library
Home
About
News
Upload
Forum
Help
Login/SignUp
Index
About This eBook
Title Page
Copyright Page
Praise for The Art of Scalability, Second Edition
Praise for the First Edition
Dedication Page
Contents
Foreword
Acknowledgments
About the Authors
Introduction
Scalability: So Much More Than Just Technology
Art Versus Science
Who Needs Scalability?
Book Organization and Structure
Part I: Staffing a Scalable Organization
Chapter 1. The Impact of People and Leadership on Scalability
The Case Method
Why People?
Why Organizations?
Why Management and Leadership?
Conclusion
Key Points
Chapter 2. Roles for the Scalable Technology Organization
The Effects of Failure
Defining Roles
Executive Responsibilities
Chief Executive Officer
Chief Financial Officer
Business Unit Owners, General Managers, and P&L Owners
Chief Technology Officer/Chief Information Officer
Individual Contributor Responsibilities
Architecture Responsibilities
Engineering Responsibilities
DevOps Responsibilities
Infrastructure Responsibilities
Quality Assurance Responsibilities
Capacity Planning Responsibilities
A Tool for Defining Responsibilities
Conclusion
Key Points
Chapter 3. Designing Organizations
Organizational Influences That Affect Scalability
Team Size
Warning Signs
Growing or Splitting Teams
Organizational Structure
Functional Organization
Matrix Organization
Agile Organization
Conclusion
Key Points
Chapter 4. Leadership 101
What Is Leadership?
Leadership: A Conceptual Model
Taking Stock of Who You Are
Leading from the Front
Checking Your Ego at the Door
Mission First, People Always
Making Timely, Sound, and Morally Correct Decisions
Empowering Teams and Scalability
Alignment with Shareholder Value
Transformational Leadership
Vision
Mission
Goals
Putting It All Together
The Causal Roadmap to Success
Conclusion
Key Points
Chapter 5. Management 101
What Is Management?
Project and Task Management
Building Teams: A Sports Analogy
Upgrading Teams: A Garden Analogy
Measurement, Metrics, and Goal Evaluation
The Goal Tree
Paving the Path for Success
Conclusion
Key Points
Chapter 6. Relationships, Mindset, and the Business Case
Understanding the Experiential Chasm
Why the Business Executive Might Be the Problem
Why the Technology Executive Might Be the Problem
Defeating the IT Mindset
The Business Case for Scale
Conclusion
Key Points
Part II: Building Processes for Scale
Chapter 7. Why Processes Are Critical to Scale
The Purpose of Process
Right Time, Right Process
A Process Maturity Framework
When to Implement Processes
Process Complexity
When Good Processes Go Bad
Conclusion
Key Points
Chapter 8. Managing Incidents and Problems
What Is an Incident?
What Is a Problem?
The Components of Incident Management
The Components of Problem Management
Resolving Conflicts Between Incident and Problem Management
Incident and Problem Life Cycles
Implementing the Daily Incident Meeting
Implementing the Quarterly Incident Review
The Postmortem Process
Putting It All Together
Conclusion
Key Points
Chapter 9. Managing Crises and Escalations
What Is a Crisis?
Why Differentiate a Crisis from Any Other Incident?
How Crises Can Change a Company
Order Out of Chaos
The Role of the Problem Manager
The Role of Team Managers
The Role of Engineering Leads
The Role of Individual Contributors
Communications and Control
The War Room
Escalations
Status Communications
Crisis Postmortem and Communication
Conclusion
Key Points
Chapter 10. Controlling Change in Production Environments
What Is a Change?
Change Identification
Change Management
Change Proposal
Change Approval
Change Scheduling
Change Implementation and Logging
Change Validation
Change Review
The Change Control Meeting
Continuous Process Improvement
Conclusion
Key Points
Chapter 11. Determining Headroom for Applications
Purpose of the Process
Structure of the Process
Ideal Usage Percentage
A Quick Example Using Spreadsheets
Conclusion
Key Points
Chapter 12. Establishing Architectural Principles
Principles and Goals
Principle Selection
AKF’s Most Commonly Adopted Architectural Principles
N + 1 Design
Design for Rollback
Design to Be Disabled
Design to Be Monitored
Design for Multiple Live Sites
Use Mature Technologies
Asynchronous Design
Stateless Systems
Scale Out, Not Up
Design for at Least Two Axes of Scale
Buy When Non-Core
Use Commodity Hardware
Build Small, Release Small, Fail Fast
Isolate Faults
Automation over People
Conclusion
Key Points
Chapter 13. Joint Architecture Design and Architecture Review Board
Fixing Organizational Dysfunction
Designing for Scale Cross-Functionally
JAD Entry and Exit Criteria
From JAD to ARB
Conducting the Meeting
ARB Entry and Exit Criteria
Conclusion
Key Points
Chapter 14. Agile Architecture Design
Architecture in Agile Organizations
Ownership of Architecture
Limited Resources
Standards
ARB in the Agile Organization
Conclusion
Key Points
Chapter 15. Focus on Core Competencies: Build Versus Buy
Building Versus Buying, and Scalability
Focusing on Cost
Focusing on Strategy
“Not Built Here” Phenomenon
Merging Cost and Strategy
Does This Component Create Strategic Competitive Differentiation?
Are We the Best Owners of This Component or Asset?
What Is the Competition for This Component?
Can We Build This Component Cost-Effectively?
The Best Buy Decision Ever
Anatomy of a Build-It-Yourself Failure
Conclusion
Key Points
Chapter 16. Determining Risk
Importance of Risk Management to Scale
Measuring Risk
Managing Risk
Conclusion
Key Points
Chapter 17. Performance and Stress Testing
Performing Performance Testing
Establish Success Criteria
Establish the Appropriate Environment
Define the Tests
Execute the Tests
Analyze the Data
Report to Engineers
Repeat the Tests and Analysis
Don’t Stress over Stress Testing
Identify the Objectives
Identify the Key Services
Determine the Load
Establish the Appropriate Environment
Identify the Monitors
Create the Load
Execute the Tests
Analyze the Data
Performance and Stress Testing for Scalability
Conclusion
Key Points
Chapter 18. Barrier Conditions and Rollback
Barrier Conditions
Barrier Conditions and Agile Development
Barrier Conditions and Waterfall Development
Barrier Conditions and Hybrid Models
Rollback Capabilities
Rollback Window
Rollback Technology Considerations
Cost Considerations of Rollback
Markdown Functionality: Design to Be Disabled
Conclusion
Key Points
Chapter 19. Fast or Right?
Tradeoffs in Business
Relation to Scalability
How to Think About the Decision
Conclusion
Key Points
Part III: Architecting Scalable Solutions
Chapter 20. Designing for Any Technology
An Implementation Is Not an Architecture
Technology-Agnostic Design
TAD and Cost
TAD and Risk
TAD and Scalability
TAD and Availability
The TAD Approach
Conclusion
Key Points
Chapter 21. Creating Fault-Isolative Architectural Structures
Fault-Isolative Architecture Terms
Benefits of Fault Isolation
Fault Isolation and Availability: Limiting Impact
Fault Isolation and Availability: Incident Detection and Resolution
Fault Isolation and Scalability
Fault Isolation and Time to Market
Fault Isolation and Cost
How to Approach Fault Isolation
Principle 1: Nothing Is Shared
Principle 2: Nothing Crosses a Swim Lane Boundary
Principle 3: Transactions Occur Along Swim Lanes
When to Implement Fault Isolation
Approach 1: Swim Lane the Money-Maker
Approach 2: Swim Lane the Biggest Sources of Incidents
Approach 3: Swim Lane Along Natural Barriers
How to Test Fault-Isolative Designs
Conclusion
Key Points
Chapter 22. Introduction to the AKF Scale Cube
The AKF Scale Cube
The x-Axis of the Cube
The y-Axis of the Cube
The z-Axis of the Cube
Putting It All Together
When and Where to Use the Cube
Conclusion
Key Points
Chapter 23. Splitting Applications for Scale
The AKF Scale Cube for Applications
The x-Axis of the AKF Application Scale Cube
The y-Axis of the AKF Application Scale Cube
The z-Axis of the AKF Application Scale Cube
Putting It All Together
Practical Use of the Application Cube
Observations
Conclusion
Key Points
Chapter 24. Splitting Databases for Scale
Applying the AKF Scale Cube to Databases
The x-Axis of the AKF Database Scale Cube
The y-Axis of the AKF Database Scale Cube
The z-Axis of the AKF Database Scale Cube
Putting It All Together
Practical Use of the Database Cube
Ecommerce Implementation
Search Implementation
Business-to-Business SaaS Solution
Observations
Timeline Considerations
Conclusion
Key Points
Chapter 25. Caching for Performance and Scale
Caching Defined
Object Caches
Application Caches
Proxy Caches
Reverse Proxy Caches
Caching Software
Content Delivery Networks
Conclusion
Key Points
Chapter 26. Asynchronous Design for Scale
Synching Up on Synchronization
Synchronous Versus Asynchronous Calls
Scaling Synchronously or Asynchronously
Example Asynchronous Systems
Defining State
Conclusion
Key Points
Part IV: Solving Other Issues and Challenges
Chapter 27. Too Much Data
The Cost of Data
The Value of Data and the Cost-Value Dilemma
Making Data Profitable
Option Value
Strategic Competitive Differentiation
Cost-Justify the Solution (Tiered Storage Solutions)
Transform the Data
Handling Large Amounts of Data
Big Data
A NoSQL Primer
Conclusion
Key Points
Chapter 28. Grid Computing
History of Grid Computing
Pros and Cons of Grids
Pros of Grids
Cons of Grids
Different Uses for Grid Computing
Production Grid
Build Grid
Data Warehouse Grid
Back-Office Grid
Conclusion
Key Points
Chapter 29. Soaring in the Clouds
History and Definitions
Public Versus Private Clouds
Characteristics and Architecture of Clouds
Pay by Usage
Scale on Demand
Multiple Tenants
Virtualization
Differences Between Clouds and Grids
Pros and Cons of Cloud Computing
Pros of Cloud Computing
Cons of Cloud Computing
Where Clouds Fit in Different Companies
Environments
Skill Sets
Decision Process
Conclusion
Key Points
Chapter 30. Making Applications Cloud Ready
The Scale Cube in a Cloud
x-Axis
y- and z-Axes
Overcoming Challenges
Fault Isolation in a Cloud
Variability in Input/Output
Intuit Case Study
Conclusion
Key Points
Chapter 31. Monitoring Applications
“Why Didn’t We Catch That Earlier?”
A Framework for Monitoring
User Experience and Business Metrics
Systems Monitoring
Application Monitoring
Measuring Monitoring: What Is and Isn’t Valuable?
Monitoring and Processes
Conclusion
Key Points
Chapter 32. Planning Data Centers
Data Center Costs and Constraints
Location, Location, Location
Data Centers and Incremental Growth
When Do I Consider IaaS?
Three Magic Rules of Three
The First Rule of Three: Three Magic Drivers of Data Center Costs
The Second Rule of Three: Three Is the Magic Number for Servers
The Third Rule of Three: Three Is the Magic Number for Data Centers
Multiple Active Data Center Considerations
Conclusion
Key Points
Chapter 33. Putting It All Together
What to Do Now?
Further Resources on Scalability
Blogs
Books
Part V: Appendices
Appendix A. Calculating Availability
Hardware Uptime
Customer Complaints
Portion of Site Down
Third-Party Monitoring Service
Business Graph
Appendix B. Capacity Planning Calculations
Appendix C. Load and Performance Calculations
Index
Code Snippets
← Prev
Back
Next →
← Prev
Back
Next →