From the book’s foreword by Gene Kim
We think Cloud Native Patterns is a pretty special book — one that is going to become a fixture on the desks of many developers. So we wanted to share the wonderful things that Gene Kim had to say in the book’s foreword, both about the book itself and its exceptional author: Cornelia Davis.
For six years, I’ve had the privilege of working with Nicole Forsgren and Jez Humble on the “State of DevOps Report,” which has collected data from more than 30,000 respondents. One of the biggest revelations for me was the importance of software architecture: high-performing teams had architectures that enabled developers to quickly and independently develop, test, and deploy value to customers, safely and reliably.
Decades ago, we could joke that software architects were expert only at using Visio, creating UML diagrams, and generating PowerPoint slides that no one ever looked at. If that were ever true, that is certainly not the case now. These days, businesses win and lose in the marketplace from the software they create. And nothing impacts the daily work of developers more than the architecture that they must work within.
This book fills a gap, spanning theory and practice. In fact, I think only a handful of people could have written it. Cornelia Davis is uniquely qualified, having spent years as a PhD student studying programming languages, having developed a love of functional programming and immutability, working for decades within large software systems, and helping large software organizations achieve greatness.
Over the past five years, I’ve reached out to her for help and advice many times, often about topics such as CQRS and event sourcing, LISP and Clojure (my favorite programming language), the perils of imperative programming and state, and even simple things like recursion.
What makes this book so rewarding to read is that Cornelia doesn’t just start with patterns. She starts with first principles, and then proves their validity through argumentation, sometimes through logic, and sometimes through flowcharts. Not satisfied with just theory, she then implements those patterns in Java Spring, iteration after iteration, incorporating what you’ve learned.
I found this book entertaining and educational, and learned an incredible amount on topics that I formerly had only a cursory understanding of. I am now committed to implementing her examples in Clojure, out of a desire to prove that I can put this knowledge into practice.
I suspect you’ll connect concepts that will delight and maybe even startle you. For me, one of those concepts was the need to centralize cross-cutting concerns, whether through aspect-oriented programming, Kubernetes sidecars, or Spring Retry injections.
I hope you find this book as rewarding to read as I did!
— Gene Kim, researcher and coauthor of
The Phoenix Project, The Devops Handbook,
Interested in seeing some of the book’s contents? Go check it out on our browser-based liveBook reader here!