Beautiful architecture
This book describes the elements of robust, elegant, flexible, and maintainable architectures by providing essays by leading software designers and architects on this topic. Each essay presents a notable software architecture and describes why it is appropriate for the environment which it was designed to support. The architects reveal how they developed their decisions, and highlight the influence of achitectures as the evolutionary growth of their systems unfolded. Some examples include:
- Facebook's data-centric application ecosystem
- Xen's unfolding as an operatintg system
- Community processes on theKDE project
- Design decisions which made Tandem the choice platform for high-availability applications
- Comparing and contrasting object-oriented and functional architectural views
- The effects of architectures on development.
The author, Grady Booch, introduces the book with an excellent overview of architectural principles... but the case studies which he provides really bring those principles to life. These principles can be further reinforced through a reading of Christopher Alexander's A Pattern Language. the patterns which Alexander describes are timeless forces that shape architectures in the same ways that Grady discusses.
Grady's podcasts of his IEEE Architecture columns are a useful supplement to this book in short, easily consumed chunks.
