Architecting for Scale: High Availability for Your Growing Applications
- Length: 230 pages
- Edition: 1
- Language: English
- Publisher: O'Reilly Media
- Publication Date: 2016-08-06
- ISBN-10: 1491943394
- ISBN-13: 9781491943397
- Sales Rank: #754945 (See Top 100 Books)
Every day, companies struggle to scale critical applications. As traffic volume and data demands increase, these applications become more complicated and brittle, exposing risks and compromising availability. This practical guide shows IT, devops, and system reliability managers how to prevent an application from becoming slow, inconsistent, or downright unavailable as it grows.
Scaling isn’t just about handling more users; it’s also about managing risk and ensuring availability. Author Lee Atchison provides basic techniques for building applications that can handle huge quantities of traffic, data, and demand without affecting the quality your customers expect.
In five parts, this book explores:
- Availability: learn techniques for building highly available applications, and for tracking and improving availability going forward
- Risk management: identify, mitigate, and manage risks in your application, test your recovery/disaster plans, and build out systems that contain fewer risks
- Services and microservices: understand the value of services for building complicated applications that need to operate at higher scale
- Scaling applications: assign services to specific teams, label the criticalness of each service, and devise failure scenarios and recovery plans
- Cloud services: understand the structure of cloud-based services, resource allocation, and service distribution
Table of Contents
Part I, “Availability”
Chapter 1, What Is Availability?
Chapter 2, Five Focuses to Improve Application Availability
Chapter 3, Measuring Availability
Chapter 4, Improving Your Availability When It Slips
Part II, “Risk Management”
Chapter 5, What Is Risk Management?
Chapter 6, Likelihood Versus Severity
Chapter 7, The Risk Matrix
Chapter 8, Risk Mitigation
Chapter 9, Game Days
Chapter 10, Building Systems with Reduced Risk
Part III, “Services and Microservices”
Chapter 11, Why Use Services?
Chapter 12, Using Microservices
Chapter 13, Dealing with Service Failures
Part IV, “Scaling Applications”
Chapter 14, Two Mistakes High
Chapter 15, Service Ownership
Chapter 16, Service Tiers
Chapter 17, Using Service Tiers
Chapter 18, Service-Level Agreements
Chapter 19, Continuous Improvement
Part V, “Cloud Services”
Chapter 20, Change and the Cloud
Chapter 21, Distributing the Cloud
Chapter 22, Managed Infrastructure
Chapter 23, Cloud Resource Allocation
Chapter 24, Scalable Computing Options
Chapter 25, AWS Lambda
Part VI, “Conclusion”
Chapter 26, Putting It All Together