Prose Supplements - Shop now
Add Prime to get Fast, Free delivery
Amazon prime logo
$39.17 with 44 percent savings
List Price: $69.99
FREE Returns
FREE delivery Saturday, March 29
Or Prime members get FREE delivery Tomorrow, March 25. Order within 19 hrs 5 mins.
In Stock
$$39.17 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
$$39.17
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
Ships from
Amazon.com
Amazon.com
Ships from
Amazon.com
Sold by
Amazon.com
Amazon.com
Sold by
Amazon.com
Returns
30-day refund/replacement
30-day refund/replacement
This item can be returned in its original condition for a full refund or replacement within 30 days of receipt.
Payment
Secure transaction
Your transaction is secure
We work hard to protect your security and privacy. Our payment security system encrypts your information during transmission. We don’t share your credit card details with third-party sellers, and we don’t sell your information to others. Learn more
Kindle app logo image

Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer - no Kindle device required.

Read instantly on your browser with Kindle for Web.

Using your mobile phone camera - scan the code below and download the Kindle app.

QR code to download the Kindle App

Follow the authors

Something went wrong. Please try your request again later.

Fundamentals of Software Architecture: An Engineering Approach 1st Edition

4.6 4.6 out of 5 stars 1,039 ratings

{"desktop_buybox_group_1":[{"displayPrice":"$39.17","priceAmount":39.17,"currencySymbol":"$","integerValue":"39","decimalSeparator":".","fractionalValue":"17","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"ya%2BKMGCW2rIudwQsY7H0WJeDk1au6QnUsXb8SesoIdy1WiI%2FPh7c%2BAziboshxcsgW2EjoQOWS3wXyN4MoFppxyvXPFThAywEdBMKBX4WxhkTPe78jlqMvkF0bUq3YspP%2BXpdXBQu3KrBnLfDle7fTw%3D%3D","locale":"en-US","buyingOptionType":"NEW","aapiBuyingOptionIndex":0}]}

Purchase options and add-ons

Salary surveys worldwide regularly place software architect in the top 10 best jobs, yet no real guide exists to help developers become architects. Until now. This book provides the first comprehensive overview of software architecture's many aspects. Aspiring and existing architects alike will examine architectural characteristics, architectural patterns, component determination, diagramming and presenting architecture, evolutionary architecture, and many other topics.

Mark Richards and Neal Ford-hands-on practitioners who have taught software architecture classes professionally for years-focus on architecture principles that apply across all technology stacks. You'll explore software architecture in a modern light, taking into account all the innovations of the past decade.

This book examines:

  • Architecture patterns: The technical basis for many architectural decisions
  • Components: Identification, coupling, cohesion, partitioning, and granularity
  • Soft skills: Effective team management, meetings, negotiation, presentations, and more
  • Modernity: Engineering practices and operational approaches that have changed radically in the past few years
  • Architecture as an engineering discipline: Repeatable results, metrics, and concrete valuations that add rigor to software architecture

There is a newer edition of this item:

Fundamentals of Software Architecture: A Modern Engineering Approach
$75.99
This title has not yet been released.

Frequently bought together

This item: Fundamentals of Software Architecture: An Engineering Approach
$39.17
Get it as soon as Saturday, Mar 29
In Stock
Ships from and sold by Amazon.com.
+
$34.00
Get it as soon as Saturday, Mar 29
In Stock
Ships from and sold by Amazon.com.
+
$45.67
Get it as soon as Saturday, Mar 29
In Stock
Ships from and sold by Amazon.com.
Total price: $00
To see our price, add these items to your cart.
Details
Added to Cart
spCSRF_Treatment
Choose items to buy together.

From the brand


From the Publisher

From the Preface

Mathematicians create theories based on axioms, assumptions for things indisputably true. Software architects build axioms as well, but the software world is, well, softer than mathematics: fundamental things continue to change at a rapid pace in the software world.

The software development ecosystem exists in a constant state of dynamic equilibrium: while it exists in a balanced state at any given point in time, it exhibits dynamic behavior over the long term. A great modern example of the nature of this ecosystem follows the ascension of containerization and the attendant changes wrought: tools like Kubernetes didn’t exist a decade ago, yet now entire software conferences exist to service its users. The software ecosystem changes fractally: one small change causes another small change; when repeated hundreds of time, it generates a new ecosystem.

Architects have an important responsibility to continue to question assumptions and axioms left over from previous eras. Many of the books about software architecture were written in an era that only barely resembles the current world.

In fact, the authors believe that we must question fundamental axioms on a regular basis, in light of improved engineering practices, operational ecosystems, software development processes—everything that makes up the messy, dynamic equilibrium where architects and developers work each day.

Careful observers of software architecture over time witnessed a slow evolution of capabilities. Starting with the engineer practices of eXtreme Programming, continuing with Continuous Delivery, the DevOps revolution, microservices, containerization, and now cloud-based resources, all of these innovations lead to new capabilities and tradeoffs. As a good illustration of this perspective shift, for many years, the tongue-in-cheek definition of software architecture was “the stuff that’s hard to change later”. Then, the microservices architecture style appeared, where change is a first-class design consideration.

Each new era requires new practices, tools, measurements, patterns, and a host of other changes. This book looks at software architecture in modern light, taking into account all the innovations from the last decade, along with some new metrics and measures suited to the new structures and perspectives now available.

This book won’t make someone a software architecture overnight—it’s a nuanced field with many facets. We want to provide existing and burgeoning architects a good modern overview of software architecture and its many aspects, from structure to soft skills. While this book covers well known patterns, we take a new approach, leaning on modern lessons learned, tools, engineering practices, and other input to build a modern book on software architecture.

Head First Software Architecture: A Learner's Guide to Architectural Thinking
Fundamentals of Software Architecture: A Modern Engineering Approach
Communication Patterns: A Guide for Developers and Architects
The Software Architect Elevator: Redefining the Architect's Role in the Digit...
Software Architecture: The Hard Parts: Modern Trade-Off Analyses for Distribu...
Facilitating Software Architecture: Empowering Teams to Make Architectural De...
Customer Reviews
4.7 out of 5 stars 28
4.4 out of 5 stars 13
4.7 out of 5 stars 369
4.5 out of 5 stars 590
5.0 out of 5 stars 3
Price $53.35 $75.99 $44.94 $44.94 $34.00 $52.99
What is it? Head First Software Architecture teaches you how to think architecturally and explores the unique challenges of software architecture, using a visually rich format to engage your mind. A comprehensive overview of aspects of software architecture including architectural characteristics, architectural patterns, diagramming and presenting architecture, evolutionary architecture, and more. A comprehensive guide to communicating software architecture. Learn how to successfully present your architecture and get stakeholders to jump on board. Learn how to combine organizational and technical knowledge in order to effect change in your company’s structure and processes. There are many hard parts in software architecture that force you to choose among various compromises. This book teaches you how to think critically about the trade-offs. Explore how teams can collaborate on the architectures of their systems to ensure that everyone and everything is working toward the same goal.
What you'll learn The distinction between architecture and design; the relationship between code, components, and architectural styles; and how to work with common architectural styles. How to use architecture patterns and make architectural decisions; how to use coupling, cohesion, partitioining, and granuality; soft skills; and engineering practices. How to design appropriate diagrams and documentation, and master written, verbal, and nonverbal communication to succeed in technical settings. How to work with an organization as a whole, connecting the IT engine room to the penthouse, where the business strategy is defined. How to determine service granularity, manage workflows and orchestration, manage and decouple contracts, and manage distributed transactions to how to optimize operational characteristics. How to create a collaborative, decentralized mindset that allows everyone to do architecture and build the best systems they've ever experienced.
Who is this book for? If you're a software developer looking for a quick on-ramp to software architecture, this handy guide is a great place to start. Senior software developers, aspiring and 'accidental' software architects, and software architects looking to solidify their knowledge. Software developers and software architects who want to learn how to communicate their architectures effectively. Software architects, senior developers, enterprise architects and senior technologists. Software architects who are ready to delve into the 'hard parts' of software architecture. Those who are in a position to affect change in how their software is architected and designed and are inclined to try something new.
Who else is it for? Those who want to gain an understanding of architectural dimensions and understand the differences between architecture and design. Those in other roles that need to understand the main concepts of software architecture. Those in other roles that work with software architecture and want to understand diagrams and documentation further. CTOs, senior technical architects and IT managers who are devising an IT strategy that impacts the way the organization works. Those in other roles who would like to understand more about the complex decisions in software architecture. Traditional decision-makers (aka architects) who know that ‘doing architecture the way we always have’ no longer works, as well as developers keen to step up and take on architecture responsibility.

Editorial Reviews

About the Author

Mark Richards is an experienced, hands-on software architect involved in the architecture, design, and implementation of microservices architectures, service-oriented architectures, and distributed systems in a variety of technologies. He has been in the software industry since 1983 and has significant experience and expertise in application, integration, and enterprise architecture. Mark is the founder of DeveloperToArchitect.com, a free website devoted to helping developers in the journey to becoming a software architect. He is the author of numerous technical books and videos, as well as a conference speaker and trainer, having spoken at hundreds of conferences and user groups around the world on a variety of enterprise-related technical topics.

Product details

  • Publisher ‏ : ‎ O'Reilly Media; 1st edition (March 3, 2020)
  • Language ‏ : ‎ English
  • Paperback ‏ : ‎ 422 pages
  • ISBN-10 ‏ : ‎ 1492043451
  • ISBN-13 ‏ : ‎ 978-1492043454
  • Item Weight ‏ : ‎ 1.48 pounds
  • Dimensions ‏ : ‎ 7 x 0.86 x 9.19 inches
  • Customer Reviews:
    4.6 4.6 out of 5 stars 1,039 ratings

About the authors

Follow authors to get new release updates, plus improved recommendations.

Customer reviews

4.6 out of 5 stars
1,039 global ratings

Review this product

Share your thoughts with other customers

Customers say

Customers find the book provides a good introduction to architecture and provides an excellent overview of different architectural styles. They find it a good read with excellent content and well-written writing style.

AI-generated from the text of customer reviews

Select to learn more

13 customers mention "Readability"11 positive2 negative

Customers appreciate the book's readability. They find the content excellent, with well-written and cohesive writing. However, some readers mention issues with print quality and lack of color.

"...This is not only cool for readability, but it inherently increases cohesion. A huge win for such a low cost...." Read more

"...Great writing, I'm keeping it as a reference book." Read more

"...As an architect it was a good read" Read more

"A masterpiece! , the best book to start creating a software architecture mindset" Read more

12 customers mention "Architecture"12 positive0 negative

Customers find the book a good introduction to software architecture. It provides a thought framework for reflecting on their current product, an excellent overview of different architectures, and a thorough window into the architect role. The book covers many details about various aspects of software architecture, including implementation details but a good idea of the structure, action, pros and cons. Readers mention it's useful as a reference text book, starting with definitions for the characteristics of a software architecture and then elaborating clearly.

"...It began with an explanation of the four pillars in software architecture. By doing so readers gain immediate value within the first few pages...." Read more

"...Now I'm better at understanding and communicating the architectural concerns of the systems I work on...." Read more

"...This book has certainly satisfied my curiosity about software architecture. However, I did observe some shortcomings...." Read more

"...It does this pretty gradual, starting with definitions for the characteristics of a software architecture and then elaborating clearly through..." Read more

Thorough overview of basics
5 out of 5 stars
Thorough overview of basics
The book is what it says: fundamentals... "just enough" of software architecture. Full of good advice for someone who already has some tech lead and design experience, but looking to move up in the hierarchy. General direction is more on breadth (architects) rather than on depth (developers). See picture for recommended study environment.
Thank you for your feedback
Sorry, there was an error
Sorry we couldn't load the review

Top reviews from the United States

  • Reviewed in the United States on December 14, 2021
    I read this book as an Associate SE and I gained a ton of knowledge. This book is extremely well written. I enjoyed the order in which the topics were presented. It began with an explanation of the four pillars in software architecture. By doing so readers gain immediate value within the first few pages. I particularly enjoyed the advocation for a domain partitioned folder structure as opposed to a technically partitioned folder structure, especially for front end developers. I believe navigating the code base should very much resemble navigating the UI. This is not only cool for readability, but it inherently increases cohesion. A huge win for such a low cost.

    After getting the foundations laid the authors explain different architecture styles. The part I found to be most useful was the charts they provided which give star ratings to highlight the strength and weaknesses of each architecture. This illustrates that architecture styles should be chosen for specific solutions and not trends. I gained the skills necessary to begin to think like an architect. It included breadth of knowledge which, as the book will tell you, is much more important than depth of knowledge for an architect. Then the authors decided to dive back in and elaborate a bit more on the foundations learned at the beginning. It suggested ADRs, another quick win for low costs. They also spoke about risks storming and offered friendly advice on finding balance within the teams.

    All in all, an amazing book. And at the end, the authors even presented tons of short answer questions to challenge readers and really take the lesson home.
    18 people found this helpful
    Report
  • Reviewed in the United States on July 18, 2024
    I read this book front to back and it solidified my understanding of a lot of architectural concepts. Now I'm better at understanding and communicating the architectural concerns of the systems I work on.

    If you're wondering where the blurry lines around architecture are, this book will help you build the mental model you're missing.

    Great writing, I'm keeping it as a reference book.
  • Reviewed in the United States on December 15, 2023
    Lacking education in software architecture, I've always desired to bridge that knowledge gap. I've attempted to learn through YouTube videos presented by university professors, but found them lacking. In an effort to enrich my understanding, I purchased this book. The authors, with their vast industry experience, provide invaluable insights. They emphasize the importance of breadth over depth in knowledge for architects and offer advice on navigating office politics to facilitate smooth team integration. The book intriguingly incorporates teachings from the ancient Chinese warrior, Sun Tzu, which I found particularly enlightening. This book has certainly satisfied my curiosity about software architecture.

    However, I did observe some shortcomings. I was anticipating a comprehensive exploration of a solid software architecture design example, but was disappointed. The book uses the failure of pets.com as a counter-example, and all the discussed cases pertain to web applications, like handling concurrent requests. Since software isn't exclusively about web apps, I found this to be a limitation. My personal project involves building a trading platform, and unfortunately, the book didn't provide much insight for this kind of venture, for which I had to deduct a point.

    As for the physical quality of the book, O'Reilly consistently delivers. The book feels good to hold and is printed in black and white. This isn't a problem, as all the images are legible without the need for color.
    5 people found this helpful
    Report
  • Reviewed in the United States on August 30, 2024
    The book does a great job at deconstructing the overall role of a software architect in an enterprise scenario. It does this pretty gradual, starting with definitions for the characteristics of a software architecture and then elaborating clearly through architectural styles and skills that are favorablr in certain contexts.

    A definite must read for anyone looking to understand the abstractions involved in both software architecture at an enterprise level and the role of a software architect.
    2 people found this helpful
    Report
  • Reviewed in the United States on October 8, 2024
    What is an architect? What do they do? What tools do they need? If you’re asking these questions, this is a fabulous place to start.
    One person found this helpful
    Report
  • Reviewed in the United States on November 7, 2021
    I'm not sure if it's the fact that I got burned by Building Evolutionary Architectures, co-authored by Neal Ford, or my previous experience with other "fundamentals" books which tended to be rather useless - my expectations were fairly low of this one but I'm glad I went ahead and read it.

    The book starts off by discussing what software architecture is, what the job entails, what the common misconceptions are and then for the remainder of the book covers both the technical and soft skills required for a person to become a good architect - how to maintain the technical know-how required by the job, what types of knowledge to focus on, how to detect, discuss and document the architecture, the reasons behind it and the trade-offs it entails, how to interact with your colleagues, both on the developer and the business side, how to resolve conflicts, nurture and promote constructive collaboration etc. So, as you can see, the authors try to cover a lot of ground without going too deep (and waking Durin's Bane) - and they do it successfully.

    That being said, the book isn't perfect, some chapters could have used more feedback, especially the event-driven architecture one, which felt a bit dated and like it came from someone who didn't have firsthand experience with it recently. Also, I can't really say that I truly discovered something new within its pages - which isn't necessarily a bad thing if, like here, the summary of the things you know is presented in such a way it actually reinforces the existing knowledge.
    11 people found this helpful
    Report

Top reviews from other countries

Translate all reviews to English
  • Ricardo Vasquez
    5.0 out of 5 stars Muy buen libro
    Reviewed in Mexico on November 11, 2023
    Para empezar a adentrarse al tema
    Report
  • Graham
    4.0 out of 5 stars Great but needs an editor
    Reviewed in Canada on January 8, 2023
    There are really good tips and insights in here, backed up by helpful diagrams. Too bad it’s wrapped up in obtuse, wordy sentences and full of typos.
  • Joao Antunes
    5.0 out of 5 stars Ótima compra
    Reviewed in Brazil on October 17, 2024
    Ótima compra
  • Alejandro Alonso
    5.0 out of 5 stars Buen libro
    Reviewed in Spain on November 10, 2024
    Buen libro
  • Luca
    5.0 out of 5 stars Mark Richards una garanzia!
    Reviewed in Italy on May 11, 2024
    L’autore tratta in maniera eccellente le architetture software a 360 gradi, il libro è utile sia per chi si approccia per la prima volta in questo ambito sia per chi vuole approfondire.