The Art of Scalability: Scalable Web Architecture, Processes, and Organizations for the Modern Enterprise
In 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 includes
- Staffing the scalable organization: essential organizational, management, and leadership skills for technical leaders
- Building processes for scale: process lessons from hyper-growth companies, from technical issue resolution to crisis management
- Making better “build versus buy” decisions
- Architecting scalable solutions: powerful proprietary models for identifying scalability needs and choosing the best approaches to meet them
- Optimizing performance through caching, application and database splitting, and asynchronous design
- 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
Programming Google App Engine: Build and Run Scalable Web Apps on Google’s Infrastructure (Animal Guide)
As one of today's cloud computing services, Google App Engine does more than provide access to a large system of servers. It also offers you a simple model for building applications that scale automatically to accommodate millions of users. With Programming Google App Engine, you'll get expert practical guidance that will help you make the best use of this powerful platform. Google engineer Dan Sanderson shows you how to design your applications for scalability, including ways to perform common development tasks using App Engine's APIs and scalable services.
You'll learn about App Engine's application server architecture, runtime environments, and scalable datastore for distributing data, as well as techniques for optimizing your application. App Engine offers nearly unlimited computing power, and this book provides clear and concise instructions for getting the most from it right from the source.
- Discover the differences between traditional web development and development with App Engine
- Learn the details of App Engine's Python and Java runtime environments
- Understand how App Engine handles web requests and executes application code
- Learn how to use App Engine's scalable datastore, including queries and indexes, transactions, and data modeling
- Use task queues to parallelize and distribute work across the infrastructure
- Deploy and manage applications with ease
Architects look at thousands of buildings during their training, and study critiques of those buildings written by masters. In contrast, most software developers only ever get to know a handful of large programs well - usually programs they wrote themselves - and never study the great programs of history. As a result, they repeat one another's mistakes rather than building on one another's successes. This book's goal is to change that. In it, the authors of twenty-five open source applications explain how their software is structured, and why. What are each program's major components? How do they interact? And what did their builders learn during their development? In answering these questions, the contributors to this book provide unique insights into how they think.More info →
While the REST design philosophy has captured the imagination of web and enterprise developers alike, using this approach to develop real web services is no picnic. This cookbook includes more than 100 recipes to help you take advantage of REST, HTTP, and the infrastructure of the Web. You'll learn ways to design RESTful web services for client and server applications that meet performance, scalability, reliability, and security goals, no matter what programming language and development framework you use.
Each recipe includes one or two problem statements, with easy-to-follow, step-by-step instructions for solving them, as well as examples using HTTP requests and responses, and XML, JSON, and Atom snippets. You'll also get implementation guidelines, and a discussion of the pros, cons, and trade-offs that come with each solution.
- Learn how to design resources to meet various application scenarios
- Successfully design representations and URIs
- Implement the hypertext constraint using links and link headers
- Understand when and how to use Atom and AtomPub
- Know what and what not to do to support caching
- Learn how to implement concurrency control
- Deal with advanced use cases involving copying, merging, transactions, batch processing, and partial updates
- Secure web services and support OAuth
High Performance Browser Networking: What every web developer should know about networking and web performance
How prepared are you to build fast and efficient web applications? This eloquent book provides what every web developer should know about the network, from fundamental limitations that affect performance to major innovations for building even more powerful browser applications—including HTTP 2.0 and XHR improvements, Server-Sent Events (SSE), WebSocket, and WebRTC.
Author Ilya Grigorik, a web performance engineer at Google, demonstrates performance optimization best practices for TCP, UDP, and TLS protocols, and explains unique wireless and mobile network optimization requirements. You’ll then dive into performance characteristics of technologies such as HTTP 2.0, client-side network scripting with XHR, real-time streaming with SSE and WebSocket, and P2P communication with WebRTC.
- Deliver superlative TCP, UDP, and TLS performance
- Speed up network performance over 3G/4G mobile networks
- Develop fast and energy-efficient mobile applications
- Address bottlenecks in HTTP 1.x and other browser protocols
- Plan for and deliver the best HTTP 2.0 performance
- Enable efficient real-time streaming in the browser
- Create efficient peer-to-peer videoconferencing and low-latency applications with real-time WebRTC transports