Conclusion

As time passes, software grows ever more complex. We’ve grown accustomed to products that put the information and tools we want to use at our fingertips across multiple devices, anywhere on the globe, while supporting billions of users. Most of the time, they just work.

But if you’ve ever built one of these software systems, you know the enormity of the effort required. These systems are built by hundreds or thousands of people in efforts that span years or decades. They don’t “just work”—they work thanks to massive, coordinated efforts over time.

How do you design such a system? Keep track of its components? Manage its evolution? These are the challenges that define software architecture as a discipline. It’s architecture that gives ...

Get Effective Software Architecture: Building Better Software Faster now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.