I’ve been meaning to read this book for a long time, and finally got the chance and finished it! It’s been a fantastic journey throughout the main important topics of modern software architecture.
Following the DRY principle, I won’t repeat myself, so here’s the review I left on good reads.Release It!: Design and Deploy Production-Ready Software by Michael T. Nygard
My rating: 5 of 5 stars
It’s a fantastic book about good software engineering from non-traditional viewpoints.
It takes another approach on good practices of software architecture: it considers more than just classic quality attributes, and it makes you think you to architect your system in a way that’s not only reliable and with good quality, but also easy to operate with. Concepts such as evolutionary architecture, adaptable architecture are reivewed throughout the chapters on the last section. In particular I enjoyed to read more about how to make the architecture easy to build and integrate continuously, deploy it safely to production, and make changes on it (because, of course, “change is the defining characteristic of software“). It finishes with a great introduction to chaos engineering.
It covers all important topics on good software architecture: stability patterns, deployability, security, how to avoid typical errors (like cascading failures, and what to do in such scenarios), 12-factor app, and more.
I really liked the concept of cynical software: rather than assuming everything is going to be fine, ask what could possible go wrong, and expect (and be prepared to) the software to fail. Failures will inevitable occur, and we have to think what to do about it.
As an experienced software engineering practitioner, it was highly enjoyable for me to read the case studies presented, as their analysis and conclusions were deeply enlightening.
All in all, a fantastic read, which gave me a lot of food for tought, and lots of materials and references to follow up on!
View all my reviews