Art of Scalability, The: Scalable Web Architecture, Processes, and Organizations for the Modern Enterprise, 2nd Edition

Book description

The Comprehensive, Proven Approach to IT Scalability–Updated with New Strategies, Technologies, and Case Studies

In The Art of Scalability, Second Edition, leading scalability consultants Martin L. Abbott and Michael T. Fisher cover everything you need to know to smoothly scale products and services for any requirement. This extensively revised edition reflects new technologies, strategies, and lessons, as well as new case studies from the authors’ pioneering consulting practice, AKF Partners.

Writing for technical and nontechnical decision-makers, Abbott and Fisher cover everything that impacts scalability, including architecture, process, people, organization, and technology. Their insights and recommendations reflect more than thirty years of experience at companies ranging from eBay to Visa, and Salesforce.com to Apple.

You’ll find updated strategies for structuring organizations to maximize agility and scalability, as well as new insights into the cloud (IaaS/PaaS) transition, NoSQL, DevOps, business metrics, and more. Using this guide’s tools and advice, you can systematically clear away obstacles to scalability–and achieve unprecedented IT and business performance.

Coverage includes

• Why scalability problems start with organizations and people, not technology, and what to do about it

• Actionable lessons from real successes and failures

• Staffing, structuring, and leading the agile, scalable organization

• Scaling processes for hyper-growth environments

• Architecting scalability: proprietary models for clarifying needs and making choices–including 15 key success principles

• Emerging technologies and challenges: data cost, datacenter planning, cloud evolution, and customer-aligned monitoring

• Measuring availability, capacity, load, and performance

Table of contents

  1. Cover Page
  2. Halftitle Page
  3. Title Page
  4. Copyright Page
  5. Dedication Page
  6. Contents
  7. Foreword
  8. Acknowledgments
  9. About the Authors
  10. Introduction
    1. Scalability: So Much More Than Just Technology
    2. Art Versus Science
    3. Who Needs Scalability?
    4. Book Organization and Structure
  11. Part I: Staffing a Scalable Organization
    1. Chapter 1. The Impact of People and Leadership on Scalability
      1. The Case Method
      2. Why People?
      3. Why Organizations?
      4. Why Management and Leadership?
      5. Conclusion
    2. Chapter 2. Roles for the Scalable Technology Organization
      1. The Effects of Failure
      2. Defining Roles
      3. Executive Responsibilities
      4. Individual Contributor Responsibilities
      5. A Tool for Defining Responsibilities
      6. Conclusion
    3. Chapter 3. Designing Organizations
      1. Organizational Influences That Affect Scalability
      2. Team Size
      3. Organizational Structure
      4. Conclusion
    4. Chapter 4. Leadership 101
      1. What Is Leadership?
      2. Leadership: A Conceptual Model
      3. Taking Stock of Who You Are
      4. Leading from the Front
      5. Checking Your Ego at the Door
      6. Mission First, People Always
      7. Making Timely, Sound, and Morally Correct Decisions
      8. Empowering Teams and Scalability
      9. Alignment with Shareholder Value
      10. Transformational Leadership
      11. Vision
      12. Mission
      13. Goals
      14. Putting It All Together
      15. The Causal Roadmap to Success
      16. Conclusion
    5. Chapter 5. Management 101
      1. What Is Management?
      2. Project and Task Management
      3. Building Teams: A Sports Analogy
      4. Upgrading Teams: A Garden Analogy
      5. Measurement, Metrics, and Goal Evaluation
      6. The Goal Tree
      7. Paving the Path for Success
      8. Conclusion
    6. Chapter 6. Relationships, Mindset, and the Business Case
      1. Understanding the Experiential Chasm
      2. Defeating the IT Mindset
      3. The Business Case for Scale
      4. Conclusion
  12. Part II: Building Processes for Scale
    1. Chapter 7. Why Processes Are Critical to Scale
      1. The Purpose of Process
      2. Right Time, Right Process
      3. When Good Processes Go Bad
      4. Conclusion
    2. Chapter 8. Managing Incidents and Problems
      1. What Is an Incident?
      2. What Is a Problem?
      3. The Components of Incident Management
      4. The Components of Problem Management
      5. Resolving Conflicts Between Incident and Problem Management
      6. Incident and Problem Life Cycles
      7. Implementing the Daily Incident Meeting
      8. Implementing the Quarterly Incident Review
      9. The Postmortem Process
      10. Putting It All Together
      11. Conclusion
    3. Chapter 9. Managing Crises and Escalations
      1. What Is a Crisis?
      2. Why Differentiate a Crisis from Any Other Incident?
      3. How Crises Can Change a Company
      4. Order Out of Chaos
      5. Communications and Control
      6. The War Room
      7. Escalations
      8. Status Communications
      9. Crisis Postmortem and Communication
      10. Conclusion
    4. Chapter 10. Controlling Change in Production Environments
      1. What Is a Change?
      2. Change Identification
      3. Change Management
      4. The Change Control Meeting
      5. Continuous Process Improvement
      6. Conclusion
    5. Chapter 11. Determining Headroom for Applications
      1. Purpose of the Process
      2. Structure of the Process
      3. Ideal Usage Percentage
      4. A Quick Example Using Spreadsheets
      5. Conclusion
    6. Chapter 12. Establishing Architectural Principles
      1. Principles and Goals
      2. Principle Selection
      3. AKF’s Most Commonly Adopted Architectural Principles
      4. Conclusion
    7. Chapter 13. Joint Architecture Design and Architecture Review Board
      1. Fixing Organizational Dysfunction
      2. Designing for Scale Cross-Functionally
      3. JAD Entry and Exit Criteria
      4. From JAD to ARB
      5. Conducting the Meeting
      6. ARB Entry and Exit Criteria
      7. Conclusion
    8. Chapter 14. Agile Architecture Design
      1. Architecture in Agile Organizations
      2. Ownership of Architecture
      3. Limited Resources
      4. Standards
      5. ARB in the Agile Organization
      6. Conclusion
    9. Chapter 15. Focus on Core Competencies: Build Versus Buy
      1. Building Versus Buying, and Scalability
      2. Focusing on Cost
      3. Focusing on Strategy
      4. “Not Built Here” Phenomenon
      5. Merging Cost and Strategy
      6. Does This Component Create Strategic Competitive Differentiation?
      7. Are We the Best Owners of This Component or Asset?
      8. What Is the Competition for This Component?
      9. Can We Build This Component Cost-Effectively?
      10. The Best Buy Decision Ever
      11. Anatomy of a Build-It-Yourself Failure
      12. Conclusion
    10. Chapter 16. Determining Risk
      1. Importance of Risk Management to Scale
      2. Measuring Risk
      3. Managing Risk
      4. Conclusion
    11. Chapter 17. Performance and Stress Testing
      1. Performing Performance Testing
      2. Don’t Stress over Stress Testing
      3. Performance and Stress Testing for Scalability
      4. Conclusion
    12. Chapter 18. Barrier Conditions and Rollback
      1. Barrier Conditions
      2. Rollback Capabilities
      3. Markdown Functionality: Design to Be Disabled
      4. Conclusion
    13. Chapter 19. Fast or Right?
      1. Tradeoffs in Business
      2. Relation to Scalability
      3. How to Think About the Decision
      4. Conclusion
  13. Part III: Architecting Scalable Solutions
    1. Chapter 20. Designing for Any Technology
      1. An Implementation Is Not an Architecture
      2. Technology-Agnostic Design
      3. The TAD Approach
      4. Conclusion
    2. Chapter 21. Creating Fault-Isolative Architectural Structures
      1. Fault-Isolative Architecture Terms
      2. Benefits of Fault Isolation
      3. How to Approach Fault Isolation
      4. When to Implement Fault Isolation
      5. How to Test Fault-Isolative Designs
      6. Conclusion
    3. Chapter 22. Introduction to the AKF Scale Cube
      1. The AKF Scale Cube
      2. The x-Axis of the Cube
      3. The y-Axis of the Cube
      4. The z-Axis of the Cube
      5. Putting It All Together
      6. When and Where to Use the Cube
      7. Conclusion
    4. Chapter 23. Splitting Applications for Scale
      1. The AKF Scale Cube for Applications
      2. The x-Axis of the AKF Application Scale Cube
      3. The y-Axis of the AKF Application Scale Cube
      4. The z-Axis of the AKF Application Scale Cube
      5. Putting It All Together
      6. Practical Use of the Application Cube
      7. Conclusion
    5. Chapter 24. Splitting Databases for Scale
      1. Applying the AKF Scale Cube to Databases
      2. The x-Axis of the AKF Database Scale Cube
      3. The y-Axis of the AKF Database Scale Cube
      4. The z-Axis of the AKF Database Scale Cube
      5. Putting It All Together
      6. Practical Use of the Database Cube
      7. Conclusion
    6. Chapter 25. Caching for Performance and Scale
      1. Caching Defined
      2. Object Caches
      3. Application Caches
      4. Content Delivery Networks
      5. Conclusion
    7. Chapter 26. Asynchronous Design for Scale
      1. Synching Up on Synchronization
      2. Synchronous Versus Asynchronous Calls
      3. Defining State
      4. Conclusion
  14. Part IV: Solving Other Issues and Challenges
    1. Chapter 27. Too Much Data
      1. The Cost of Data
      2. The Value of Data and the Cost-Value Dilemma
      3. Making Data Profitable
      4. Handling Large Amounts of Data
      5. Conclusion
    2. Chapter 28. Grid Computing
      1. History of Grid Computing
      2. Pros and Cons of Grids
      3. Different Uses for Grid Computing
      4. Conclusion
    3. Chapter 29. Soaring in the Clouds
      1. History and Definitions
      2. Characteristics and Architecture of Clouds
      3. Differences Between Clouds and Grids
      4. Pros and Cons of Cloud Computing
      5. Where Clouds Fit in Different Companies
      6. Decision Process
      7. Conclusion
    4. Chapter 30. Making Applications Cloud Ready
      1. The Scale Cube in a Cloud
      2. Overcoming Challenges
      3. Intuit Case Study
      4. Conclusion
    5. Chapter 31. Monitoring Applications
      1. “Why Didn’t We Catch That Earlier?”
      2. A Framework for Monitoring
      3. Measuring Monitoring: What Is and Isn’t Valuable?
      4. Monitoring and Processes
      5. Conclusion
    6. Chapter 32. Planning Data Centers
      1. Data Center Costs and Constraints
      2. Location, Location, Location
      3. Data Centers and Incremental Growth
      4. When Do I Consider IaaS?
      5. Three Magic Rules of Three
      6. Multiple Active Data Center Considerations
      7. Conclusion
    7. Chapter 33. Putting It All Together
      1. What to Do Now?
      2. Further Resources on Scalability
  15. Part V: Appendices
    1. Appendix A. Calculating Availability
      1. Hardware Uptime
      2. Customer Complaints
      3. Portion of Site Down
      4. Third-Party Monitoring Service
      5. Business Graph
    2. Appendix B. Capacity Planning Calculations
    3. Appendix C. Load and Performance Calculations
  16. Index
  17. Code Snippets

Product information

  • Title: Art of Scalability, The: Scalable Web Architecture, Processes, and Organizations for the Modern Enterprise, 2nd Edition
  • Author(s): Martin L. Abbott, Michael T. Fisher
  • Release date: June 2015
  • Publisher(s): Addison-Wesley Professional
  • ISBN: 9780134031408