Cover of Fundamentals of Software Architecture by Mark Richards, Neal Ford - Business and Economics Book

From "Fundamentals of Software Architecture"

Author: Mark Richards, Neal Ford
Publisher: O'Reilly Media
Year: 2020
Category: Computers

🎧 Free Preview Complete

You've listened to your free 10-minute preview.
Sign up free to continue listening to the full summary.

🎧 Listen to Summary

Free 10-min Preview
0:00
Speed:
10:00 free remaining
Chapter 7: Scope of Architecture Characteristics
Key Insight 2 from this chapter

Evolution of Architecture Characteristics Scope and Practical Application

Key Insight

The scope of architecture characteristics has significantly evolved from a traditional system-level view, largely applicable only to monolithic systems, towards a narrower, more granular scope. This shift is driven by modern engineering techniques that enable architectural styles like microservices. Historically, architects discussed characteristics such as scalability in terms of the entire system, but this approach has become outdated. The advent of modern architectures necessitates evaluating key operational concerns at a more localized level, allowing architects to identify challenges earlier and design hybrid architectures that better meet specific component needs.

Identifying architecture characteristics from system requirements demands careful analysis and often requires domain knowledge. For instance, requirements like 'nationwide scale,' supporting 'hundreds to thousands of participants,' and requiring 'real-time' operations directly imply scalability, elasticity (given the bursty nature of events like auctions), and performance. Security is implicitly crucial when handling sensitive data such as credit cards and becomes explicitly critical when a company has faced past issues like fraud. Conversely, requirements like 'participants must be tracked via a reputation index' often necessitate input from business analysts or subject matter experts, as they represent domain-specific details rather than universally abstract architecture characteristics like elasticity, which can be discussed independently of the application type.

The architecture quantum provides a crucial new scope, enabling architects to evaluate architecture characteristics at a granular, quantum-specific level rather than a broad system level. In an online auction case study, this granular approach reveals distinct characteristic needs across different quanta. For the 'Bidder feedback' quantum (encompassing bid and video streams), key characteristics are availability, scalability, and performance. The 'Auctioneer' quantum (for the live auctioneer) demands a broader set, including availability, reliability, scalability, elasticity, performance, and security. Meanwhile, the 'Bidder' quantum (for online bidders and bidding) primarily focuses on reliability, availability, scalability, and elasticity. This quantum-level analysis allows architects to strategically consider deployment, coupling, data residency, and communication styles for each part, facilitating the early design of hybrid architectures tailored to specific operational requirements.

📚 Continue Your Learning Journey — No Payment Required

Access the complete Fundamentals of Software Architecture summary with audio narration, key takeaways, and actionable insights from Mark Richards, Neal Ford.