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

The word "scalability" might invoke talk of load balancing or the proper placement of JavaScript blocks, but that would only cover the "process" part of Martin Abbott and Michael Fisher's new book.

By: Staff


First-off, the The Art of Scalability is not about the technical process of building a high-performance website, rather it's aimed at technology executives, engineers and architects who will be developing an organization and putting in place a strategy to allow a company grow; Rather than focus on the details of current technology, most of the book focuses on people and processes.

The book is broken into four sections: staffing an organization, building processes that can scale, architecting scalable solutions, and then wrapping up with a section covering other issues and challenges that will pop up.

The first section looks at the role of people in a company. This section covers everything from roles and responsibilities to ideas about leadership and business issues. One of the topics that comes up several times in the book is measurable results; this starts right in the first section, after a a good discussion of traits of leadership and creating goals, there's an interesting bit about that examines the U.S. constitution as a mission statement (p. 76) that makes interesting reading and illustrates some issues that will apply to likely less weighty goal setting tasks. At the end of this section, readers will be familiar with some of the positions that should be filled and a bit about the abilities of the people who will need to fill those roles.

The second section then looks at the processes. This chapter covers why process is important, responding to incidents and problems, controlling change in a production environment and architectural principles. It leads into the third section that looks into putting into place a system now that the process and personal issues are covered.

Section three covers various principals useful in designing scalable systems. One of the most useful sections covers the "12 Architectural Principles" (p. 200) that are applicable to developers at nearly every level- as is the block called "good principles are..." (page 198) that sums up setting attainable goals. Readers are introduced to methods for isolating faults, the AKF Scale Cube (a method for splitting applications or services to scale them, starting from a single monolithic application developed by the authors' company) and other principles useful to consider when thinking about scaling. This covers different areas like: splitting databases and applications, caching, asynchronous design and agnostic design for technology are also covered. This section is the closest the book to spelling out actual technical solutions to problems, but it's still done at a high level. That's not a criticism, for as the section on agnostic design points out, technology advances, so specific solutions might not be required in the future because the technology has overcome the issues.

The last section of the book is called "Solving Other Issues and Challenges" and serves as kind of a wrap-up to the book's topics. This section includes a overview of grid and cloud computing and the issues that are encountered with these emerging technologies. Like the rest of the book, they don't talk about product specifics much, but it does provide a good over-view of the differences between these often used interchangeably technologies and the pros and cons of each.

While there is a lot of reading this book, the layout of the book helps. Readers will notice each chapter starts with a Sun Tzu quote, which for business books can be like that Nietzsche quote thrown up at the start of many an action movie, but the quotes are relevant to the chapter and make for a nice start to each. The chapters themselves are broken down into sections and many of the points, for instance the 12 Architectural Principles are first stated in a short list and then expanded on over the rest of the chapter, making it easy to follow along.

Some of of this book might feel academic to coders, but this is not a book about Apache versus Nginx or whether to compress your JavaScript with Yahoo's or Google's compression libraries (if that's your aim you've read too much of this review, head over to Yahoo's Exceptional Performance blog for some tips). Instead, as the book's on-line description reads, "The Art of Scalability teaches technology executives, engineers and architects how to solve technology scalability problems through changes in their architecture, processes and organization structure."- and that pretty much sums up this book.

Date published: 04-Feb-2010






2019 YYZTech

For American computers stores, visit: AmericanComputerDealer.com