هنر مقیاسپذیری: معماری وب مقیاسپذیر، فرآیندها و سازمانها برای شرکتهای مدرن
The Art Of Scalability: Scalable Web Architecture, Processes, And Organizations For The Modern Enterprise Scalable Web Architecture, Processes, And Organizations For The Modern Enterprise
معرفی کتاب «هنر مقیاسپذیری: معماری وب مقیاسپذیر، فرآیندها و سازمانها برای شرکتهای مدرن» (با عنوان لاتین The Art Of Scalability: Scalable Web Architecture, Processes, And Organizations For The Modern Enterprise Scalable Web Architecture, Processes, And Organizations For The Modern Enterprise) نوشتهٔ Martin L. Abbott و Michael T. Fisher، منتشرشده توسط نشر Addison-Wesley Professional; Addison-Wesley در سال 2015. این کتاب در 624 صفحه، فرمت pdf، زبان انگلیسی ارائه شده است. «هنر مقیاسپذیری: معماری وب مقیاسپذیر، فرآیندها و سازمانها برای شرکتهای مدرن» در دستهٔ برنامهنویسی قرار دارد.
A Comprehensive, Proven Approach to IT Scalability from Two Veteran Software, Technology, and Business Executives In this second edition of The Art of Scalability , AKF Partners cofounders Martin L. Abbott and Michael T. Fisher cover everything product, technology and business leaders must know to build products 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. This second edition has been edited to improve readability and includes new and updated content, a new chapter on Agile architecture, and new case studies. 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. New and Updated Coverage includes · Staffing the scalable organization: essential organizational, management, and leadership skills for technical leaderswith a special focus on how to build truly Agile organizations. · How to organize teams to maximize innovation and reduce value destroying team conflict. · Building processes for scale: process lessons from hyper-growth companies, from technical issue resolution to crisis management · How to manage risk and how to create effective change management in the age of continuous deployment. · Architecting scalable solutions: powerful proprietary models for identifying scalability needs and choosing the best approaches to meet them · How to practice “Agile” Architecture · Optimizing performance through caching, application and database splitting, and asynchronous design · New and updated scalability techniques for emerging technologies, including clouds and grids · Planning for rapid data growth and new data centers · Evolving monitoring strategies to tightly align with customer requirements Contents 12 Foreword 24 Acknowledgments 28 About the Authors 30 Introduction 32 Part I: Staffing a Scalable Organization 38 Chapter 1: The Impact of People and Leadership on Scalability 40 The Case Method 40 Why People? 41 Why Organizations? 42 Why Management and Leadership? 48 Conclusion 50 Chapter 2: Roles for the Scalable Technology Organization 52 The Effects of Failure 52 Defining Roles 54 Executive Responsibilities 56 Individual Contributor Responsibilities 61 A Tool for Defining Responsibilities 66 Conclusion 70 Chapter 3: Designing Organizations 72 Organizational Influences That Affect Scalability 72 Team Size 75 Organizational Structure 82 Conclusion 100 Chapter 4: Leadership 101 102 What Is Leadership? 103 Leadership: A Conceptual Model 105 Taking Stock of Who You Are 107 Leading from the Front 109 Checking Your Ego at the Door 110 Mission First, People Always 111 Making Timely, Sound, and Morally Correct Decisions 112 Empowering Teams and Scalability 113 Alignment with Shareholder Value 114 Transformational Leadership 115 Vision 115 Mission 118 Goals 120 Putting It All Together 121 The Causal Roadmap to Success 125 Conclusion 126 Chapter 5: Management 101 130 What Is Management? 131 Project and Task Management 133 Building Teams: A Sports Analogy 136 Upgrading Teams: A Garden Analogy 138 Measurement, Metrics, and Goal Evaluation 142 The Goal Tree 145 Paving the Path for Success 146 Conclusion 147 Chapter 6: Relationships, Mindset, and the Business Case 150 Understanding the Experiential Chasm 150 Defeating the IT Mindset 153 The Business Case for Scale 155 Conclusion 158 Part II: Building Processes for Scale 160 Chapter 7: Why Processes Are Critical to Scale 162 The Purpose of Process 163 Right Time, Right Process 166 When Good Processes Go Bad 170 Conclusion 171 Chapter 8: Managing Incidents and Problems 174 What Is an Incident? 175 What Is a Problem? 176 The Components of Incident Management 177 The Components of Problem Management 180 Resolving Conflicts Between Incident and Problem Management 181 Incident and Problem Life Cycles 181 Implementing the Daily Incident Meeting 183 Implementing the Quarterly Incident Review 184 The Postmortem Process 184 Putting It All Together 187 Conclusion 188 Chapter 9: Managing Crises and Escalations 190 What Is a Crisis? 191 Why Differentiate a Crisis from Any Other Incident? 192 How Crises Can Change a Company 193 Order Out of Chaos 194 Communications and Control 199 The War Room 200 Escalations 201 Status Communications 202 Crisis Postmortem and Communication 203 Conclusion 204 Chapter 10: Controlling Change in Production Environments 208 What Is a Change? 209 Change Identification 210 Change Management 211 The Change Control Meeting 222 Continuous Process Improvement 223 Conclusion 224 Chapter 11: Determining Headroom for Applications 228 Purpose of the Process 229 Structure of the Process 230 Ideal Usage Percentage 234 A Quick Example Using Spreadsheets 237 Conclusion 238 Chapter 12: Establishing Architectural Principles 240 Principles and Goals 240 Principle Selection 243 AKF’s Most Commonly Adopted Architectural Principles 245 Conclusion 253 Chapter 13: Joint Architecture Design and Architecture Review Board 256 Fixing Organizational Dysfunction 256 Designing for Scale Cross-Functionally 257 JAD Entry and Exit Criteria 259 From JAD to ARB 261 Conducting the Meeting 263 ARB Entry and Exit Criteria 265 Conclusion 267 Chapter 14: Agile Architecture Design 270 Architecture in Agile Organizations 271 Ownership of Architecture 272 Limited Resources 273 Standards 274 ARB in the Agile Organization 277 Conclusion 278 Chapter 15: Focus on Core Competencies: Build Versus Buy 280 Building Versus Buying, and Scalability 280 Focusing on Cost 281 Focusing on Strategy 282 “Not Built Here” Phenomenon 283 Merging Cost and Strategy 283 Does This Component Create Strategic Competitive Differentiation? 284 Are We the Best Owners of This Component or Asset? 284 What Is the Competition for This Component? 285 Can We Build This Component Cost-Effectively? 285 The Best Buy Decision Ever 286 Anatomy of a Build-It-Yourself Failure 287 Conclusion 289 Chapter 16: Determining Risk 290 Importance of Risk Management to Scale 290 Measuring Risk 292 Managing Risk 299 Conclusion 302 Chapter 17: Performance and Stress Testing 304 Performing Performance Testing 304 Don’t Stress over Stress Testing 312 Performance and Stress Testing for Scalability 318 Conclusion 319 Chapter 18: Barrier Conditions and Rollback 322 Barrier Conditions 322 Rollback Capabilities 328 Markdown Functionality: Design to Be Disabled 331 Conclusion 332 Chapter 19: Fast or Right? 334 Tradeoffs in Business 334 Relation to Scalability 337 How to Think About the Decision 338 Conclusion 342 Part III: Architecting Scalable Solutions 346 Chapter 20: Designing for Any Technology 348 An Implementation Is Not an Architecture 348 Technology-Agnostic Design 349 The TAD Approach 354 Conclusion 356 Chapter 21: Creating Fault-Isolative Architectural Structures 358 Fault-Isolative Architecture Terms 358 Benefits of Fault Isolation 360 How to Approach Fault Isolation 367 When to Implement Fault Isolation 370 How to Test Fault-Isolative Designs 372 Conclusion 372 Chapter 22: Introduction to the AKF Scale Cube 374 The AKF Scale Cube 374 The x-Axis of the Cube 375 The y-Axis of the Cube 377 The z-Axis of the Cube 380 Putting It All Together 381 When and Where to Use the Cube 383 Conclusion 384 Chapter 23: Splitting Applications for Scale 388 The AKF Scale Cube for Applications 388 The x-Axis of the AKF Application Scale Cube 390 The y-Axis of the AKF Application Scale Cube 392 The z-Axis of the AKF Application Scale Cube 394 Putting It All Together 396 Practical Use of the Application Cube 398 Conclusion 402 Chapter 24: Splitting Databases for Scale 406 Applying the AKF Scale Cube to Databases 406 The x-Axis of the AKF Database Scale Cube 407 The y-Axis of the AKF Database Scale Cube 412 The z-Axis of the AKF Database Scale Cube 414 Putting It All Together 416 Practical Use of the Database Cube 419 Conclusion 424 Chapter 25: Caching for Performance and Scale 426 Caching Defined 426 Object Caches 430 Application Caches 433 Content Delivery Networks 438 Conclusion 439 Chapter 26: Asynchronous Design for Scale 442 Synching Up on Synchronization 442 Synchronous Versus Asynchronous Calls 443 Defining State 449 Conclusion 453 Part IV: Solving Other Issues and Challenges 456 Chapter 27: Too Much Data 458 The Cost of Data 458 The Value of Data and the Cost-Value Dilemma 461 Making Data Profitable 462 Handling Large Amounts of Data 465 Conclusion 475 Chapter 28: Grid Computing 478 History of Grid Computing 478 Pros and Cons of Grids 480 Different Uses for Grid Computing 485 Conclusion 488 Chapter 29: Soaring in the Clouds 490 History and Definitions 491 Characteristics and Architecture of Clouds 494 Differences Between Clouds and Grids 498 Pros and Cons of Cloud Computing 499 Where Clouds Fit in Different Companies 507 Decision Process 509 Conclusion 512 Chapter 30: Making Applications Cloud Ready 516 The Scale Cube in a Cloud 516 Overcoming Challenges 518 Intuit Case Study 522 Conclusion 524 Chapter 31: Monitoring Applications 526 “Why Didn’t We Catch That Earlier?” 526 A Framework for Monitoring 527 Measuring Monitoring: What Is and Isn’t Valuable? 534 Monitoring and Processes 535 Conclusion 537 Chapter 32: Planning Data Centers 540 Data Center Costs and Constraints 540 Location, Location, Location 542 Data Centers and Incremental Growth 545 When Do I Consider IaaS? 547 Three Magic Rules of Three 550 Multiple Active Data Center Considerations 556 Conclusion 558 Chapter 33: Putting It All Together 562 What to Do Now? 563 Further Resources on Scalability 566 Part V: Appendices 568 Appendix A: Calculating Availability 570 Hardware Uptime 571 Customer Complaints 572 Portion of Site Down 573 Third-Party Monitoring Service 574 Business Graph 575 Appendix B: Capacity Planning Calculations 578 Appendix C: Load and Performance Calculations 586 Index 594 A 594 B 596 C 597 D 600 E 601 F 601 G 602 H 603 I 603 J 604 K 604 L 604 M 605 N 607 O 607 P 607 Q 609 R 609 S 610 T 613 U 614 V 614 W 614 X 614 Y 615 Z 615 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 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