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