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

Paperback
from $0.00

Author: Martin L. Abbott

ISBN-10: 0137030428

ISBN-13: 9780137030422

Category: Enterprise Networks

Search in google:

A Comprehensive, Proven Approach to IT Scalability from Two Veteran Software, Technology, and Business ExecutivesIn The Art of Scalability, AKF Partners cofounders Martin L. Abbott and Michael T. Fisher cover everything IT and business leaders must know to build technology infrastructures that can scale smoothly to meet any business requirement. Drawing on their unparalleled experience managing some of the world’s highest-transaction-volume Web sites, the authors provide detailed models and best-practice approaches available in no other book.Unlike previous books on scalability, The Art of Scalability doesn’t limit its coverage to technology. Writing for both technical and nontechnical decision-makers, this book covers everything that impacts scalability, including architecture, processes, people, and organizations.Throughout, the authors address a broad spectrum of real-world challenges, from performance testing to IT governance. Using their tools and guidance, organizations can systematically overcome obstacles to scalability and achieve unprecedented levels of technical and business performance.Coverage includesStaffing the scalable organization: essential organizational, management, and leadership skills for technical leadersBuilding processes for scale: process lessons from hyper-growth companies, from technical issue resolution to crisis managementMaking better “build versus buy” decisionsArchitecting scalable solutions: powerful proprietary models for identifying scalability needs and choosing the best approaches to meet themOptimizing performance through caching, application and database splitting, and asynchronous designScalability techniques for emerging technologies, including clouds and gridsPlanning for rapid data growth and new data centersEvolving monitoring strategies to tightly align with customer requirements

Foreword xxiAcknowledgments xxiiiAbout the Authors xxvIntroduction 1Part I: Staffing a Scalable Organization 7Chapter 1: The Impact of People and Leadership on Scalability 9Introducing AllScale 9Why People 10Why Organizations 11Why Management and Leadership 17Conclusion 20Chapter 2: Roles for the Scalable Technology Organization 21The Effects of Failure 22Defining Roles 23Executive Responsibilities 25Organizational Responsibilities 29Individual Contributor Responsibilities and Characteristics 32An Organizational Example 35A Tool for Defining Responsibilities 37Conclusion 41Chapter 3: Designing Organizations 43Organizational Influences That Affect Scalability 43Team Size 46Organizational Structure 55Conclusion 60Chapter 4: Leadership 101 63What Is Leadership? 64Leadership–A Conceptual Model 66Taking Stock of Who You Are 67Leading from the Front 69Checking Your Ego at the Door 71Mission First, People Always 72Making Timely, Sound, and Morally Correct Decisions 73Empowering Teams and Scalability 74Alignment with Shareholder Value 74Vision 75Mission 78Goals 79Putting Vision, Mission, and Goals Together 81The Causal Roadmap to Success 84Conclusion 86Chapter 5: Management 101 89What Is Management? 90Project and Task Management 91Building Teams–A Sports Analogy 93Upgrading Teams–A Garden Analogy 94Measurement, Metrics, and Goal Evaluation 98The Goal Tree 101Paving the Path for Success 102Conclusion 103Chapter 6: Making the Business Case 105Understanding the Experiential Chasm 105Defeating the Corporate Mindset 109The Business Case for Scale 114Conclusion 117Part II: Building Processes for Scale 119Chapter 7: Understanding Why Processes Are Critical to Scale 121The Purpose of Process 122Right Time, Right Process 125When Good Processes Go Bad 130Conclusion 131Chapter 8: Managing Incidents and Problems 133What Is an Incident? 134What Is a Problem? 135The Components of Incident Management 136The Components of Problem Management 139Resolving Conflicts Between Incident and Problem Management 140Incident and Problem Life Cycles 140Implementing the Daily Incident Meeting 141Implementing the Quarterly Incident Review 143The Postmortem Process 143Putting It All Together 146Conclusion 148Chapter 9: Managing Crisis and Escalations 149What Is a Crisis? 149Why Differentiate a Crisis from Any Other Incident? 150How Crises Can Change a Company 151Order Out of Chaos 152Communications and Control 157The War Room 158Escalations 160Status Communications 160Crises Postmortems 161Crises Follow-up and Communication 162Conclusion 163Chapter 10: Controlling Change in Production Environments 165What Is a Change? 166Change Identification 168Change Management 170The Change Control Meeting 178Continuous Process Improvement 178Conclusion 179Chapter 11: Determining Headroom for Applications 183Purpose of the Process 184Structure of the Process 185Ideal Usage Percentage 189Conclusion 192Chapter 12: Exploring Architectural Principles 195Principles and Goals 196Principle Selection 199AKF’s Twelve Architectural Principles 200Scalability Principles In Depth 204Conclusion 208Chapter 13: Joint Architecture Design 211Fixing Organizational Dysfunction 211Designing for Scale Cross Functionally 214Entry and Exit Criteria 217Conclusion 219Chapter 14: Architecture Review Board 221Ensuring Scale Through Review 221Board Constituency 223Conducting the Meeting 225Entry and Exit Criteria 228Conclusion 230Chapter 15: Focus on Core Competencies: Build Versus Buy 233Building Versus Buying, and Scalability 233Focusing on Cost 234Focusing on Strategy 235“Not Built Here” Phenomenon 236Merging Cost and Strategy 237AllScale’s Build or Buy Dilemma 240Conclusion 242Chapter 16: Determining Risk 243Importance of Risk Management to Scale 244Measuring Risk 245Managing Risk 252Conclusion 255Chapter 17: Performance and Stress Testing 257Performing Performance Testing 257Don’t Stress Over Stress Testing 264Performance and Stress Testing for Scalability 270Conclusion 271Chapter 18: Barrier Conditions and Rollback 273Barrier Conditions 274Rollback Capabilities 278Markdown Functionality–Design to Be Disabled 282Conclusion 283Chapter 19: Fast or Right? 285Tradeoffs in Business 285Relation to Scalability 289How to Think About the Decision 290Conclusion 295Part III: Architecting Scalable Solutions 297Chapter 20: Designing for Any Technology 299An Implementation Is Not an Architecture 300Technology Agnostic Design 300The TAD Approach 306Conclusion 308Chapter 21: Creating Fault Isolative Architectural Structures 309Fault Isolative Architecture Terms 310Benefits of Fault Isolation 312How to Approach Fault Isolation 317When to Implement Fault Isolation 319How to Test Fault Isolative Designs 321Conclusion 322Chapter 22: Introduction to the AKF Scale Cube 325Concepts Versus Rules and Tools 325Introducing the AKF Scale Cube 326Meaning of the Cube 328The X-Axis of the Cube 328The Y-Axis of the Cube 331The Z-Axis of the Cube 333Putting It All Together 334When and Where to Use the Cube 336Conclusion 337Chapter 23: Splitting Applications for Scale 339The AKF Scale Cube for Applications 339The X-Axis of the AKF Application Scale Cube 341The Y-Axis of the AKF Application Scale Cube 343The Z-Axis of the AKF Application Scale Cube 344Putting It All Together 347Practical Use of the Application Cube 349Conclusion 354Chapter 24: Splitting Databases for Scale 357The AKF Scale Cube for Databases 357The X-Axis of the AKF Database Scale Cube 358The Y-Axis of the AKF Database Scale Cube 362The Z-Axis of the AKF Database Scale Cube 365Putting It All Together 367Practical Use of the Database Cube 370Conclusion 374Chapter 25: Caching for Performance and Scale 377Caching Defined 378Object Caches 381Application Caches 384Content Delivery Networks 389Conclusion 390Chapter 26: Asynchronous Design for Scale 393Synching Up on Synchronization 393Synchronous Versus Asynchronous Calls 395Defining State 401Conclusion 405Part IV: Solving Other Issues and Challenges 409Chapter 27: Too Much Data 411The Cost of Data 412The Value of Data and the Cost-Value Dilemma 414Making Data Profitable 416Handling Large Amounts of Data 420Conclusion 423Chapter 28: Clouds and Grids 425History and Definitions 426Characteristics and Architecture of Clouds 430Differences Between Clouds and Grids 434Conclusion 436Chapter 29: Soaring in the Clouds 439Pros and Cons of Cloud Computing 440Where Clouds Fit in Different Companies 448Decision Process 450Conclusion 453Chapter 30: Plugging in the Grid 455Pros and Cons of Grids 456Different Uses for Grid Computing 461Decision Process 465Conclusion 467Chapter 31: Monitoring Applications 469“How Come We Didn’t Catch That Earlier?” 469A Framework for Monitoring 472Measuring Monitoring: What Is and Isn’t Valuable? 478Monitoring and Processes 480Conclusion 481Chapter 32: Planning Data Centers 483Data Center Costs and Constraints 483Location, Location, Location 485Data Centers and Incremental Growth 488Three Magic Rules of Three 490Multiple Active Data Center Considerations 496Conclusion 498Chapter 33: Putting It All Together 501What to Do Now? 502Case Studies 505References 509Appendices 511Appendix A: Calculating Availability 513Hardware Uptime 514Customer Complaints 515Portion of Site Down 516Third-Party Monitoring Service 517Traffic Graph 518Appendix B: Capacity Planning Calculations 521Appendix C: Load and Performance Calculations 527Index 535