Release It!, Michael T. Nygard

I read the Release It! book recently.

The center of the book is building production-ready software. Being on production might be very different from our local, test, staging, any other non-production environments, so we should be aware of potential problems that we might face on the production and we should be ready for them.

Software design as taught today is terribly incomplete. It only talks about what systems should do. It doesn’t address the converse—what systems should not do. They should not crash, hang, lose data, violate privacy, lose money, destroy your company, or kill your customers.

The book covers lots of concepts, some of them are low-level details, some of them are high-level things, so the book is heavy in this manner, it tries to cover many aspects of being on the production; stability, security, deployment, the adaption of changes.

There are some chapters about some cases that the author experienced. I like these cases because they are real rather than theoretical, it makes me more integrated into the content.

I like the first part of the book, Create Stability. The book mentioned some anti-patterns about stability first, then it expresses the stability patterns to not fall into the anti-patterns side. It created much more awareness about stability patterns that I already know. If you don’t follow a checklist you can easily forget some of these patterns while building your software. These patterns cover different things like application integrations, resource usages, thread usages, user request expectations, etc.

The most remarkable thing for me is about resiliency, especially in a service-oriented environment: Your service should not harm any other service and any other service should not harm your service! Enterprise software must be cynical. So, you need to take some actions to achieve this; circuit breakers, timeouts, back pressure, converting to async communication, or using a front queue for sync communications.

I think it would be great if I can review this book from time to time to keep my awareness up.


comments powered by Disqus